Você está na página 1de 43

Entrada e Sada Aula 1 Reviso SCI

Karina S. Machado

Introduo
O computador executa basicamente 2 tarefas:
Processamento E/S

O SO na E/S tem como funo: gerenciar e controlar as operaes de entrada e sada assim como os dispositivos; So basicamente de 3 tipos. Quais?
Armazenamento : Discos Transmisso: placas de rede, modem Interface humana: mouse/teclado

1. Princpios do Hardware de E/S 1.1 Dispositivos de E/S


So divididos em duas categorias:
Dispositivos de blocos: armazena informao em blocos de tamanho fixo, cada um com seu endereo (acessados de forma independente)
Ex: HD, CD-ROM, pen-drives

Dispositivos de caractere: envia e recebe fluxos de caracteres, sem considerar qualquer estrutura de blocos. No enderevel e no dispe de operao de posicionamento.
Ex: impressora, interfaces de redes, mouses

Dispositivo USB 2.0 Rede sem Fio Carto flash compacto Disco SATA CD ROM 52x

Taxa 60 MB/s 6,75 MB/s 40 MB/s 300 MB/s 7,8 MB/s

Dispositivo USB 2.0 Rede sem Fio Carto flash compacto Disco SATA CD ROM 52x

Taxa 60 MB/s 6,75 MB/s 40 MB/s 300 MB/s 7,8 MB/s

1.2 Controladores de Dispositivos


Componente mecnico Componente eletrnico controlador do dispositivo ou adaptador. (geralmente uma placa)

1.2 Controladores de Dispositivos


Componente mecnico Componente eletrnico controlador do dispositivo ou adaptador. (geralmente uma placa)

Contolador: converter o fluxo serial de bits em um bloco de bytes e executar toda a correo de erro necessria. Esse bloco montado em um buffer dentro do dispositivo.

Interface entre controlador e dispositivo: 1.2 Controladores de Dispositivos Nvel muito baixo Disco formatado em 10 mil setores de 512 bytes por Componente mecnico trilha Componente entregue pela unidade do O que realmente eletrnico controlador de disco um dispositivo ou adaptador. comeando uma um fluxo serial de bits (geralmente com placa) prembulo, depois 4096 bits em um setor e por fim uma soma de verificao. Contolador: converter o fluxo serial de bits em um bloco de bytes e executar toda a correo de erro necessria. Esse bloco montado em um buffer dentro do dispositivo.

1.2 Controladores de Dispositivos


Tarefas do controlador
converter fluxo serial de bits em bloco de bytes executar toda correo de erro necessria tornar o bloco disponvel para ser copiado para a memria principal

Ex: controlador de vdeo Ele l os bytes da memria que contem caracteres para serem mostrados no vdeo e gera os sinais usados para modular o feixe do que escrito na tela.

1.3 E/S mapeada


Registradores para comunicao com a CPU
Escrita nos registradores: SO comanda o dispositivo para aceitar ou entregar dados, ligar e desligar ou executar outra tarefa;

Buffer de dados Como ocorre essa comunicao (com registradores e buffers):


1. Porta de E/S: cada registrador de controle associado a um nmero de porta IN REG, PORT (le no registrador de controle PORT e armazena o resultado em REG)

1.3 E/S mapeada


Registradores para comunicao com a CPU
Escrita nos registradores: SO comanda o dispositivo para aceitar ou entregar dados, ligar e desligar ou executar outra tarefa;

Buffer de dados Como ocorre essa comunicao (com registradores e buffers):


1. Porta de E/S: cada registrador de controle associado a um nmero de porta IN REG, PORT (le no registrador de controle PORT e armazena o resultado em REG)

1. Porta de E/S
A porta composta por 4 registradores:
Registrador de entrada de dados Registrador de sada de dados Registrador de status: contm bits com estados, de que determinado comando terminou ou no Registrador de controle:
Inicia um comandou Altera o modo de um dispositivo

1.3 E/S mapeada na memria


2. E/S mapeada na memria Consistem em mapear todos os registradores de controle no espao de endereamento da memria.
Cada registrador de controle associado a um endereo nico ao qual nenhuma memria associada. Em geral esses endereos esto associados no topo do espao de endereamento

Esquema hbrido: buffers mapeados na memria e portas de E/S separadas para os registradores de controle

1.3 E/S mapeada na memria


2. E/S mapeada na memria Consistem em mapear todos os registradores de controle no espao de endereamento da memria.
Cada registrador de controle associado a um endereo nico ao qual nenhuma memria associada. Em geral esses endereos esto associados no topo do espao de endereamento

Esquema hbrido: buffers mapeados na memria e portas de E/S separadas para os registradores de controle

1.3 E/S mapeada na memria


2. E/S mapeada na memria Consistem em mapear todos os registradores de controle no espao de endereamento da memria.
Cada registrador de controle associado a um endereo nico ao qual nenhuma memria associada. Em geral esses endereos esto associados no topo do espao de endereamento

Esquema hbrido: buffers mapeados na memria e portas de E/S separadas para os registradores de controle

1.3 E/S mapeada na memria


Como funcionam esses esquemas????
1. PORTAS E/S: CPU quer ler uma palavra:
Coloca o endereo de que precisa nas linhas de endereo do barramento e emite um sinal de READ Um segundo sinal enviado para indicar se para ler de E/S ou memria.

2. E/S na memria: cada mdulo de memria e dispositivo de E/S comparam as linhas com sua faixa de endereos.

1.3 E/S mapeada na memria


Vantagens
-Registradores de controle so variveis - no necessrio nenhum cdigo assembly para acessar E/S - no precisa de proteo especial

Desvantagens
-Cache: usar para registradores de controle desastroso necessidade de desabilitar a cache - o espao de endereamento nico todos os mdulos so verificados

1.4 Acesso direto a memria DMA


Consiste em um chip especial que controla o fluxo de bits entre a memria e algum controlador sem interveno constante da CPU. A CPU configura o chip informando:
Quantos bytes sero transferidos Os endereos do dispositivo e de memria envolvidos

Quando o chip DMA termina causa uma interrupo;

1.4 Acesso direto a memria DMA


DMA contm registradores:

-endereo: -Contador de bytes -Controle (1 ou +): - porta em uso ; - se leitura ou escrita - total de bytes a serem transferidos - unidade de transferncia

1.4 Acesso direto a memria DMA Exemplo: leitura de um bloco do disco


1. CPU programa o controlador: escreve valores em seus registradores.
Emite um comando para o disco carregar as informaes no buffer.

1.4 Acesso direto a memria DMA


2. O controlador inicializa a transferncia emitindo uma requisio de leitura para o controlador de disco 3. Inicia a escrita na memria

1.4 Acesso direto a memria DMA


4. Quando a escrita est completa, o controlador envia um sinal pelo barramento
O controlador incrementa o endereo de memria e diminui o contador de bytes.

1.5 Interrupes revisitadas


Nem todos os computadores usam DMA
CPU muito mais rpida DMA em HW custoso, principalmente em sistemas embarcados.

INTERRUPES: mecanismo de HW que permite a um dispositivo notificar a CPU. A CPU possui um fio chamado linha de requisio de interrupo que consultada aps executar cada instruo.
Quando um controlador envia um sinal para esta linha , a CPU realiza um salvamento de estado e desvia para uma rotina do tratador de interrupo, em um endereo fixo

1.5 Interrupes revisitadas


1. O dispositivo termina sua tarefa => gera uma interrupo sinal pela linha de barramento ao qual est associado.

1.5 Interrupes revisitadas


2. Esse sinal detectado pelo chip controlador de interrupo na placa me. H outra interrupo pendente?
NO: o controlador processa a interrupo; SIM: o dispositivo ignorado neste momento

1.5 Interrupes revisitadas


2. (cont) Para tratar a interrupo , o controlador coloca um nmero nas linhas de endereo especificando qual dispositivo requer ateno e repassa um sinal para interromper a CPU

1.5 Interrupes revisitadas


3. O sinal de interrupo faz com que a CPU pare aquilo que est fazendo e inicie outra atividade => o nmero nas linhas de endereo usado como ndice em um vetor de interrupes

1.5 Interrupes revisitadas


3. (cont) A rotina de tratamento de interrupo confirma a interrupo => a confirmao diz ao controlador que ele est livre para repassar outra interrupo

1.5 Interrupes revisitadas


O que feito antes da CPU parar tudo e tratar a interrupo?
O HW salva certas informaes: o que e onde depende da CPU = no mnimo PC, alguns registradores visveis, etc. ONDE?
registradores internos Pilha problemas: de quem a pilha?

1.5 Interrupes revisitadas


Interrupes precisas e no precisas

320 No executada 316 No executada 312 Concluda PC 308 Concluida 304 Concluida 300 Concluda

PC

320 No executada 316 30 % concluda 312 20 % concluda 308 60 % concluda 304 80 % concluda 300 Concluda

2. Princpios do software de E/S 2.1 Objetivos do Software de E/S


independncia do dispositivo: deveria ser possvel escrever programas aptos a acessar qualquer dispositivo de E/S sem a necessidade de especificar antecipadamente o dispositivo:
Exemplo: ler da mesma forma um arquivo de um disco, cdrom, dvd, pendrive, etc.

Nomeao uniforme: o nome de um arquivo ou dispositivo deve ser simplesmente uma cadeia de caracteres ou um numero inteiro, totalmente independente do dispositivo.

2. Princpios do software de E/S 2.1 Objetivos do Software de E/S


Tratamento de erros: Tratar o mais prximo possvel do hardware:
Exemplo: o controlador encontra um erro na leitura, ele deveria tentar corrigi-lo por si prprio. Se ele no conseguir, ento o driver deve fazer.

Tipo de transmisso:
Sncrona (bloqueante): aps uma chamada de E/S o programa suspenso at a operao acabar Assncrona (orientada a interrupo): CPU inicia a E/S e segue outra atividade at receber uma interrupo.

2. Princpios do software de E/S 2.1 Objetivos do Software de E/S


Utilizao de buffer para armazenamento temprrio: Quando os dados no podem ser armazenados direto no destino
Exemplo: pacote chega da rede, o SO ainda no sabe onde armazena-lo antes do mesmo ser examinado Alguns dispositivos tem restries severas de tempo real, como dispositivos de audio.

Dispositivos compartilhados e dedicados:


Discos: devem ser utilizados por vrios usurios (impasses devem ser gerenciados) Fita: somente um usurio por vez.

2.2 E/S Programada


Existem 3 formas de realizar E/S
E/S programada E/S baseada em interrupo E/S usando DMA E/S programada: a forma mais simples -> a CPU faz todo o trabalho. EXEMPLO: usurio quer imprimir a cadeia de caracteres ABCDEFGH

2.2 E/S Programada


1. O processo do usurio monta a cadeia de caracteres em 1 buffer no espao do usurio
Requisita impressora por uma system call Retorna o cdigo de erro ou bloqueio at que a mesma esteja disponvel

2.2 E/S Programada


2. De posse da impressora o processo do usurio:
Executar uma system call para imprimir a cadeia de caracteres SO copia o buffer com a cadeia para um vetor no espao do ncleo Impressora disponvel?
NO: espera SIM: SO copia o 1 caracter para o registrador de dados da impressora e marca o 2 como prximo

2.2 E/S Programada


3. Logo que imprime o 1 caractere verifica se a impressora est pronta para o prximo
Quando pronta -> imprime o prximo caractere

4. Esse lao continua at o final do contedo do buffer.

2.2 E/S Programada


Script para representar esses passos:
Buffer : contedo do processo de usurio a ser impresso P: vetor da impressora Cont: total de caracteres a serem impressos

2.3 E/S usando interrupo


1. Quando feita uma system call para impresso, o buffer copiado para o espao do ncleo do sistema operacional (igual a E/S programada) 2. Nesse ponto a CPU chama o escalonador e outro processo executado O processo que solicitou impresso fica bloqueado

3. Quando a impressora imprimiu 1 caractere e est pronta para o prximo, gera uma interrupo 4. Essa interrupo detm o processo atual e salva seu estado 5. A rotina de tratamento de interrupo executada 6. Se no existem mais caracteres para imprimir, o tratador de interrupo desbloqueia o processo do usurio.

2.3 E/S usando interrupo


Script:

2.4 E/S usando DMA


Desvantagem da E/S com interrupo?
Gerar uma interrupo a cada caractere

Soluo: DMA: O controlador de DMA que alimenta a impressora sem que a CPU seja perturbada.
DMA E/S programada, mas todo o trabalho do controlador de DMA e no da CPU

VANTAGEM: reduzir o nmero de interrupes de 1 por caractere, para uma por buffer DESVANTAGEM: mais lento que a CPU

2.4 E/S usando DMA


Script:

RESUMO
1. Princpios do Hardware de E/S
1.1 Dispositivos de E/S

1.2 Controladores de Dispositivos 1.3 E/S mapeada (3 formas portas/memria/misto) 1.4 Acesso direto a memria DMA 1.5 Interrupes revisitadas 2. Princpios do software de E/S 2.1 Objetivos do Software de E/S 2.2 E/S Programada 2.3 E/S usando interrupo 2.4 E/S usando DMA

Você também pode gostar