AGD
6 - Gerência de Dispositivos
6.1 – Introdução
A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de camadas de um modelo semelhante ao apresentado para o sistema operacional, utilizando o conceito de máquina de níveis. As camadas de mais baixo nível escondem características das camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações.
Modo Usuário
Modo Kernel
SOFTWARE
Processo
Operações de E/ S
Sistema de Arquivos
Independente do dispositivo
(a)
Subsistema de E/ S
Device Drivers
HARDWARE
Dependente do dispositivo
(b)
Controladores
Dispositivos de E/ S
Figura 6.1 – Gerência de Dispositivos
2
A diversidade de dispositivos de E/S exige que o sistema operacional implemente uma camada, chamada de subsistema de E/S, com a função de isolar a complexidade dos dispositivos da camada de sistemas de arquivo e da aplicação. Dessa forma, é possível ao sistema operacional ser flexível, permitindo a comunicação dos processos com qualquer tipo de periférico.
Aspectos
como
velocidade
de
operação,
unidade
de
transferência,
representação de dados, tipos de operações e demais detalhes de cada um dos periféricos são tratados pela camada de device driver, oferecendo uma interface uniforme entre o subsistema de E/S e todos os dispositivos.
As camadas são divididas em dois grupos, onde o primeiro grupo visualiza os diversos tipos de dispositivos do sistema de um modo único, enquanto o segundo é específico para cada dispositivo. A maior parte das camadas trabalha de forma independente do dispositivo.
6.2 – Acesso ao Subsistema de Entrada e Saída
O sistema possui um conjunto de rotinas que possibilita a comunicação com qualquer dispositivo que possa ser conectado ao computador. Esse conjunto de rotinas, denominando rotinas de entrada/saída, faz parte do subsistema de E/S e permite ao usuário realizar operações de E/S sem se