Quando um PC é inicializado, a BIOS executará diversos testes para checar se tudo está em perfeita ordem, chamando então o boot. Ela escolherá um dispositivo de disco e lerá o primeiro setor do dispositivo. Este é chamado de setor de inicialização e no caso de discos rígidos, também é chamado de master boot record, uma vez que um disco rígido pode conter diversas partições, cada qual com seus próprios setores de inicialização.
O setor de inicialização contém um pequeno programa (pequeno o suficiente para estar contido em um setor), o qual tem a função de ler o sistema operacional instalado e inicializá-lo.
Ao ser inicializado a partir de um disco rígido, o código do registro mestre de inicialização examinará a tabela de partições (também localizada no MBR), identificará a partição ativa, lerá o setor de inicialização daquela partição e iniciará o programa gravado naquele setor.
Neste momento o kernel será carregado. Após a carga do kernel do Linux em memória, ocorrem os seguintes eventos:
- o kernel é instalado inicialmente em um formato compactado, sendo então descompactado de forma automática, através de um pequeno programa que está localizado no início da imagem do kernel.
- Após, o kernel verifica os demais hardwares (discos rígidos, disquetes, placas de rede, etc) e configura seus controladores de dispositivos.
- O sistema de arquivos raíz será montado com permissões de leitura, será checado pelo programa fsck e em seguida remontado com permissões de escrita.
- O processo init é então inicializado, passando o sistema para modo multiusuário e inicializará o getty, permitindo o uso de consoles virtuais e linhas seriais.
Mais informações sobre o encerramento do sistema
É importante seguir corretamente os passos quando encerrar o sistema. Caso este procedimento não seja cumprido, seus sistemas de arquivos provavelmente estarão prejudicados e os arquivos poderão ficar bagunçados. Isto acontece porque o Linux tem um cache de disco que não grava os dados no disco no momento em que isto é solicitado, mas somente em intervalos de tempo. A performance do sistema aumenta consideravelmente, mas isso também pode causar a perda de dados caso você simplesmente desligue seu computador.
Outra razão contra desligar simplesmente o sistema é que em um sistema multitarefa existem diversas coisas acontecendo em segundo plano, e desligar o computador neste momento pode ser desastroso. Usando o procedimento correto para o encerramento do sistema, você garante que todos os processos em background podem salvar seus dados.
Atenciosamente,
Fábio Berbert de Paula
fabio@vivaolinux.com.br