Sobre o BIOS
Em nossos PCs encontramos na placa mãe um chip (figura 1 e figura 2), no qual há um firmware (programa gravado permanentemente em um chip de memória). Ao observarmos a memória RAM do computador verificamos que o espaço de memória compreendido entre os primeiros 640 KB, que é onde termina a memória real, e os 1024 KB, onde começa a memória estendida, é justamente reservado para carregar esse programa antes de sua execução.
O programa é originalmente gravado de forma compactada no chip de memória flash instalado na placa mãe, quando o computador é ligado esse programa é detectado, carregado e descompactado no espaço da memória RAM mencionado acima, reservado para essa finalidade (esse espaço de memória é conhecido como shadow RAM).
Esse programa é chamado de BIOS Basic Input/Output System (Sistema Básico de Entrada/Saída), o BIOS é responsável por fazer a contagem da memória RAM, detectar rapidamente os dispositivos instalados e por fim carregar o sistema operacional principal a partir do HD, CDROM, disquete, rede etc. Este procedimento inicial é chamado de POST (Power-on self test).
Figura 1
Figura 2
Existe um projeto para substituir o BIOS da placa mãe por uma versão compacta do Kernel do
Linux, esse Kernel deve ser capaz de executar as mesmas funções originais do BIOS de uma forma confiável e flexível. Você pode saber um pouco mais sobre esse projeto no link abaixo:
Componentes essenciais para o boot
Voltando ao processo de inicialização do computador observa-se que, depois de fazer a parte principal do seu trabalho (inicialização do hardware), o BIOS carrega o sistema operacional. Esse processo ocorre do modo seguinte: o BIOS lê o primeiro setor do disco rígido, esse setor é chamado de "Master Boot Record" (MBR), é também conhecido como trilha zero ou trilha MBR, nesse setor do disco encontra-se um bootstrap que é um pequeno software que ocupa apenas 446 bytes, o bootstrap tem a função de instruir ao BIOS como encontrar no HD o endereço do gerenciador de boot. Como cada setor do HD tem tamanho de 512 bytes, nos outros 66 bytes do setor MBR também é gravada a tabela de partições, essa tabela guarda informações sobre onde cada partição do HD começa e termina.
Lilo e grub, tratam-se de gestores de boot mais usados no
GNU/Linux, têm como função dar-nos a escolher qual dos vários sistemas operativos instalados no PC queremos iniciar, qual o pré-definido para arrancar automaticamente, quantos segundos até arrancar automaticamente etc.