Capítulo 5 Entrada e Saída (Input/Output) 1. Princípios de Hardware de E/S 2. Princípios de Software de E/S 3. Camadas de software de E/S 4. Discos 5. Relógios 6. Terminais Orientados a caracteres 7. Interfaces Gráficas 8. Terminais de Rede 9. Administração de Energia 1 Princípios de Hardware de E/S 2 1
Controladores de Dispositivos Dispositivos de E/S têm componentes: Mecânicos Eletrônicos O componente eletrônicos é a Controladora de dispositivo Pode estar apto a controlar múltiplos dispositivos Tarefas da Controladora Converter o fluxo serial de bits em um bloco de bytes Realizar correção de erros quando for necessário 3 E/S Mapeada em Memória Memory-Mapped Mapped I/O (1) Separa espaços de E/S e memória E/S mapeada em memória Híbrida 4 2
E/S Mapeada em Memória Memory-Mapped Mapped I/O (2) (a) (b) Arquitetura com barramento único Arquitetura com barramento dual 5 Direct Memory Access (DMA) Operação de uma Transferência por DMA 6 3
Interrupções Como as interrupções ocorrem: As conexões entre dispositivos e e controladores de interrupções usam linhas de interrupção no barramento e não fios dedicados 7 Princípios de software de E/S Objetivos de software de E/S (1) Independência de Dispositivos Programas podem acessar qualquer dispositivo de E/S sem especificar o dispositivo antecipadamente (floppy, hard drive, ou CD-ROM) Nomeação uniforme Nome de um dispositivo ou arquivo é uma string ou um inteiro independente da máquina Administração de erro Tratado tão próximo ao hardware quanto possível 8 4
Objetivos de software de E/S (2) Transferências síncronas vs assíncronas Transferências bloqueante vs. dirigidas por interrupção Buffering Dados que saem de um dispositivo não podem ser armazenadas no destino final Dispositivos compartilhados vs dedicados s Discos são compartilháveis Fitas não 9 E/S Programável (1) Passoa para imprimir uma string 10 5
E/S Programável(2) Escrevendo uma string em uma impressora usando E/S programável 11 E/S baseada em interrupção Escrevendo uma string usando E/S baseada em interrupção Código executado quando a chamada de sistema de impressão é feita Procedimento de serviço da interrupção 12 6
E/S usando DMA Escrevendo uma string usando E/S usando DMA Código executado quando a chamada de sistema de impressão é feita Procedimento de serviço da interrupção 13 Camadas de Software de E/S 14 7
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 sua tarefa Então desbloqueia o driver que a começou Passos que devem ser realizados em software 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 15 Interrupt Handlers (2) 3. Iniciar a pilha para a rotina de serviço 4. ACK a controladora de interrupção, reabilitar as interrupções 5. Copiar os registradores de onde foram salvos 6. Executar a rotina de serviço 7. Setar o contexto da MMU para o próximo processo a rodar 8. Carregar registradores do novo processo 9. Iniciar a execução do novo processo 16 8
Device Drivers A prosição lógica dos device drivers é mostrada aqui Comunicação entre drivers e controladoras de dispositivos ocorre pelo barramento 17 SW de E/S independente de dispositivo (1) Interfaceamento uniforme para device drivers Buffering Informes de Erros Alocação e liberação de dispositivos dedicados Proporciona um tamanho de bloco independente de dispositivo Funções do software de E/S independente de dispositivo 18 9
SW de E/S independente de dispositivo(2) (a) Sem uma interface de driver padrão (b) Com uma interface de driver padrão 19 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 seguidade cópiaparao espaço do usuário (d) Buffering duplo no kernel 20 10
SW de E/S independente de dispositivo(4) Networking pode involver muitas cópias 21 Software de E/S do espaço do usuário Camadas do sistema de E/S e as funções principais de cada camada 22 11
Discos Hardware de disco(1) 23 Hardware de disco(2) Geometriafísicaparaum disco com duaszonas Uma possível geometria virtual para o disco 24 12
Hardware de disco(3) Raid níveis 0 até 2 Discos de backup e paridade são sombreados 25 Hardware de disco(4) Raid níveis 3 até 5 Discos de backup e paridade são sombreados 26 13
Hardware de disco(5) Estrutura de gravação de um CD ou CD-ROM 27 Hardware de disco (6) layout lógico de dados em um CD-ROM 28 14
Hardware de disco(7) Seção de um CD-R e laser Fora de escala CD-ROM prata tem estrutura similar Sem camada de pintura (dye) Com alumínio no lugar de ouro 29 Hardware de disco(8) DVD com Duplo lado, camada dupla 30 15
Próxima aula 31 Formatação de Disco (1) Um setor de disco 32 16
Formatação de Disco(2) Deslocamento de Cilindro 33 Formatação de Disco(3) Sem interleaving Interleaving simples Interleaving duplo 34 17
Algoritmos de escalonamento de braço (1) Tempo de leitura/escrita determinado por: 1. Seek 2. Atraso Rotacional 3. Tempo de transferência Tempo de seek domina Verificação de erros é feita pelos controladores 35 Algoritmos de escalonamento de braço(2) Initial position Pending requests Shortest Seek First (SSF) 36 18
Algoritmos de escalonamento de braço(3) Elevador 37 Administração de erro Trilha com setor defeituoso Substituindo um setor defeituoso por um reserva Deslocando todos os setores para pular o defeituoso 38 19
Armazenamento estável Análise de crashes em escritas estáveis 39 Relógios para a terceira prova 40 20
Relógios (clock) Clock Hardware Um clock programável 41 Clock Software (1) 3 formas de manter a hora 42 21
Clock Software (2) Simulando temporizadores múltiplos com um único clock 43 Temporizadores Soft Um segundo relógio disponível para interrupções de temporizadores Especificado por aplicações Não há problemas se a frequencia de interrupções ébaixa Temporizadores Soft evitam interrupções O kernel checa se um soft timer exprirou antes der retornar ao modo usuário A qualidade como os temporizadores funcionam depende da taxa de entradas do kernel 44 22
Terminais orientados a caracteres Hardware do Terminal RS-232 Um terminal RS-232 comunica-se com o computador 1 bit por vez Chamado uma linha serial os bits saem em série, 1 bit por vez Windows usa portas COM1 e COM2 ports, primeiro para linhas seriais Computador e terminal são completamento independentes 45 Software de Entrada(1) Buffer pool central Buffer dedicado para cada terminal 46 23
Software de Entrada (2) Caracteres administrados de modo especial 47 Software de saída As seqüências de escape ANSI Aceitos pelo driver do terminal na saída ESC é o caracter ASCII 27(0x1B) n,m, e s são parâmetgros numéricos opcionais 48 24
Display Hardware (1) Parallel port Displays mapeados em memória O driver escreve diretamente na memória RAM do display 49 Display Hardware (2) Uma imagem de vídeo RAM Displpay monocromo simples Modo caracter Tela correspondente os xs são bytes de atributos 50 25
Software de entrada O driver do teclado entrega umm número O driver o converte para caracteres Usa uma tabela ASCII Exceções, adaptações são requeridas para outras linguagens Diversos Soá permitem mapas de caracteres carregáveis (loadable keymaps) ou páginas de código 51 Software de saída para Windows (1) Amostra de janela localizada em (200,100) em 52 um display XGA 26
Software de saída para Windows(2) Moldura de um programa principal Windows (parte 1) 53 Software de saída para Windows(3) Moldura de um programa principal Windows (parte 2) 54 27
Software de saída para Windows(4) Exemplo de um retângulo desenhado usando Rectangle 55 Software de saída para Windows(5) Copia usando BitBlt. antes depois 56 28
Software de saída para Windows(6) Exemplo de caracteres usando differentes tamanhos 57 Terminais de Rede X Windows (1) Clientes e servidores no X Window Uma tela poded ser mostrada em qq máquina 58 29
X Windows (2) Moldura de uma aplicação X- Windows 59 Exercício Usar o linux do laboratório para rodar um processo em uma máquina e a tela em outra 60 30
O terminal de rede SLIM (1) A arquitetura do sistema de Terminais SLIM 61 O terminal de rede SLIM (2) Messages used in the SLIM protocol from the server to the terminals 62 31
Administração de energia (1) Consumo de energia dos diversos componentes de um laptop 63 Administração de energia(2) O uso de zonas para iluminar o display por trás 64 32
Power Management (3) Roda na velocidade plena do clock Cortando a voltagem à metade A velocidade do clock é dividida em meio O uso de energia é reduzida a ¼ 65 Administração de energia(4) Determinas aos programas que usem menso energia Pode significar redução da qualidade para o usuário Exemplos Mudar de colorido para P&B Redução do vocabulário de um programa de reconhecimento de fala Menor resolução ou detalhe em uma imagem 66 33
Dúvidas sobre exercícios Próxima sexta (29/08/03) 67 Trabalho de arquivos 68 34