Sistemas operacionais

Propaganda
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
Hardware.


encapsula as características do
dispositivo de
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.
Download