O BIOS (um acrônimo Basic Input/Output System e também conhecido como System BIOS, ROM BIOS ou PC BIOS) é um tipo de firmware usado para realizar a inicialização do hardware durante o processo de inicialização em computadores compatíveis com o IBM PC, e para fornecer serviços de tempo de execução para sistemas operacionais e programas. O BIOS é um programa de computador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional.[1] A BIOS fica gravada em uma memória ROM, impedindo-a de ser desinstalada.[2]
Origem do termo
O termo apareceu pela primeira vez no sistema operacional CP/M, descrevendo a parte do sistema carregada durante a inicialização, que lidava diretamente com o hardware (máquinas CP/M normalmente tinham apenas um simples boot loader na ROM). A maioria das versões do DOS tem um arquivo chamado "IBMBIO.COM" ou "IO.SYS" que são análogos ao disco CP/M BIOS.
Mesmo entre os profissionais de Informática, é muito comum o uso da expressão “a BIOS”, entretanto, isso é uma vista humana porque “sistema básico de entrada e saída” é um termo no masculino e, portanto, o correto é utilizar-se “o BIOS”.
Funcionamento
Entre outras funções o papel mais importante do BIOS é o carregamento do sistema operacional. Quando o computador é ligado e o microprocessador tenta executar sua primeira instrução, e ele tem que obtê-la de algum lugar. Não é possível obter essa instrução do sistema operacional, pois esse se localiza no disco rígido, e o microprocessador não pode se comunicar com ele sem que algumas instruções o digam como fazê-lo. É o BIOS o responsável por fornecer essas instruções.
Sequência de funcionamento
Quando o computador é ligado, o BIOS opera na seguinte sequência:
- Verifica as informações armazenadas em uma minúscula memória RAM, que se localiza em um chip fabricado com tecnologia CMOS. A memória CMOS armazena informações relativas a configuração de hardware, que podem ser alteradas de acordo as mudanças do sistema. Essas informações são usadas pelo BIOS para modificar ou complementar sua programação padrão, conforme necessário.
- POST (Power-On Self-Test ou Autoteste de Partida), que são os diagnósticos e testes realizados nos componentes físicos (Disco rígido, processador, etc). Os problemas são comunicados ao usuário por uma combinação de sons (bipes) numa determinada seqüência e se possível, exibidos na tela. O manual do fabricante permite a identificação do problema descrevendo a mensagem que cada seqüência de sons representa.
- Ativação de outros BIOS possivelmente presentes em dispositivos instalados no computador (ex. discos SCSI e placas de vídeo).
- Descompactação para a memória principal. Os dados, armazenados numa forma compactada, são transferidos para a memória, e só aí descompactados. Isso é feito para evitar a perda de tempo na transferência dos dados.
- Leitura dos dispositivos de armazenamento, cujos detalhes e ordem de inicialização são armazenados na CMOS. Se há um sistema operacional instalado no dispositivo, em seu primeiro sector (o Master Boot Record) estão as informações necessárias para o BIOS encontrá-la (este sector não deve exceder 512 bytes).
Existem pequenos trechos de softwares chamados de Manipuladores de Interrupção que atuam como tradutores entre os componentes de hardware e o sistema operacional. Um exemplo dessa tradução é quando é pressionada uma tecla no teclado, o evento associado ao sinal é enviado para o manipulador de interrupção do teclado que é enviado a CPU que trata e envia esse evento para o sistema operacional. Os drivers de dispositivos são outros trechos de software que identificam e atuam como interface entre os componentes básicos de hardware como o teclado, mouse, disco rígido.
Inicialização do Computador
Ao ligar o computador, o primeiro software que você vê a ser lido é o do BIOS. Durante a seqüência de inicialização (boot), o BIOS faz uma grande quantidade de operações para deixar o computador pronto a ser usado.
Depois de verificar a configuração na CMOS e carregar os manipuladores de interrupção, o BIOS determina se a placa gráfica está operacional. Em seguida, o BIOS verifica se trata de uma primeira inicialização (cold boot) ou de uma reinicialização (reboot).
Esta verifica as portas PS/2 ou portas USB à procura de um teclado ou um rato (mouse). Procura igualmente por um barramento PCI (Peripheral Component Interconnect) e, caso encontre algum, verifica todas as placas PCI instaladas. Se o BIOS encontrar algum erro durante o início (POST), haverá uma notificação ao utilizador em forma de bipes e mensagens.
Após tudo isto são apresentados detalhes sobre o sistema:
- Processador
- Unidades (drives) de disco flexível e disco rígido
- Memória
- Versão e data do BIOS
Recursos
Na época do MS-DOS o BIOS atendia praticamente a todas as chamadas de entrada e saída E/S ou I/O (Input/Output) da máquina, atualmente a conexão é feita através da instalação de drivers e é por meio desses drivers que os sistemas operacionais tem contato direto com os hardwares.
Na maioria dos BIOS é possível especificar em qual ordem os dispositivos de armazenamento devem ser carregados. Desta forma é possível, por exemplo, carregar uma distribuição do sistema operacional Linux que funciona diretamente do CD antes do sistema operacional instalado no HD (especificando que o CD deve ser verificado antes do HD).
Alguns BIOS também permitem a escolha entre diversos sistemas operacionais instalados, mas isto geralmente é feito com um software de terceiros (boot loader).
Atualização ou Upgrade
Na maioria das placas mãe modernas o BIOS pode ser atualizado, e os fabricantes disponibilizam arquivos para essa finalidade. A atualização pode resolver problemas de funcionamento de periféricos, ou mesmo erros da versão anterior do BIOS. A atualização altera três programas que estão dentro da memória ROM (BIOS, POST, Setup) e é uma operação de risco e requer muito cuidado para não haver danos na placa-mãe.
Há vários problemas que podem acontecer nas atualizações, alguns deles são: arquivos corrompidos, falta de informações para a solicitação do software correto, ou ainda a falta de energia elétrica. Se ocorrer algum problema o sistema poderá não iniciar, deixando a placa-mãe muitas vezes inoperante.
A atualização ou o upgrade do chip somente deve ser feito quando for realmente necessário.
Os principais fabricantes deste firmware são: American Megatrends (AMI), Award, General Software, Insyde Software, e Phoenix Technologies.
As BIOS geralmentes são de código fechado e isso pode causar alguns problemas para quem se preocupa com a segurança do computador ou quer trocar sua placa wifi para outra de marca diferente (que geralmente a BIOS bloqueia). Para isso, existe o projeto libreboot[3], que permite a substituição de uma BIOS privativa por uma implementação de uma BIOS livre para alguns servidores, desktops e notebooks.
Referências
- ↑ «PCGuide - Ref - System BIOS». www.pcguide.com. Consultado em 29 de Janeiro de 2011
- ↑ «O que é BIOS?». Tecmundo. Consultado em 28 de Dezembro de 2015
- ↑ «Libreboot». libreboot.org. Consultado em 13 de novembro de 2017