Sistemas Operacionais Marcos Laureano 1/25 Roteiro • • • • • • Hardware Estrutura de um sistema operacional Interrupções Proteção do núcleo Níveis de privilégio Chamadas de sistema 2/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 3/25 1 Estrutura de um Sistema Operacional Aplicativos Programas Utilitários Nível sistema Núcleo Código de Inicialização Software Nível usuário Drivers de Dispositivo Controladora de Dispositivos Hardware Dispositivos físicos 4/25 Hardware Processador / UCP Unidade Lógica e Aritmética Unidade de Controle Memória Principal Registradores Dispositivos de E/ S 5/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. 6/25 2 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 7/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 8/25 Barramento Memória Principal UCP Barr amento processador-memória Adaptador Barramento de E/ S Barramento de E/ S Adaptador 9/25 3 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 10/25 Memória Registradores Memória Cache maior capacidade de armazenamento Memória Principal maior custo e velocidade de acesso Memória Secundária 11/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 12/25 4 Arquitetura de um Computador Memória Processador MMU Mouse Teclado Controladora USB Monitor Unidade de disco Conexão de rede Controladora de vídeo Controladora de disco Controladora de rede dados endereços 13/25 controle 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) 14/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. 15/25 5 Interrupção memória 1 4 Programa em execução 5 6 Rotina de tratamento da interrupção 2 Processador dados Controladora de rede MMU 5 endereços 16/25 controle 3 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. 17/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). Aplicação 3 Não utilizado 2 Não utilizado 1 Sistema Operacional 0 CPU Intel x86 18/25 6 Separação entre núcleo e as aplicações Nível usuário Aplicação Aplicação Aplicação Aplicação Núcleo Nível núcleo Hardware 19/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. 20/25 System Calls Aplicação System Call Núcleo Núcleo Hardware 21/25 7 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. 22/25 Chamada a uma rotina de acesso 23/25 Application Programming Interface • Conjunto de chamadas de sistema oferecidas por um núcleo é chamada de API – API Win32 (Windows) – POSIX (Unix/Linux) 24/25 8 Dúvidas • “O Mundo está cheio de apáticos, mas eu não ligo.” (anônimo) 25/25 9