2. O que é um Driver?

Um driver é um software que permite que o computador se comunique com o hardware ou com os dispositivos. Sem um software de driver, o hardware conectado —por exemplo, uma placa de vídeo ou impressora— não funcionará corretamente.


Tem como função implementar a comunicação do subsistema de entrada e saida com os dispositivos, através de controladores. Os drivers tratam de aspectos particulares dos dispositivos.
Recebem comandos gerais sobre acessos aos dispositivos e traduzem para comandos específicos, que poderão ser executados pelos controladores. Além disso, o driver pode realizar outras funções, como a inicialização do dispositivo e seu gerenciamento.

Os drivers são entregues, na maior parte das vezes, com o Windows, podendo ser encontrados no Windows Update, no Painel de controle e por meio da verificação de atualizações. Se o Windows não tiver o driver necessário, verifique o disco que veio com o hardware ou dispositivo que deseja usar, ou acesse o site do fabricante.



Um driver é um pequeno programa que permite ao dispositivo de hardware se comunicar com o computador.



Como o Sistema Operacional sabe qual o driver correto para determinado dispositivo?


Logicamente ele não adivinha, ele apenas usa informações que estão gravadas no chip do próprio dispositivo: VENDOR ID, DEVICE ID e CLASS ID

VENDOR ID:
VENDOR = "fornecedor", ID = abreviação de "identity", então, em português seria "Identificação do Fornecedor";

DEVICE ID:
DEVICE = "dispositivo", então: "Identificação do Dispositivo".
CLASS ID:
CLASS = "classe", então: "Classe do Dispositivo";
Na verdade, existem mais informações disponíveis no chip de um dispositivo, porém as citadas acima são as principais.
Para esse IDs, são reservados dois bytes de informação, então, numa placa de rede Realtek por exemplo, temos:
VENDOR ID 10EC
DEVICE ID 8139
CLASS ID 0200
Trata-se do popular modelo RTL8139.
Baseado nisso, é que o Sistema Operacional tem como localizar o driver correto para cada dispositivo.
Todo Sistema Operacional, procura por novos dispositivos a cada boot, o que é feito em segundo plano. O sistema, mantém armazenada, em algum lugar, uma tabela geral dos dispositivos presentes no computador.
Durante todo boot, o sistema consulta a BIOS e varre todos os barramentos da placa e então é feita uma lista do que foi encontrado. Tal lista é comparada com a tabela já existente na intenção de saber se algum dispositivo foi desconectado ou se um novo foi adicionado. Caso algo tenha sido removido, o sistema ignora a carga do driver para o dispositivo em questão, caso algo tenha sido adicionado, são consultadas as informações contidas no próprio dispositivo e efetua-se uma busca no banco de dados de drivers existente no próprio sistema. Se ele encontrar algo que combine, o driver é instalado (geralmente) em segundo plano, caso contrário, o driver deverá ser instalado manualmente pelo próprio usuário.
Todo esse processo é baseado no PCI ID (VENDOR, DEVICE e CLASS ID). O nome que vemos quando o dispositivo já está instalado é algo secundário, usado apenas para ser mais amigável. Tal nome pode ser útil, mas não deve ser tratado com muita importância quando se usa para localizar um driver qualquer, isso pode gerar confusão pois o nome as vezes varia em circunstâncias diferentes, por exemplo, a mesma placa pode ter um nome no Linux e outro ligeiramente diferente num sistema Windows.

Dica para WinUsers: Arquivos de driver para sistemas Windows são acompanhados de um arquivo com extensão INF. Isso é uma espécie de script o qual é processado pelo sistema durante a instalação do driver. Por ser um arquivo de texto puro, você pode abrí-lo em qualquer editor de texto. Então você checa para ver se o PCI ID do dispositivo em questão consta dentro desse arquivo. Por exemplo, num driver para um modelo de modem Lucent qualquer, teremos a seguinte informação em algum lugar no arquivo INF:
VEN_11C1&DEV_0452&SUBSYS_1513144F&REV_00
onde:
"VEN_11C1" indica o VENDOR ID
"DEV_0452" indica o DEVICE ID
Algumas vezes, o driver vem acompanhado com um instalador (setup.exe, por exemplo). Quase sempre você pode ignorá-lo e instalar manualmente sem que ocorra nenhum problema. É muito útil fazer isso quando você quer que seja instalado somente o driver para o dispositivo, e nada softwares adicionais que muitas vezes nem usamos. Resumindo, um instalação manual, apontando o local exato onde consta o arquivo INF e deixar que o Windows instale sozinho, é uma instalação mais "limpa" e leve, já que somente os arquivos essenciais serão instalados.

Fonte: http://my.opera.com/pingflood/blog/show.dml/252486


0 comentários: