Professional Documents
Culture Documents
Introdução
DISPOSITIVOS EXTERNOS
1
As operações de E/S são efetuadas por meio de grande variedade de dispositivos
externos, que oferecem um meio para troca de dados entre o ambiente externo e o
computador.
2
Logo, seria inadequado usar o barramento do sistema para fazer uma comunicação
direta entre CPU e PERIFÉRICOS.
CONTROLE
- Determinam a função a ser executada pelo dispositivo. Ex. enviar dados ao
módulo (input ou read), receber dados do módulo (output ou write) e controle do
dispositivo (mover cabeçote do disco para determinada posição).
DADOS
- Formam um conjunto de bits a serem enviados para ou recebidos do módulo.
ESTADO
- Indicam o estado do dispositivo (ready / not-ready), indica se o dispositivo está
pronto ou não para efetuar uma transferência de dados.
3
O BUFFER é uma área de armazenamento temporário e o TRANSDUTOR é o
responsável por converter dados codificados como sinais elétricos para alguma
outra forma de energia.
1. Controle e temporização
2. Comunicação com o processador
3. Comunicação com dispositivos
4. Armazenamento temporário de dados
5. Detecção de erros
4
A quantidade de dispositivos que um módulo pode controlar e a complexidade do
mesmo podem variar significativamente. Conforme podemos ver na figura abaixo os
dados transferidos entre o módulo e o computador são armazenados
temporariamente em registradores de dados. Além disso, existem registradores
de estado para informar o estado atual do dispositivo. Cada um dos módulos de
E/S possui um endereço distinto para ser referenciado pelo processador.
Dessa forma, o intuito do módulo de E/S é dar ao processador uma visão simplificada
da grande variedade de periféricos.
Existem três técnicas diferentes que podem ser utilizadas durante a realização
de operações de E/S, são elas: E/S Programada, E/S dirigida por Interrupção e
Acesso Direto à Memória (DMA).
E/S Programada
5
o estado do módulo de E/S. Como podemos imaginar, ocorrerá um desperdício de
processamento, pois o processador é muito mais rápido que o módulo de E/S.
Devemos ressaltar que tanto na E/S Programada quanto na dirigida por Interrupção, o
processador sempre é o responsável por obter dados da memória principal (operação
de saída memória => dispositivo) ou por armazenar dados na memória principal
(operação de entrada dispositivo => memória).
Interrupções
6
1. Interrupção de software: ocasionada por alguma condição resultante da execução
de uma instrução, como por exemplo, um overflow ou uma divisão por zero.
Esta técnica é uma opção mais interessante de realizar as operações de E/S pois a
transferência de dados entre o módulo de E/S e a memória principal é feita
diretamente sem a necessidade de envolver o processador.
As informações trocadas entre o DMA e a CPU quando esta deseja ler ou escrever um
conjunto de dados em um periférico pode ser descrita como segue:
7
3. O endereço de memória para o DMA armazenar ou ler informações também é
passado através das linhas de dados.
4. A quantidade de palavras que serão lidas ou escritas também vai pela linha de
dados.
O caminho entre o sistema operacional e todo hardware que não está na placa-mãe
passa por um programa especial chamado driver. A função principal do driver é
funcionar como tradutor entre os sinais elétricos dos subsistemas de hardware e a
linguagem de programação de alto nível do sistema operacional e dos aplicativos. Os
drivers pegam os dados que o sistema operacional definiu como um arquivo e
transforma-os em sequências de bits. Estes bits são armazenados em locais
específicos dos dispositivos de armazenamento ou se transformam em pulsos de laser
em uma impressora.
O funcionamento dos drivers depende do tipo de hardware, mas a maioria dos drivers
é executada quando o dispositivo é acionado, eles funcionam de maneira semelhante
a qualquer outro processo. O sistema operacional dá prioridade aos drivers para que o
recurso do hardware seja liberado e disponibilizado o mais rápido possível.
Uma razão para que os drivers sejam separados do sistema operacional é para que
novas funções sejam adicionadas ao driver (e aos subsistemas de hardware) sem que
o sistema operacional seja modificado, recompilado e redistribuído. O
desenvolvimento de novos drivers, geralmente realizado ou pago pelo fabricante do
8
subsistema (em vez do desenvolvedor do sistema operacional) melhora as
capacidades de entrada/saída de todo o sistema.
Transdutor é um dispositivo que transforma um tipo de energia em outro, utilizando para isso
um elemento sensor. Por exemplo, o sensor pode traduzir informação não elétrica (velocidade,
posição, temperatura, pH) em informação elétrica (corrente, tensão, resistência). Um tipo
curioso de transdutor é elaborado a partir de cristais naturais denominados cristais
"piezoelétricos". Estes transdutam energia elétrica em energia mecânica na relação de 1:1 (um
sinal elétrico para um sinal mecânico).