220 likes | 417 Views
Sistemas operacionais. Dispositivos de entrada e saída Prof. Diovani Milhorim. Dispositivos de entrada e saída. Periféricos: Um periférico pode ser visto como qualquer dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo.
E N D
Sistemas operacionais Dispositivos de entrada e saída Prof. Diovani Milhorim
Dispositivos de entrada e saída Periféricos: Um periférico pode ser visto como qualquer dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo.
Dispositivos de entrada e saída Periféricos: De acordo com o sentido do fluxo de dados entre o computador e o dispositivo, esses podem ser divididos em periféricos de entrada, periféricos de saída, ou ainda periféricos de entrada e saída.
Dispositivos de entrada e saída Periféricos: Os periféricos são conectados ao computador através de um componente de hardware denominado interface. As interfaces constituem um elemento chave para coordenação da transferência de dados entre periférico e o processador, ou entre periférico e memória.
Dispositivos de entrada e saída Periféricos: As interfaces empregam no seu projeto um outro componente de hardware: o controlador. Um controlador nada mais é que um processador projetado especificamente para realizar uma função, como, por exemplo, controlar um disco rígido.
Dispositivos de entrada e saída Periféricos: Os dispositivos de I/O, dependendo de sua interconexão física às interfaces, podem ser do tipo serial ou paralelo. Essa característica está relacionada à maneira pela qual os dados são transferidos entre os dispositivos de I/O e as interfaces
Dispositivos de entrada e saída Periféricos: Uma interface serial é aquela que existem apenas uma linha para os dados. Os dados podem trafegar em dois sentidos, mas em apenas um sentido por vez!
Dispositivos de entrada e saída Periféricos: Uma interface paralela possui várias linhas para os dados, permitindo assim que vários bits sejam transferidos simultaneamente (em paralelo) entre os dispositivos de I/O e a interface.
Dispositivos de entrada e saída Periféricos: Dispositivos de E/S são dispositivos de hardware bastante variados: • Orientados a caracteres ou a blocos • Síncronos ou não • Compartilhados ou não • Velocidades diferentes
Dispositivos de entrada e saída O Sistema Operacional deve gerenciar os dispositivos de I/O e ainda abstrair o acesso a todos esses periféricos de E/S para o usuário final. • Independência de dispositivos São dispositivos lentos • O Sis. Op. deve ser eficiente ao usá-los.
Dispositivos de entrada e saída Organização da gerência de I/O
Dispositivos de entrada e saída • Cada driver encapsula as características do dispositivo de Hardware. • Conversa com o controlador do dispositivo; • É a parte mais específica do Sis. Op. • Acompanha o hardware quando da sua aquisição ou vem nativamente no sistema operacional. • Em geral existe uma versão de driver para cada sistema operacional específico. • Poder seguir um padrão (e.g. SCSI, USB...)
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Orientados a blocos • Acessa-se blocos de bytes de uma vez; • Cada bloco deve ter um endereço; Exemplos: disco, discos removíveis
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede • O tempo de acesso à rede é ainda diferente do tempo de uso de outros devices usuais. • Por isso, costuma-se definir uma interface específica para devices orientados a rede. • A interface típica é o socket
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede • Pode-se criar um socket, abri-lo e fechá- lo; • Quando aberto, pode-se: • Se conectar no socket (connect); • Ouvir no socket até alguma coisa chegar (listen); • Escrever no socket (write) • Pode-se ouvir vários sockets e selecionar (select) uma ação apropriada ao socket de onde veio a informação.
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede Existem vários protocolos de rede suportados pelos sockets: • Fluxo confiável de bytes (pipe); • Fluxo confiável de pacotes; • Fluxo não confiável;
Dispositivos de entrada e saída Outras formas de classificar: • Compartilháveis ou não: possibilidade de ser acesso por vários processos no mesmo tempo. • Tela vs. Impressora. • Seqüencial ou randômico • Mouse vs. disco • Acessível em leitura só, ou em escrita só, ou em escrita/leitura. • Mapeado na memória / usa registradores
Dispositivos de entrada e saída O subsistema de E/S Basicamente, ele define interfaces padronizadas em cima dos drivers, para serem usadas pelo núcleo. Possibilita o acesso a vários dispositivos, independente de suas peculiaridades. Exemplos: interface Ethernet para a rede: • Define um endereço IP, um endereço de roteamento (gateway), um prazo máximo de atendimento... • Independente da placa de rede específica! Interface do Mouse: • Vai tratar eventos tais como ‘clic’ ou movimentação. • Independente do tipo de mouse!
Dispositivos de entrada e saída Funções típicas e genéricas da interface • Buffer e Caches • Tratamento de erros • Escalonamento de dispositivo • Compartilhamento e controle de acesso (Semáforos!) • Mais funções “backdoor”
Dispositivos de entrada e saída Tratamento de erros O Sistema Operacional deve identificar: • O tipo de erro • Transiente/permanente • SW / HW • Qual dispositivo é à origem do erro • Deve retornar o identificador do erro para o usuário. • Deve logar o erro.
Dispositivos de entrada e saída Bufferização Buffer não é cache! Buffer = área de armazenamento temporário de dados. Útil para: • Ajustar tamanho de dados - Byte vs. Pacotes • Ajustar velocidades entre dispositivos • Possibilitar o assincronismo Mas cache é um buffer orientado ao desempenho!
Dispositivos de entrada e saída Bufferização Problemas básicos: • Manutenção da coerência entre o buffer e os dados originais. • tamanho do buffer; • O que fazer quando estoura o buffer? • Aumentar o buffer... • Usar um outro buffer... • Usar vários outros buffers • Sistema de buffers circulares.