SOP - TADS Fundamentos de Sistemas Operacionais Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão – Ultima aula • O que é um SO – Duas visões • Características das 4 gerações • Tipos de SO • Conceitos – – – – – Processo Deadlock (impasses) Gerenciamento de memória Gerenciamento de Arquivos Chamadas de sistemas 1 Cronograma • Revisão de Hardware • Organização de SO Revisão de Hardware [1/9] • Componentes de um Computador 2 Revisão de Hardware [2/9] • Processador [1/2]: – Ciclo: Busca-Decodifica-Executa • • • – – Memória: Acesso lento Uso de registradores Registradores: • • • • – Buscar a primeira instrução na memória Decodifica para determinar seus operandos e qual operação executar Executa a operação Propósito geral: Variáveis e resultados temporários Contador de programa: Endereço de memória da próxima instrução a ser buscada Ponteiro de Pilha: Indica o topo da pilha (memória) do programa corrente em execução PSW (Program Status Word): Quais as interrupções habilitadas e qual o modo de operação da CPU Evolução do modo simples (uma instrução por vez) Melhor desempenho (a) Pipeline de três estágios (b) Uma CPU superescalar Revisão de Hardware [3/9] • Processador [2/2] – Pode trabalhar em dois modos de operação (Em geral, definido no PSW): • Modo Núcleo (kernel ou supervisor) – A CPU pode executar qualquer instrução – A CPU tem acesso a qualquer atributo de seu hardware – O SO executa em modo núcleo • Modo Usuário – Acesso a um subconjunto de instruções – Acesso a um subconjunto de atributos – Instruções que envolvem E/S e proteção de memória são inacessíveis ao modo usuário – Chaveamento entre modos: • Trap: usuário núcleo – Chamada de sistema: » O Programa solicita ao SO que realize determinada operação – Traps de hardware (exceções) » Ex.: Tentativa de dividir por 0, O SO decide o que fazer após o aviso de hardware • Instrução: Núcleo Usuário – O SO retorna ao programa o controle sobre as instruções 3 Revisão de Hardware [4/9] • Memória [1/3] – Segundo principal componente – Idealmente, deveria ser rápida (não atrasando assim a CPU), deveria ser grande e barata • Nenhuma tecnologia é capaz de atingir esses requisitos (Simultaneamente) – Memória é construída como uma hierarquia de camadas • Camada superior: Maior velocidade, menor capacidade, maior custo por bit Revisão de Hardware [5/9] • Memória [2/3] – Estrutura hierárquica – Valores aproximados 4 Revisão de Hardware [6/9] • Memória [3/3] – Disco: • Custo por bit é 2 vezes mais barato que a RAM • Acesso é 3 vezes mais lento (dispositivo mecânico) Os pratos metálicos giram a uma velocidade determinada (5400, 7200...) As leituras são feitas pelas cabeças em regiões circulares chamadas trilhas. Todas as trilhas de uma posição formam um cilindro Cada trilha é dividida em setores (512 bytes) Revisão de Hardware [7/9] • Dispositivos de E/S [1/2] – Composto de duas partes: • Controlador – Chip ou conjunto de chips que controla o dispositivo – Registradores de dados, controle, status • Dispositivo – Interfaces simples Devem ser padronizados – Ex.: Qualquer controlador IDE pode controlar qualquer disco IDE – Driver de dispositivo • • • • Cada controlador é diferente São necessários programas para controlá-los Fornecido pelo fabricante do dispositivo Executam em modo núcleo para ter acesso ao dispositivo – Modos de operação • E/S Programada – Chamada de Sistema, Aguarda o dispositivo terminar a operação • Interrupções – Aguarda uma interrupção do controlador para sinalizar o término • DMA (Direct Memory Access) – Chip, controla o fluxo de bits entre memória e controlador sem intervenção constante da CPU 5 Revisão de Hardware [8/9] • Dispositivos de E/S [2/2] 3. Se estiver preparado, sinaliza à CPU 4. O controlador põe o número do dispositivo no barramento, para que a CPU saiba quem terminou 2. O controlador inicializa o 1. O driver informa ao controlador o que deve ser feito a) b) dispositivo, quando ele termina, o controlador sinaliza Passos para iniciar um dispositivo de E/S e obter uma interrupção Como é feita a interrupção Revisão de Hardware [9/9] • Barramentos 528 MB/s 160 MB/s 1,5 a 60 MB/s 16,67 MB/s 6 Cronograma • Revisão de Hardware • Organização de SO Organização de SO [1/8] • Como o sistema operacional é organizado internamente • Dividido em 4 estruturas clássicas: – Monolítico – Em camadas – Máquinas virtuais – Cliente/Servidor 7 Organização de SO [2/8] • Sistemas Monolíticos [1/2] – O SO é visto como um único programa em modo núcleo – Composto por uma coleção de rotinas (procedimentos) – Invocação Livre: • Cada rotina é livre para chamar qualquer outra – As rotinas podem visualizar as outras rotinas – Confiabilidade – Bom desempenho Organização de SO [3/8] • Sistemas Monolíticos [2/2] – Procedimentos de serviço implementam as chamadas de sistema – Procedimentos utilitários realizam tarefas para os procedimentos de serviço, como buscar dados de programas 8 Organização de SO [4/8] • Sistemas em camadas [1/2] – Cada camada é responsável por determinada função – Interfaces bem definidas entre camadas – Cada camada utiliza dos serviços da camada inferior – Necessita suporte do hardware – Exemplos: THE, MULTICS Organização de SO [5/8] • Sistemas em camadas [2/2] – Estrutura do sistema operacional THE (Holandês) – O MULTICS era descrito como uma série de anéis, cada anel interno era mais privilegiado que o externo 9 Organização de SO [6/8] • Máquinas virtuais • • • • • O MMV fornece uma abstração do hardware para as MVs Isolamento entre MVs Diferentes Sistemas operacionais nas MVs Desempenho depende do suporte do hardware Consolidação de Servidores Organização de SO [7/8] • Modelo Cliente-Servidor [1/2] – Funcionalidades do núcleo particionadas • Micronúcleo (Microkernel) • Servidores no espaço de usuário – Comunicação por troca de mensagens – Algumas (poucas) funções exigem modo núcleo – Confiabilidade vs Desempenho 10 Organização de SO [8/8] • Modelo Cliente-Servidor [2/2] – Modelo cliente-servidor pode se adaptar a idéia de sistemas distribuído – A Web se enquadra nesta idéia • Um cliente solicita uma página, o servidor retorna a página ao cliente Próxima Aula • Processos – Cap. 2.1 – Exercícios Fork() 11 Bibliografia • Andrew S. Tanenbaum. Sistemas Operacionais Modernos, 3a Edição. Capítulo 1.Pearson Prentice-Hall, 2009. 12