Buscar

9 Principios de Hardware e Software de Entrada e Saída

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

Continue navegando

Outros materiais