BIOS
Keywords: BIOS, Boot, Computador, Disco, Drive, Hardware, Intel, MS-DOS, Modo protegido, Modo real
O BIOS (sigla de Basic Input/Output System) é um programa armazenado na memória só de leitura (Read Only Memory, ou ROM) que serve basicamente para detectar os periféricos que estão ligados ao computador, comunicar com eles e executar o sistema operativo.
Um computador pode ser definido como um dispositivo que apenas executa instruções. Ele não sabe da existência de dispositivos tais como discos, teclado, monitores, placas de vídeo. É aqui que entra o BIOS do IBM-PC e compatíveis. Na ausência de alguns periféricos básicos, como o teclado, por exemplo, ele emite uma mensagem de erro. Se tudo correu bem na fase de detecção, ele passa para a próxima fase, ou seja, ele verifica se no drive de disquete está um disco flexível e, se estiver, tenta ler o primeiro setor do disco. Este setor de disco contém uma instrução de salto (JMP) para o endereço onde se encontra o código que carrega o sistema operacional, chamado de bootstrap, ou programa de boot. O setor de disco (que não deve exceder 512 bytes) deve terminar com um número mágico, que faz com que o BIOS o identifique como sendo um setor de boot propriamente dito. Na ausência desse número mágico, o BIOS pede que você insira um outro disco.
Adicionalmente, o BIOS oferece um conjunto de serviços para ler setores de disco, exibir caracteres na tela, ler o teclado, e assim por diante, o que permite a programas como o MS-DOS (e o próprio programa de boot já mencionado) usar esses serviços sem ter que saber extamente como funciona cada dispositivo (ou seja, o BIOS é uma primeira camada de abstração entre os aplicativos ou DOS e o hardware). Os serviços do BIOS estão disponíveis através de chamadas a interrupções, que devem ser feitas apenas no chamado modo real de uma máquina Intel. Sistemas operacionais em modo protegido não usam, normalmente, os serviços do BIOS, e devido a isso devem implementar as suas próprias rotinas de acesso direto ao hardware.
