Capítulo 5 - Instituto de Informática - UFGeduardo/so/slides/cap-05-e-s.pdf · Entrada e Saída...
Transcript of Capítulo 5 - Instituto de Informática - UFGeduardo/so/slides/cap-05-e-s.pdf · Entrada e Saída...
1
1
Entrada e Saída (Input/Output)
Capítulo 5
1. Princípios de Hardware de E/S2. Princípios de Software de E/S3. Camadas de software de E/S4. Discos5. Relógios6. Terminais Orientados a caracteres7. Interfaces Gráficas8. Terminais de Rede9. Administração de Energia
2
Princípios de Hardware de E/S
2
3
Controladores de DispositivosDispositivos de E/S têm componentes:
MecânicosEletrônicos
O componente eletrônicos é a Controladora de dispositivo
Pode estar apto a controlar múltiplosdispositivos
Tarefas da ControladoraConverter o fluxo serial de bits em um bloco de bytesRealizar correção de erros quando for necessário
4
E/S Mapeada em MemóriaMemoryMemory--Mapped I/OMapped I/O (1)
Separa espaços de E/S e memóriaE/S mapeada em memóriaHíbrida
3
5
E/S Mapeada em MemóriaMemoryMemory--Mapped I/OMapped I/O (2)
(a) Arquitetura com barramento único(b) Arquitetura com barramento dual
6
Direct Memory Access (DMA)
Operação de uma Transferência porDMA
4
7
Interrupções
Como as interrupções ocorrem: As conexões entredispositivos e e controladores de interrupçõesusam linhas de interrupção no barramento e nãofios dedicados
8
Princípios de software de E/SObjetivos de software de E/S (1)
Independência de DispositivosProgramas podem acessar qualquerdispositivo de E/S sem especificar o dispositivo antecipadamente
· (floppy, hard drive, ou CD-ROM)
Nomeação uniformeNome de um dispositivo ou arquivo é umastring ou um inteiro independente damáquina
Administração de erroTratado tão próximo ao hardware quantopossível
5
9
Objetivos de software de E/S (2)Transferências síncronas vs assíncronas
Transferências bloqueante vs. dirigidas porinterrupção
BufferingDados que saem de um dispositivo não podem ser armazenadas no destino final
Dispositivos compartilhados vs dedicados sDiscos são compartilháveisFitas não
10
E/S Programável (1)
Passoa para imprimir uma string
6
11
E/S Programável(2)
Escrevendo uma string em umaimpressora usando E/S programável
12
E/S baseada em interrupção
Escrevendo uma string usando E/S baseada eminterrupção
Código executado quando a chamada de sistema de impressão é feitaProcedimento de serviço da interrupção
7
13
E/S usando DMA
Escrevendo uma string usando E/S usandoDMA
Código executado quando a chamada de sistema de impressão é feitaProcedimento de serviço da interrupção
14
Camadas de Software de E/S
8
15
Administradores de Interrupção (1)São melhores escondidos
O driver que inicia a operação de E/S ébloqueado até que a interrupção notifique o seu término
Procedimento de interrupção executa suatarefa
Então desbloqueia o driver que a começouPassos que devem ser realizados emsoftware após o término da interrupção:
1. Salvar registradores não salvos pelo HW 2. Iniciar o contexo para o procedimento de serviço da interrupção
16
Interrupt Handlers (2)3. Iniciar a pilha para a rotina de serviço4. ACK a controladora de interrupção, reabilitar
as interrupções5. Copiar os registradores de onde foram salvos6. Executar a rotina de serviço7. Setar o contexto da MMU para o próximo
processo a rodar8. Carregar registradores do novo processo9. Iniciar a execução do novo processo
9
17
Device Drivers
A prosição lógica dos device drivers é mostrada aquiComunicação entre drivers e controladoras de dispositivos ocorre pelo barramento
18
SW de E/S independente de dispositivo (1)
Funções do software de E/S independente de dispositivo
Proporciona um tamanho de blocoindependente de dispositivo
Alocação e liberação de dispositivosdedicados
Informes de Erros
Buffering
Interfaceamento uniforme paradevice drivers
10
19
SW de E/S independente de dispositivo(2)
(a) Sem uma interface de driver padrão(b) Com uma interface de driver padrão
20
SW de E/S independente de dispositivo(3)
(a) Entrada sem buffer(Unbuffered )(b) Buffering no espaço do usuário(c) Buffering no kernel seguida de cópia para o espaço
do usuário(d) Buffering duplo no kernel
11
21
SW de E/S independente de dispositivo(4)
Networking pode involver muitas cópias
22
Software de E/S do espaço do usuário
Camadas do sistema de E/S e as funções principais de cada camada
12
23
DiscosHardware de disco(1)
24
Hardware de disco(2)
Geometria física para um disco com duas zonasUma possível geometria virtual para o disco
13
25
Hardware de disco(3)
Raid níveis 0 até 2 Discos de backup e paridade sãosombreados
26
Hardware de disco(4)
Raid níveis 3 até 5 Discos de backup e paridade são sombreados
14
27
Hardware de disco(5)
Estrutura de gravação de um CD ou CD-ROM
28
Hardware de disco (6)
layout lógico de dados em um CD-ROM
15
29
Hardware de disco(7)
Seção de um CD-R e laserFora de escala
CD-ROM prata tem estrutura similarSem camada de pintura (dye)Com alumínio no lugar de ouro
30
Hardware de disco(8)
DVD com Duplo lado, camada dupla
17
33
Formatação de Disco(2)
Deslocamento de Cilindro
34
Formatação de Disco(3)
Sem interleavingInterleaving simplesInterleaving duplo
18
35
Algoritmos de escalonamentode braço (1)Tempo de leitura/escritadeterminado por:
1. Seek 2. Atraso Rotacional3. Tempo de transferência
Tempo de seek dominaVerificação de erros é feita peloscontroladores
36
Algoritmos de escalonamentode braço(2)
Shortest Seek First (SSF)
Initialposition
Pendingrequests
19
37
Algoritmos de escalonamentode braço(3)
Elevador
38
Administração de erro
Trilha com setor defeituosoSubstituindo um setor defeituoso por um reservaDeslocando todos os setores para “pular” o defeituoso
20
39
Armazenamento estável
Análise de crashes em escritas estáveis
40
Relógios para a terceira prova
21
41
Relógios (clock)Clock Hardware
Um clock programável
42
Clock Software (1)
3 formas de manter a hora
22
43
Clock Software (2)
Simulando temporizadores múltiplos com um único clock
44
Temporizadores SoftUm segundo relógio disponível parainterrupções de temporizadores
Especificado por aplicaçõesNão há problemas se a frequencia de interrupçõesé baixa
Temporizadores Soft evitam interrupçõesO kernel checa se um soft timer exprirou antes derretornar ao modo usuárioA qualidade como os temporizadores funcionamdepende da taxa de entradas do kernel
23
45
Terminais orientados a caracteresHardware do Terminal RS-232
Um terminal RS-232 comunica-se com o computador 1 bit por vezChamado uma linha serial os bits saem em série, 1 bit por vezWindows usa portas COM1 e COM2 ports, primeiro para linhasseriaisComputador e terminal são completamento independentes
46
Buffer pool centralBuffer dedicado para cada terminal
Software de Entrada(1)
24
47
Software de Entrada (2)
Caracteres administrados de modoespecial
48
Software de saída
As seqüências de escape ANSI Aceitos pelo driver do terminal na saídaESC é o caracter ASCII 27(0x1B)n,m, e s são parâmetgros numéricos opcionais
25
49
Display Hardware (1)
Displays mapeados em memóriaO driver escreve diretamente na memóriaRAM do display
Parallel port
50
Display Hardware (2)
Uma imagem de vídeo RAMDisplpay monocromo simples Modo caracter
Tela correspondenteos xs são bytes de atributos
26
51
Software de entradaO driver do teclado entrega umm número
O driver o converte para caracteresUsa uma tabela ASCII
Exceções, adaptações sãorequeridas para outras linguagens
Diversos Soá permitem mapas de caracteres carregáveis (loadable keymaps) ou páginas de código
52
Software de saída para Windows (1)
Amostra de janela localizada em (200,100) emum display XGA
27
53
Software de saída para Windows(2)
“Moldura” de um programa principal Windows (parte 1)
54
Software de saída para Windows(3)
“Moldura” de um programa principal Windows (parte 2)
28
55
Software de saída para Windows(4)
Exemplo de um retângulo desenhadousando Rectangle
56
Software de saída para Windows(5)
Copia usando BitBlt.antesdepois
29
57
Software de saída para Windows(6)
Exemplo de caracteres usando differentestamanhos
58
Terminais de RedeX Windows (1)
Clientes e servidores no X Window Uma tela poded ser mostrada em qq máquina
30
59
X Windows (2)
“Moldura” de uma aplicação X- Windows
60
Exercício
Usar o linux do laboratório para rodar um processo em uma máquina e a tela em outra
31
61
O terminal de rede SLIM (1)
A arquitetura do sistema de Terminais SLIM
62
O terminal de rede SLIM (2)
Messages used in the SLIM protocol from the server to the terminals
32
63
Administração de energia (1)
Consumo de energia dos diversos componentesde um laptop
64
Administração de energia(2)
O uso de zonas para iluminar o display por trás
33
65
Power Management (3)
Roda na velocidade plena do clockCortando a voltagem à metade
A velocidade do clock é divididaem meioO uso de energia é reduzida a ¼
66
Administração de energia(4)Determinas aos programas que usemmenso energia
Pode significar redução da qualidade para o usuário
ExemplosMudar de colorido para P&BRedução do vocabulário de um programa de reconhecimento de falaMenor resolução ou detalhe em uma imagem