terça-feira, 1 de abril de 2008

A alma de um computador III

Como é extremamente difícil e trabalhoso fazer com que o processador execute qualquer coisa escrevendo programas directamente em linguagem de máquina, usamos pequenos programas, como o BIOS e os drivers de dispositivos do Windows para executar as tarefas mais básicas, funcionando como intermediários, ou intérpretes, entre os demais programas e o hardware. Estes programas são chamados de software de baixo nível. Todos os demais aplicativos, como processadores de texto, folhas de cálculo, jogos, etc. rodam sobre estes programas residentes, não precisando aceder directamente ao hardware, sendo por isso chamados de software de alto nível. 
É justamente por causa desta divisão que muitas vezes um novo dispositivo, uma placa de som que acabou se ser “espetada” na placa mãe por exemplo, não funciona até que sejam instalados os drivers que vem no CD ou disquetes que acompanham a placa. O Windows é capaz de perceber a presença da nova placa, mas para usá-la, ele precisa do driver correcto. O driver funciona como uma espécie de intérprete, que converte os comandos usados pelo Windows nos comandos entendidos pela placa e vice-versa. 
O próprio Windows possui uma grande biblioteca de drivers, que permite instalar automaticamente muita coisa, mas, muitos dispositivos, principalmente placas mais recentes, lançadas depois da versão do Windows que estiver usando, não funcionarão adequadamente até que sejam instalados os drivers correctos. Sem os drivers, é impossível fazer qualquer placa funcionar, é como perder a chave do carro. Felizmente, hoje em dia é possível encontrar drivers para praticamente qualquer tipo de placa, mesmo antiga, através dos sites dos fabricantes. 
Para instalar uma nova placa, o procedimento básico é sempre o mesmo. Depois de instalar fisicamente a placa e ligar o PC, o Windows exibirá uma aviso de “novo Hardware encontrado”, pedindo os drivers em seguida. Escolha a opção de procurar um driver para o dispositivo e mostre a localização dos arquivos, seja uma pasta no CD-ROM, uma pasta do disco rígido, uma disquete, etc. Caso tenha apontado os arquivos carretos, o Windows irá instala-los e o dispositivo passará a funcionar. 
Lembre-se que existem drivers específicos para cada sistema operativo. Se o modem tiver apenas drivers para Windows 98 por exemplo, ele não funcionará no Linux, DOS ou outros sistemas, a menos que o fabricante resolva disponibilizar novas versões do driver. 
Continuando a explicação sobre software, não podemos esquecer-nos do próprio sistema operativo, que funciona como uma ponte entre o hardware e o utilizador, automatizando o uso do computador e oferecendo uma base sólida a partir da qual os programas podem ser executados. 
Continuando com os exemplos anteriores, o sistema operativo poderia ser definido como a “personalidade” do micro. Um micro utilizando o Linux por exemplo, dificilmente seria tão amigável e fácil de operar quanto um outro micro utilizando o Windows 98. Por outro lado, este último jamais seria tão estável quanto um terceiro micro rodando o Windows XP. As diferenças não param por aí: Os programas desenvolvidos para funcionar sobre um determinado sistema operativo quase sempre são incompatíveis com outros. Uma versão do Corel Draw! desenvolvida para funcionar sobre o Windows 98, jamais funcionaria sobre o Linux por exemplo, seria preciso reescrever todo o programa, criando uma nova versão. 
A interface dos vários sistemas operativos também é diferente. No MS-DOS, por exemplo, temos apenas um prompt de comando baseado em texto, enquanto no Windows temos uma interface gráfica baseada em janelas.
Esta divisão visa facilitar o trabalho dos programadores, que podem se concentrar em desenvolver aplicativos cada vez mais complexos, num espaço de tempo cada vez menor. 
Fazer um programa simples de controle de caixa em uma linguagem de baixo nível, como o Assembler, por exemplo, tomaria pelo menos um dia inteiro de trabalho de um programador. Um programa com as mesmas funções, feito em uma linguagem visual (ou de alto nível) como o Visual Basic ou Delphi, tomaria bem menos tempo e ainda por cima teria uma interface gráfica muito mais bonita e amigável, já que muitas das funções usadas no programa já estariam prontas.

Sem comentários: