E um desafio fornecer uma definicao unica e precisa para o termo driver. No sentido mais simples, um driver e um software que permite que o sistema operacional e um dispositivo se comuniquem um com o outro.Por exemplo, suponhamos que um aplicativo de fotos precise ler algumas imagens de uma camera fotografica. O aplicativo tera que pedir uma solicitacao ao sistema operacional, que por sua vez, fara a solicitacao ao driver.O driver, que geralmente e desenvolvido pela mesma empresa que projetou e fabricou o dispositivo, sabe como se comunicar com o hardware para obter as fotos. Depois de o driver receber os dados da camera, ele os devolve para o sistema operacional, que repassa para o aplicativo.Tradutor de informacoesPortanto, um driver e um software que traduz o que diz um hardware ou um dispositvo para que o computador possa entender. Sem um software de driver, o hardware conectado (por exemplo, uma placa de video ou impressora) nao funcionara corretamente.Mas um driver nao e um processo e muito menos um programa gerido independentemente pelo sistema, mas sim um conjunto de tabelas contendo informacoes sobre cada periferico, bem como os fluxos de informacao circulante entre um PC e um periferico.Os drivers sao entregues com o sistema operacional na maioria das vezes, podendo ser encontrados em aplicativos de atualizacoes (como o Windows Update), no painel de controle e por meio da verificacao de atualizacoes. Se o sistema operacional nao tiver o driver necessario, voce pode verificar o disco que veio com o hardware ou dispositivo que deseja usar, ou acessar o site do fabricante.Casos e casosExistem alguns produtos atualmente no mercado que dispensam a instalacao de drivers, conhecidos como dispositivos plug-and-play. Como o proprio nome diz, basta apenas conecta-los ao PC atraves de uma porta USB para poder usa-los. Geralmente HDs externos e maquinas fotograficas utilizam essa tecnologia.Nem todo driver e escrito pela mesma empresa que projetou um dispositivo. Em muitos casos, um driver e programado de acordo com um padrao de hardware. Isso significa que ele pode ser escrito pela Microsoft (no caso do Windows), e, sendo assim, o fabricante do dispositivo nao precisa fornece-lo.Outro detalhe importante e que nem todos os drivers se comunicam diretamente com dispositivos. Certas requisicoes (como a leitura de dados de um hardware) passam por diversos drivers que participam do processo, distribuidos em uma pilha de camadas.Alguns drivers dessa pilha podem participar do processo e podem fazer modificacoes na solicitacao. Esses drivers nao se comunicam diretamente com o dispositivo: eles simplesmente manipulam o pedido e repassam-no para os outros drivers.Ja alguns drivers funcionam como filtros, com o objetivo de observar e registrar informacoes sobre pedidos de aplicativos para dispositivos. Eles agem como verificadores para garantir que os outros drivers que estao na pilha estao lidando com o pedido corretamente. Memoria virtual e um espaco reservado pelo disco rigido que funciona como a memoria RAM quando esta se esgota. Tal espaco e denominado arquivo de paginacao, e o mecanismo funciona como uma forma de estender a quantidade de memoria para dados temporarios utilizados pelos aplicativos em execucao.Neste tutorial do Baixaki,