Prévia do material em texto
1/25 Sistemas Operacionais Marcos Laureano 2/25 Roteiro • Hardware • Estrutura de um sistema operacional • Interrupções • Proteção do núcleo • Níveis de privilégio • Chamadas de sistema 3/25 Hardware • Mono-processadores atuais seguem um padrão definido na década de 40 por János (John) Von Neumann – Arquitetura Von Neumann • Programa armazenado – Programa a ser executado reside na memória junto com os dados 4/25 Estrutura de um Sistema Operacional Controladora de Dispositivos Dispositivos físicos Hardware Software Aplicativos Programas Utilitários Nível usuário Nível sistema Núcleo Código de Inicialização Drivers de Dispositivo 5/25 Hardware Memória Principal Dispositivos de E/ S Processador / UCP Unidade Lógica e Aritmética Registradores Unidade de Controle 6/25 Processador • É o núcleo do sistema de computação. • Responsável por continuamente ler as instruções e dados da memória ou de periféricos, processá-los e enviar os resultados de volta a memória ou outros periféricos. 7/25 Processador • Unidade Central de Processamento (UCP ou CPU) • Unidade de Controle (UC) • Unidade Lógica e Aritmética (ULA) • Clock – Memórias de alta velocidade 8/25 Barramento • Ocorre todas as transferências de dados. • Barramento de endereços – Indica a posição de memória (ou dispositivo) a acessar • Barramento de controle – Indica a operação a efetuar (leitura ou escrita) • Barramento de dados – Transporta a informação indicada entre o processador e a memória ou controlador de dispositivo 9/25 Barramento Barramento processador-memória Ba rr am en to d e E/ S Ba rr am en to d e E/ S Adaptador Adaptador Memória Principal UCP 10/25 MMU • Memory Management Unit (Unidade de Gerência de Memória) • Responsável por analisar cada endereço solicitado pelo processador, validá-los, efetuar conversões de endereçamento necessárias e executar a operação solicitada pelo processador – leitura ou escrita de uma posição de memória 11/25 Memória maior capacidade de armazenamento maior custo e velocidade de acesso Memória Secundária Memória Cache Memória Principal Registradores 12/25 Dispositivos • Memória secundária – Discos – Fitas magnéticas • Interface usuário-máquina – Teclados – Impressoras • Outros dispositivos – Placa de vídeo – Dispositivos USB’s • São acessados através de circuitos específicos denominados controladores 13/25 Arquitetura de um Computador controle endereços dados Processador MMU Memória Controladora USB Mouse Teclado Controladora de vídeo Monitor Controladora de disco Controladora de rede Unidade de disco Conexão de rede 14/25 Interrupções • Quando um controlador de periférico possui uma informação importante para fornecer ao processador – Aguarda até que o processador o consulte – Notifica o processador através do barramento de controle • Requisição de interrupção (IRQ – Interrupt ReQuest) 15/25 Interrupção 1. O processador está executando um programa qualquer (em outras palavras, um fluxo de execução); 2. Um pacote vindo da rede é recebido pela placa Ethernet; 3. A placa envia uma solicitação de interrupção (IRQ) ao processador; 4. O processamento é desviado do programa em execução para a rotina de tratamento da interrupção 5. A rotina de tratamento é executada para receber as informações da placa de rede (via barramentos de dados e de endereços) e atualizar as estruturas de dados do sistema operacional; 6. A rotina de tratamento da interrupção é finalizada e o processador retorna à execução do programa que havia sido interrompido. 16/25 Interrupção controle endereços dados Processador MMU Controladora de rede Programa em execução memória 1 Rotina de tratamento da interrupção 4 6 2 5 5 3 17/25 Proteção ao Núcleo • Certas instruções não podem estar disponíveis para as aplicações, pois isso poderia ocasionar um sério problema de integridade no sistema. – Por exemplo, um acesso ao disco rígido para gravação de um arquivo. 18/25 Níveis de privilégio • Então, existe 2 tipos de instruções: instruções privilegiadas e instruções não-privilegiadas. • O processador implementa 2 modos de acesso: modo usuário e o modo kernel (ou supervisor). CPU Intel x86 Sistema Operacional Aplicação Não utilizado Não utilizado 0 1 2 3 19/25 Separação entre núcleo e as aplicações Hardware Núcleo Nível núcleo Nível usuário Aplicação Aplicação Aplicação Aplicação 20/25 Chamadas de Sistema • São portas de entrada para se ter acesso ao núcleo do sistema operacional. • Exemplo: quando o usuário deseja algum serviço, realiza uma chamada a uma de suas rotinas através de system calls (chamadas ao sistema). • Para cada serviço existe um system call associada e cada sistema operacional tem o seu próprio conjunto de chamadas. 21/25 System Calls Aplicação System Call Núcleo Hardware 22/25 Syscalls - Grupos de Função • Gerência de Processos – Criação e eliminação de processos, alteração das características do processo e sincronização e comunicação entre processos. • Gerência de memória – Alocação e desalocação de memória. • Gerência de entrada/saída – Operações de entrada e saída e manipulação de arquivos e diretórios. 23/25 Chamada a uma rotina de acesso 24/25 Application Programming Interface • Conjunto de chamadas de sistema oferecidas por um núcleo é chamada de API – API Win32 (Windows) – POSIX (Unix/Linux) 25/25 Dúvidas • “O Mundo está cheio de apáticos, mas eu não ligo.” (anônimo)