Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS Princípios de Hardware e Software de Entrada e Saída Ana Cristina A. Oliveira Dantas ana.oliveira@ifpb.edu.br IFPB – Instituto Federal da Paraíba Campus Campina Grande Princípios de Hardware de Entrada e Saída Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 2 Mais uma tarefinha para o SO Gerencia processos Inclusive decidindo quem vai ganhar a CPU Gerencia a memória Proteção, mapeamento e alocação Gerencia dispositivos de entrada e saída Emitir comandos para os dispositivos, tratar interrupções e erros, fornecer interface entre os dispositivos e o resto do sistema Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 3 Visão geral do hardware de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 4 Como controlar dispositivos tão variados? Dispositivos de armazenamento, de transmissão e de interface com usuários Dispositivos de bloco Armazena informação em blocos de tamanho fixo Cada bloco pode ser lido/escrito independentemente dos demais Exemplo: HD, fita magnética Dispositivos de caractere Envia/recebe fluxo de caracteres Exemplo: mouse, impressora, interface de rede Como são estes dispositivos? Duas partes Controlador do dispositivo Dispositivo Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 5 Controladores de dispositivos Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 6 Um ou mais chips em uma placa controladora Pequenos computadores programados para lidar com o dispositivo Interface entre dispositivo e controladora é de nível muito baixo Complexa e cheia de detalhes específicos Interface entre controladora e SO pode ser mais simples Recebe comandos do sistema operacional O SO vê a interface da controladora e não a do dispositivo Controladores de Dispositivos 7 Componentes de dispositivos de E/S mecânico eletrônico O componente eletrônico é o controlador do dispositivo pode ser capaz de tratar múltiplos dispositivos Tarefas do controlador converter fluxo serial de bits em bloco de bytes executar toda correção de erro necessária tornar o bloco disponível para ser copiado para a memória principal Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas Como estes dispositivos se comunicam com o computador? Comunicação se dá através do envio de sinais por barramento(s) Protocolo de barramento Que mensagens podem ser enviadas pelos fios? Aplicação de voltagens elétricas aos fios durante determinados intervalos de tempo Barramentos PCI, ISA, de memória... Cada um com sua freqüência e capacidade próprias Ex. ISA: 8,33 MHz e transfere 2 bytes por vez (16,67 MB/s) Ex. PCI: 66 MHz e transfere 8 bytes por vez (528 MB/s) Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 8 Princípios do Hardware de E/S 9 Taxas de dados típicas de dispositivos, redes e barramentos Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas Comunicação com controladores Registradores de controle (nos controladores) Buffers de dados (nos dispositivos) É por meio desses registradores/buffers que o SO comanda os dispositivos Saber o estado do dispositivo Enviar comandos para serem executados Como a CPU tem acesso a esses registradores e buffers? Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 10 Usar portas de E/S Cada registrador é associado a uma porta de E/S Devem haver instruções especiais para lidar com essas portas IN REG,PORT (lê da porta para o registrador na CPU) OUT PORT,REG (escreve do registrador para a porta) Espaços de endereçamento diferentes para memória e E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 11 1) Espaços de memória e E/S separados Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 12 IN R0,4 ≠ MOV R0,4 2) E/S mapeada na memória Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 13 Mapeia registradores de controle no espaço de endereçamento da memória São usadas as mesmas instruções que lêem/escrevem dados da memória Quando a CPU quer ler uma palavra ela coloca o endereço em questão nas linhas de endereço do barramento e emite um sinal READ nas linhas de controle Cada dispositivo de E/S compara as linhas de endereço com a faixa de endereços que lhe está atribuído e se for esse o caso responde ao pedido Entrada e saída mapeada na memória Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 14 3) Sistema híbrido Buffers de dados de E/S são mapeados na memória Portas de E/S estão associadas aos registradores de controle Pentium usa essa arquitetura Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 15 Sistema híbrido Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 16 Mapeamento de E/S 17 a) Espaços de memória e E/S separados b) E/S mapeada na memória c) Híbrido Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas Comunicação Entre Dispositivos 18 (a) Arquitetura com barramento único (b) Arquitetura com barramento dual Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas Formas diferentes de realizar E/S 1. Espera ocupada (ou ociosa) 2. Interrupções 3. Acesso direto à memória Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 19 E/S com espera ocupada Programa do usuário gera uma chamada ao sistema Essa chamada é para uma operação de E/S O driver desse dispositivo comunica-se com o controlador do dispositivo programando-o para realizar a operação desejada Drivers: partes do SO que conversam com os controladores dos dispositivos O driver fica em loop perguntando se a operação terminou Após terminada os resultados são passados para o programa chamador Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 20 Interrupções Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 21 Não tem o problema de uso desnecessário da CPU Controlador de interrupções Recebe os sinais de interrupção dos dispositivos Pode decidir se vai tratar ou ignorar a interrupção Se for tratar envia o sinal para a CPU O que a CPU faz quando recebe um sinal? CPU recebeu uma interrupção Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 22 CPU verifica linha de requisição de interrupção após término de cada instrução Armazena alguns valores referentes ao seu estado Desvia execução para uma rotina de tratamento de interrupções (rotina privilegiada do núcleo) Tratador de interrupções Identifica o tipo de interrupção que ocorreu Executa o processamento necessário para tratar a interrupção Executa instrução de retorno de interrupção Interrupções em SOs modernos Desabilitar interrupções em fases críticas de processamento Operações em semáforos Mecanismo eficiente para passar o controle para o tratador de interrupções correto Permitir interrupções com prioridades Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 23 Acesso direto à memória (Direct Memmory Access – DMA) Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 24 Precisa de controlador de DMA O controlador de DMA tem acesso ao barramento independentemente da CPU Controla fluxo de bits entre memória e controladores de dispositivos sem auxílio da CPU CPU programa o controlador DMA Quantidade de bytes a ser transferida, endereço do dispositivo envolvido, direção da transferência Controladora DMA gera interrupção quando termina a tarefa Controladores DMA Tem acesso ao barramento independentemente da CPU e contémvários registradores Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 25 Leitura no disco sem DMA 1. Controladora do disco é programada para fazer a leitura (pelo driver) 2. Controladora do disco: i. Lê um bloco do dispositivo e o armazena no buffer interno e verifica ocorrência de erros ii. Gera uma interrupção 3. Tratador de interrupção traz o bloco do buffer do disco para memória Passos 1 e 3 precisam da CPU Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 26 Leitura de disco com DMA Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 27 Boas e más notícias… Os aspectos de E/S são muito mais complexos do que o que acabamos de ver quando considerado o nível de projeto do hardware Para nós, alguns conceitos já são suficientes: Barramento, controladoras, registradores de controle, comunicação entre CPU e controladoras, E/S por espera ocupada, por interrupções e usando DMA Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 28 Revisitando interrupções Quando um dispositivo de E/S termina seu trabalho ele gera uma interrupção Envia um sinal pela linha do barramento ao qual está ligado O sinal é recebido pelo chip controlador de interrupção que está na placa mãe Processar imediatamente a interrupção transmitindo-a para a CPU Ignorar o sinal Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 29 Revisitando interrupções O controlador de interrupções passa um número para a CPU Indica o índice em uma tabela chamada vetor de interrupção Um novo contador de programa é encontrado (aponta para o início da rotina de tratamento desta interrupção) A rotina de tratamento confirma a interrupção Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 30 Como ocorre uma interrupção? Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 31 Dados precisam ser trocados entre dispositivos de E/S e a CPU Como uma leitura no disco pode ser feita? O controlador do disco lê um bloco bit a bit do disco e armazena num buffer do controlador Verifica se não ocorreu erro de leitura Gera interrupção O SO trata a interrupção lendo dados do buffer do controlador para a memória Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 32 Princípios do software de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 33 Objetivos do software de E/S Independência do dispositivo SO é que deve lidar com as diferenças Nomeação uniforme Tratamento de erros Operações de E/S síncronas e assíncronas Buferização temporária dos dados Dispositivos compartilhados e dedicados Facilitar a programação de aplicações que precisam realizar operações de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 34 Como realizar E/S? 1. E/S programada 2. E/S orientada à interrupção 3. E/S usando DMA Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 35 E/S programada Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 36 Desvantagens da E/S programada Usa espera ocupada Simples, mas segura a CPU por todo o tempo em que a E/S está sendo feita Ineficiente especialmente quando a CPU poderia estar realizando outras atividades Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 37 E/S orientada à interrupção Permite que a CPU faça outra coisa enquanto a operação de E/S é realizada Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 38 Desvantagens E/S orientada à interrupção Interrupções podem ocorrer com muita freqüência Interrupções consomem tempo de CPU Possível solução: acesso direto à memória (DMA) Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 39 E/S usando DMA O controlador de DMA manda os caracteres para a impressora sem perturbar a CPU É E/S programada em que o controlador de DMA faz o trabalho que antes seria da CPU Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas 40 Bibliografia 41 ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora Prentice-Hall, 2ª Edição, 2003. ISBN: 8587918575 Capítulo 5: Entrada/Saída Sistemas Operacionais - E/S - Prof. Ana Cristina Dantas SISTEMAS OPERACIONAIS Princípios de Hardware e Software de Entrada e Saída Ana Cristina A. Oliveira Dantas ana.oliveira@ifpb.edu.br IFPB – Instituto Federal da Paraíba Campus Campina Grande
Compartilhar