SOP - TADS Fundamentos de Sistemas Operacionais Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br 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 Buscar a primeira instrução na memória Decodifica para determinar seus operandos e qual operação executar Executa a operação Memória: Acesso lento Uso de registradores Registradores: 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 1. O driver informa ao controlador o que deve ser feito 2. O controlador inicializa o dispositivo, quando ele termina, o controlador sinaliza a) Passos para iniciar um dispositivo de E/S e obter uma interrupção b) Como é feita a interrupção Revisão de Hardware [9/9] Barramentos 528 MB/s 160 MB/s 16,67 MB/s 1,5 a 60 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 Processos Cap. 2.1 Exercícios Fork() Próxima Aula 11
Bibliografia Andrew S. Tanenbaum. Sistemas Operacionais Modernos, 3a Edição. Capítulo 1.Pearson Prentice-Hall, 2009. 12