RICARDO DE MAGALHÃES SIMÕES - Sobre o Autor
Doutorando em Engenharia Elétrica, Mestre em
Informática (2006) e Bacharel em Ciência da Computação (2003), todos
pela Universidade Federal do Espírito Santo. Atualmente, Professor
Substituto de Informática no CEFET-ES, Professor de
Programação I no Curso Superior de Tecnologia em Análise e
Desenvolvimento de Sistemas à Distância no CEFET- ES, professor de
Sistemas Operacionais pela ESAB. Tem experiência na área de Ciência da
Computação, com ênfase em Desenvolvimento de Algorítmos, Educação de
Informática para estudantes do Ensino Médio, atuando principalmente nos
seguintes temas: Informática Básica, Programação nas linguagem C/C++/C#,
Java, Pascal.
Página pessoal:
Curriculo Lattes::
UNIDADE 15
Objetivo: Aprender os princípios básicos do gerenciamento de dispositivos realizados pelos sistemas operacionais.
1. Introdução
Para gerenciar dispositivos conectados ao computador,
tais como: teclado, mouse, monitor, impressora, entre outros, o sistema
operacional deve primeiramente ter a capacidade de acessar o
dispositivo e enviar comandos e informações ao mesmo. Para realizar essa
tarefa, os sistemas operacionais recebem um conjunto de instruções
específicos para o tratamento dos dispositivos, esse conjunto de
instruções é chamado de Driver de Dispositivo. Cada dispositivo possui
um driver específico, e cada driver é criado pela empresa que criou o
dispositivo. A empresa Epson desenvolve os drivers para as impressoras
Epson Stylus CX que ela fabrica e a empresa Hewlett-Packard
desenvolve os drivers para as impressoras HP DeskJet, sendo que os
drivers para as Epson Stylus não funcionarão para gerenciar as
impressoras HP DeskJet.
Além da dependência direta entre o driver e o
dispositivo, existe a dependência direta entre o driver e o sistema
operacional, pois um driver feito para ser utilizado pelo MS-Windows não pode ser utilizado pelo MacOS X (e vice-versa).
Os drivers também são criados para permitir ao
sistema operacional acessar: conectores USB e Firewire, redes Bluetooth,
unidades de CD e DVD. Os drivers são uma peça fundamental para o bom
funcionamento do computador, pois os dispositivos conectados nele só
serão utilizados se o driver para o dispositivo estiver disponível para o
sistema operacional. Se não houver o driver para um dispositivo
conectado ao computador, esse dispositivo não poderá ser utilizado, e se
for instalado um driver incorreto para um dispositivo, ele não
funcionará de maneira adequada.
2. Funcionamento do Driver de Dispositivo
O driver de um dispositivo funcionará como um
tradutor de comandos entre o sistema operacional e o equipamento
eletrônico. O sistema operacional utilizará as rotinas existentes no
driver para poder manipular e gerenciar o equipamento. Por exemplo, se o
equipamento for uma impressora, o sistema operacional poderá solicitar
ao driver que imprima um determinado texto. O driver passará à
impressora o texto a ser impresso e o comando de impressão. Cada nova
versão de uma impressora necessita de um novo driver, isso não significa
que cada modelo de impressora irá utilizar um driver diferente. Uma
mesma versão de impressora pode ser entregue em modelos diferentes, por
exemplo: Epson Stylus 5300, Epson Stylus 5500, Epson Stylus 5700, e
Epson Stylus 5900.
Os drivers são divididos em duas partes: comandos
lógicos e comandos físicos. Os comandos lógicos são acessados pelo
sistema operacional e por qualquer programa que utilize o driver para
comunicar com o dispositivo. Os comandos lógicos serão utilizados pelo
sistema operacional para informar ao driver os comandos que devem ser
executados e para transferir dados para o dispositivo. Os comandos
físicos são utilizados pelo próprio driver, para executar no dispositivo
os comandos lógicos solicitados.
Um exemplo de comando lógico é o seguinte: imprimir o
documento “relatório.doc”. Para realizar esse comando lógico, vários
comandos físicos devem ser empregados: preparar a impressora pode
imprimir o documento, enviar dados do documento “relatório.doc” para a
impressora, enviar comando de impressão, esperar resposta de fim da
impressão. Quando o dispositivo termina de executar a tarefa solicitada,
um aviso é enviado ao driver do dispositivo, que irá interpretar esse
aviso como um comando físico e passar ao sistema operacional um comando
lógico informando que o dispositivo concluiu a tarefa. No caso da
impressora, ao terminar a impressão, um aviso de conclusão é enviado ao
driver e passado ao sistema operacional.
Para utilizar o driver, o mesmo deve ser instalado
para o sistema operacional. No processo de instalação, o sistema
operacional registrará o driver, os dispositivos que podem ser
utilizados através dele, a localização das rotinas de operação do
dispositivo, entre outras informações. Essa tarefa de instalação, atualmente, é
feita de maneira simples e em muitos casos não chega a ser necessária,
pois alguns sistemas operacionais já são distribuídos com uma série de
drivers pré-instalados, havendo apenas a necessidade de se
instalar manualmente o driver para um dispositivo lançado após a
aquisição do sistema operacional.
Para gerenciar os dispositivos, os sistemas
operacionais contam com gerenciadores específicos: Gerenciador de
Impressão, Gerenciador de Disco, Gerenciador de Modem, Gerenciador USB,
Gerenciador de Vídeo, entre outros. Cada gerenciador será responsável
por realizar a administração e controle da utilização do respectivo
dispositivo. O Gerenciador de Impressão irá controlar quais documentos
serão enviados para a impressora, quando ela estará disponível para ser
utilizada, e várias outras tarefas.
3. Firmware
O Firmware é um circuito eletrônico que possui
internamente um pequeno programa. Um circuito de firmware geralmente é
utilizado em equipamentos eletrônicos inteligentes, o que inclui vários
dispositivos do computador atualmente. Em um dispositivo que possui um
firmware, o próprio pode funcionar como driver para o dispositivo. Os
fabricantes de dispositivos podem atualizar o firmware do dispositivo
para melhorar o desempenho do equipamento e não existe a necessidade de
instalação de driver, pois o sistema operacional utilizará diretamente
firmware do dispositivo. Para ser utilizado como driver, o firmware deve
ser carregado na memória do computador como se fosse um driver, e então
utilizado.
Os computadores Macintosh utilizam muito esse
conceito. A maioria dos dispositivos disponíveis para essa linha de
computadores não possui um driver para ser instalado no sistema MacOS,
possuem um firmware para ser utilizado diretamente. A desvantagem nesses
sistemas é o maior tempo gasto na inicialização do sistema, pois a cada
inicialização, todos os dispositivos devem ter o firmware carregado na
memória do computador.
4. Drivers Genéricos
Um grupo especial de drivers são os chamados
“Drivers Genéricos”. Esses drivers podem ser utilizados por uma maior
variedade de equipamentos eletrônicos, inclusive de fabricantes diferentes. Os drivers genéricos geralmente são
feitos para um determinado tipo de dispositivo, por exemplo: driver
genérico para impressora matricial. A maioria das impressoras matriciais
poderá ser utilizada a partir do driver genérico. A vantagem nesse caso
é poder contar com uma maior liberdade para utilizar o dispositivo, mas
a desvantagem é de não poder utilizar todos os recursos disponíveis.
5.Dispositivos Plug-and-Play (Ligue-e-Use)
Em 1994 vários fabricantes de dispositivos se uniram
para definir um novo conceito na utilização do computador, e na maneira
como seria feita a instalação dos drivers de dispositivos. Até essa
época, a instalação e utilização de um dispositivo era muito complexa
(causada principalmente pelo MS-DOS). Para melhorar e facilitar a interação entre os sistemas operacionais e dispositivos foi criado o modelo Plug-and-Play. Esse modelo define um conjunto de características que os dispositivos irão possuir para facilitar a instalação dos drivers.
Essas características são gravadas no firmware do
dispositivo e utilizadas durante a instalação do driver do dispositivo.
Antes dos dispositivos Plug-and-Play surgirem, o usuário
deveria configurar manualmente o dispositivo, passando ao sistema
operacional uma séria de informações: o conector físico na placa-mãe
estava o dispositivo, o endereço padrão para acessar o dispositivo, o
número de identificação, o número do gerador de interrupções, entre
outras.
6. Drivers no MS-Windows e no Linux
Como o driver é dependente dos sistemas
operacionais, a sua utilização deve seguir critérios definidos pelos
fabricantes dos sistemas operacionais. Estes critérios definem como será
feita a interação entre o sistema operacional e os comandos lógicos do
driver.
Os drivers para MS-Windows 3 e MS-Windows
95 eram desenvolvidos segundo um modelo definido pela Microsoft chamado
VxD, a sigla VxD representa “Virtual X Driver”. Nos sistemas MS-Windows 98, MS-Windows 2000 e MS-Windows XP o modelo utilizado é chamado de “Windows Driver Model” e a principal diferença em relação ao modelo anterior refere-se a melhorias no tratamento de dispositivos Plug-and-Play. Atualmente, no MS-Windows Vista, o modelo para utilização dos drivers de dispositivo é chamado de “Windows Driver Foundation”.
No Linux, os drivers podem ser programas separados,
ou podem fazer parte do próprio kernel. Quando os drivers fazem parte do
kernel eles são carregados na inicialização do sistema. Os drivers que
não fazem parte do kernel são chamados de “Módulos Carregáveis”, e tem a
vantagem de poderem ser carregados na memória apenas no momento de
utilização do dispositivo.
Nenhum comentário:
Postar um comentário