24
Entrada e Saída Entrada e Saída Sistemas Operacionais Sistemas Operacionais

Entrada Saida

Embed Size (px)

DESCRIPTION

Aula sobre Entrada e Saida, livro Sistemas operacionais modernos - Andrew Tanenbaum.

Citation preview

Page 1: Entrada Saida

Entrada e SaídaEntrada e SaídaSistemas OperacionaisSistemas Operacionais

Page 2: Entrada Saida

O que é Gerência O que é Gerência de E/S?de E/S?

Um dos principais componentes de um Um dos principais componentes de um SOSO

Interface com outros sistemas Interface com outros sistemas

Compreende um grupo de componentes Compreende um grupo de componentes responsáveis pelo processamento de responsáveis pelo processamento de informações de entrada e por emitir informações de entrada e por emitir saída para uma grande variedade de saída para uma grande variedade de dispositivos.dispositivos.

Page 3: Entrada Saida

O que é Gerência O que é Gerência de E/S?de E/S?

A gerência de E/S fornece uma A gerência de E/S fornece uma interface padrão para o kernel de forma interface padrão para o kernel de forma independente do tipo de dispositivo de independente do tipo de dispositivo de E/S.E/S.

Exemplo disto temos o HD, floppy, CD, Exemplo disto temos o HD, floppy, CD, Memória USB, e todos o usuário vê Memória USB, e todos o usuário vê como se fosse um tipo de sistema ou como se fosse um tipo de sistema ou solução.solução.

Page 4: Entrada Saida

Funções da Funções da Gerência de E/SGerência de E/S

Responsável pelo(s):Responsável pelo(s):

acessos ao sistema de arquivos;acessos ao sistema de arquivos;

gerenciamento da cache de dados do SO;gerenciamento da cache de dados do SO;

drivers de dispositivos,drivers de dispositivos,

driver de rede.driver de rede.

Page 5: Entrada Saida

Princípios de Princípios de HardwareHardware

Os princípios de hardware permitem Os princípios de hardware permitem compreender o funcionamento interno compreender o funcionamento interno dos dispositivos de entrada e saída de dos dispositivos de entrada e saída de modo à auxiliar na programação de tais modo à auxiliar na programação de tais dispositivos.dispositivos.

Page 6: Entrada Saida

Dispositivos de Dispositivos de E/SE/S

Os dispositivos de E/S são divididos, Os dispositivos de E/S são divididos, em duas categorias: em duas categorias:

dispositivos de bloco (estruturados) edispositivos de bloco (estruturados) e

dispositivos de caracter (não-dispositivos de caracter (não-estruturados).estruturados).

Page 7: Entrada Saida

Dispositivos de Dispositivos de E/SE/S

Dispositivos de bloco (estruturado)Dispositivos de bloco (estruturado)

Informações armazenadas em blocos de Informações armazenadas em blocos de tamanho fixo(normalmente, entre 128 tamanho fixo(normalmente, entre 128 bytes e 1024 bytes), cada qual com seu bytes e 1024 bytes), cada qual com seu endereço próprio. No livro SO 512 a endereço próprio. No livro SO 512 a 32.768.32.768.

Possibilitam a leitura ou escrita de cada Possibilitam a leitura ou escrita de cada bloco independentemente.bloco independentemente.

Ex: discos (HD, CD-ROM, disquete, etc.). Ex: discos (HD, CD-ROM, disquete, etc.).

Page 8: Entrada Saida

Dispositivos de Dispositivos de E/SE/S

Dispositivos de caracter (não-Dispositivos de caracter (não-estruturado)estruturado)

Liberam ou aceitam seqüências de Liberam ou aceitam seqüências de caracteres sem nenhuma estrutura de caracteres sem nenhuma estrutura de bloco.bloco.

Não são endereçáveis e não aceitam Não são endereçáveis e não aceitam operação de seek. operação de seek.

Ex: terminais, impressoras, interfaces de Ex: terminais, impressoras, interfaces de rede, mouses.rede, mouses.

Page 9: Entrada Saida

Controladores de Controladores de DispositivosDispositivos

As unidades de E/S são constituídas de As unidades de E/S são constituídas de duas partes distintas:duas partes distintas:

Eletrônica (controlador ou adaptadora): Eletrônica (controlador ou adaptadora): normalmente uma placa de circuito normalmente uma placa de circuito impresso que pode ser inserida na impresso que pode ser inserida na máquina.máquina.

Mecânica: o dispositivo propriamente Mecânica: o dispositivo propriamente dito.dito.

Page 10: Entrada Saida

Controladores de Controladores de DispositivosDispositivos

Cada controladora tem uns poucos Cada controladora tem uns poucos registradores que são usados na registradores que são usados na comunicação com o processador.comunicação com o processador.

O SO realiza E/S, escrevendo comandos O SO realiza E/S, escrevendo comandos nos registradores das controladoras.nos registradores das controladoras.

Os SO lidam diretamente com o Os SO lidam diretamente com o controlador e não com o dispositivo.controlador e não com o dispositivo.

Page 11: Entrada Saida

Controladores de Controladores de DispositivosDispositivos

Page 12: Entrada Saida

COMO FUNCIONA! COMO FUNCIONA! 2 formas.2 formas.

Via polling – Se chegou dados , deve ser Via polling – Se chegou dados , deve ser lido!lido!

via Interrupção – driver I/O.via Interrupção – driver I/O.

Page 13: Entrada Saida

Via pollingVia pollingComo saber se tem dados? Criar um Como saber se tem dados? Criar um programa que monitora esta saída programa que monitora esta saída serial? Ou monitorar os registradores serial? Ou monitorar os registradores de status!de status!

Temos o TX e RX, similar a idéia do Temos o TX e RX, similar a idéia do modem!modem!

Page 14: Entrada Saida

Via interrupçãoVia interrupçãoOutra forma de saber, com uma interrupção.Outra forma de saber, com uma interrupção.

Neste caso o dispositivo de I/O, “ avisa” , Neste caso o dispositivo de I/O, “ avisa” , interrompendo a CPU, sinalizando a interrompendo a CPU, sinalizando a necessidade.necessidade.

Então a CPU para sua execução de programa Então a CPU para sua execução de programa e trabalha com a leitura do caráter de I/Oe trabalha com a leitura do caráter de I/O

Controle este assíncrono, porque a CPU não Controle este assíncrono, porque a CPU não tem de estar monitorando esta interface. tem de estar monitorando esta interface.

Page 15: Entrada Saida

Exemplos de Exemplos de Controladores de Controladores de

discodiscoIDEIDE

SCSISCSI

SATASATA

SATA2SATA2

Page 16: Entrada Saida

Mas e ai como Mas e ai como funciona o trem?funciona o trem?Todo mundo aqui já ouviu falar de “formatar” o Todo mundo aqui já ouviu falar de “formatar” o HD?HD?

Nada mais é do que criar um preâmbulo no Nada mais é do que criar um preâmbulo no disco, que irá informar a Controladora de Disco disco, que irá informar a Controladora de Disco de onde vem a informação. de onde vem a informação.

No disco é escrito com endereços (trilhas, No disco é escrito com endereços (trilhas, setores,tamanho, etc.).setores,tamanho, etc.).

Então quando o disco é lido, o controlador Então quando o disco é lido, o controlador recebe as informações do preâmbulo + dados + recebe as informações do preâmbulo + dados + ECCECC

ECC é (Error-Correcting Code)ECC é (Error-Correcting Code)

Page 17: Entrada Saida

Mas e ai como Mas e ai como funciona o trem?funciona o trem?Após o recebimento um buffer (espaço Após o recebimento um buffer (espaço na memória) monta bit a bit as na memória) monta bit a bit as informações recebidas.informações recebidas.

É feita um verificação das informações É feita um verificação das informações (ECC)(ECC)

E se estiver tudo certo, encaminhado E se estiver tudo certo, encaminhado para a memória principal.para a memória principal.

Só isso.Só isso.

Page 18: Entrada Saida

PesquisarPesquisarComo funciona para o Vídeo???Como funciona para o Vídeo???

Como escrever na tela????????Como escrever na tela????????

Page 19: Entrada Saida

TECNICAS PARA TECNICAS PARA GERENCIAR.GERENCIAR.

DMA – Direct Memory AccessDMA – Direct Memory Access

Muitos controladores, especialmente os que Muitos controladores, especialmente os que operam em blocos, suportam DMA. operam em blocos, suportam DMA.

Vejamos primeiro como discos operam sem Vejamos primeiro como discos operam sem DMA. Primeiro, o controlador lê serialmente DMA. Primeiro, o controlador lê serialmente o bloco (um ou mais setores) do dispositivo, o bloco (um ou mais setores) do dispositivo, bit a bit, até que este seja transferido para o bit a bit, até que este seja transferido para o buffer interno do controlador.buffer interno do controlador.

Page 20: Entrada Saida

Obviamente, o ciclo de transferência de bytes Obviamente, o ciclo de transferência de bytes dos controladores para a memória consome um dos controladores para a memória consome um tempo apreciável da CPU. tempo apreciável da CPU.

DMA foi criado para livrar a CPU desta tarefa. DMA foi criado para livrar a CPU desta tarefa. Quando utilizado, a CPU fornece duas Quando utilizado, a CPU fornece duas informações ao controlador (além do endereço informações ao controlador (além do endereço do bloco a ser lido).do bloco a ser lido).

O endereço de memória para onde o bloco deve O endereço de memória para onde o bloco deve ser copiado e o número de bytes a serem ser copiado e o número de bytes a serem transferidostransferidos

Quando termina este processo de transferência Quando termina este processo de transferência a CPU é avisada por uma IRQ. A CPU não a CPU é avisada por uma IRQ. A CPU não precisa transferir os dados, pois já estão lá.precisa transferir os dados, pois já estão lá.

TECNICAS PARA TECNICAS PARA GERENCIAR.GERENCIAR.

Page 21: Entrada Saida

EndereçosEndereços

Page 22: Entrada Saida

A transferência via DMA é A transferência via DMA é processada sem intervenção da processada sem intervenção da

CPUCPU

Page 23: Entrada Saida

Drivers de Drivers de dispositivo dispositivo

Todo o código dependente do dispositivo aparece no Todo o código dependente do dispositivo aparece no driver do dispositivo. Cada driver manipula um driver do dispositivo. Cada driver manipula um dispositivo ou uma classe de dispositivos intimamente dispositivo ou uma classe de dispositivos intimamente relacionados. relacionados.

Cada controlador de dispositivos tem registradores Cada controlador de dispositivos tem registradores para receber comandos. O driver do dispositivo envia para receber comandos. O driver do dispositivo envia estes comandos e testa se foram carregados estes comandos e testa se foram carregados propriamente. Desta maneira, o driver é a parte do propriamente. Desta maneira, o driver é a parte do sistema operacional que conhece quantos registradores sistema operacional que conhece quantos registradores tem, por exemplo, o controlador de disco e para que tem, por exemplo, o controlador de disco e para que estes são utilizados. estes são utilizados.

Ele reconhece setores, trilhas, cilindros, cabeças de Ele reconhece setores, trilhas, cilindros, cabeças de leitura/escrita, motor, fator de entrelaçamento e todos leitura/escrita, motor, fator de entrelaçamento e todos os mecanismos que fazem um disco trabalhar de os mecanismos que fazem um disco trabalhar de maneira adequada.maneira adequada.

Page 24: Entrada Saida

ConclusãoConclusão

Uma das principais funções de um SO é Uma das principais funções de um SO é controlar os dispositivos de controlar os dispositivos de entrada/saída. Portanto o SO deve entrada/saída. Portanto o SO deve disponibilizar uma interface entre estes disponibilizar uma interface entre estes dispositivos e o executivo (Kernel) que dispositivos e o executivo (Kernel) que seja segura, confiável e transparente seja segura, confiável e transparente para o usuário.para o usuário.