Boot PC/AT

Todo computador PC padrão tem o que é chamado de BIOS (Basic Input/Output System - sistema básico de entrada/saída). Esse sistema é responsável pela verificação e iniciação do computador. Como por exemplo a determinação da quantidade de memória e da sua verificação.

Esse sistema oferece serviços básicos como a leitura/escrita em disco, no vídeo, etc. A iniciação do computador pelo BIOS é chamada de boot.

Quando o computador inicia ou reinicia, o processador está no modo real, ou seja, opera como se fosse um antigo 8086 mais rápido (é aqui que entra a compatibilidade com os processadores antigos). Assim, o máximo de memória endereçável é 1Mbyte e as instruções são de 16 bits. Na hora do boot só existem os serviços do BIOS, ou seja, as interrupções do BIOS.

Depois de verificar e iniciar o computador o BIOS tenta carregar um programa do disco, que normalmente é o disco de boot(disco de iniciação) dum sistema operacional. Mas pode ser qualquer programa.

O BIOS pode ler esse programa do drive A, do primeiro disco rígido, e mais recentemente, do CDROM, do segundo disco rígido, etc.

Se o BIOS for ler do drive A ou do disco rígido, ele lê o primeiro setor desse disco (setor 1, cilindro 0, cabeça 0) para o endereço da memória 0000:7C00h e procura por uma identificação de que este setor é um setor de iniciação. Essa identificação (55AAh) fica nos últimos dois bytes do setor que tem normalmente 512 bytes. Se esse setor não tiver a identificação o BIOS passa para outro dispositivo. Se tiver passa o controle para o setor lido.

Normalmente, no disquete existe um programa de iniciação do SO que carrega o sistema operacional. Já no disco rígido, esse programa normalmente escolhe uma partição, a partição ativa, carrega o primeiro setor dessa partição e passa o controle para o setor lido.