Capítulo 5 - Instituto de Informática - UFGeduardo/so/slides/cap-05-e-s.pdf · Entrada e Saída...

34
1 1 Entrada e Saída (Input/Output) Capítulo 5 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 2 Princípios de Hardware de E/S

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

16

31

Próxima aula

32

Formatação de Disco (1)

Um setor de disco

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

34

67

Dúvidas sobre exercícios

Próxima sexta (29/08/03)

68

Trabalho de arquivos