Boot Linux - o que acontece quando ligamos o computador

O artigo tem como objetivo principal mostrar as particularidades que envolvem o processo de boot (inicialização) do sistema operacional GNU/Linux.

[ Hits: 64.398 ]

Por: Luiz Vieira em 13/07/2009 | Blog: http://hackproofing.blogspot.com/


O Boot



Origem do termo

O termo "boot" deriva do inglês booting (En) que, por sua vez, deriva do termo bootstrapping (En) (de boot straps - cadarços de bota). Em computação, as três expressões têm basicamente o mesmo significado. O termo faz alusão às histórias sobre o Barão de Münchhausen, que, segundo a lenda, era capaz de se erguer do pântano (para não se molhar) puxando pelos cadarços das próprias botas (pulling himself by his own boot straps).

Ou seja, o termo procura dar a imagem de um processo aparentemente impossível pelo qual o sistema se ergue (ou se coloca em funcionamento) por seus próprios esforços. [Wikipédia]

O termo boot é usado pelos profissionais da área de computação em referência ao processo de inicialização do computador. Esse processo é o primeiro a ser executado quando o computador é ligado, sendo o boot responsável pela carga do sistema operacional na memória principal (RAM).

Importância do boot

A maioria dos computadores modernos executam apenas programas armazenados na memória de trabalho (RAM ou ROM), porém o sistema operacional é gravado em memória secundária que são os discos rígidos (HD), CD-ROM, DVD-ROM etc. Ou seja, assim que ligamos o computador não temos um sistema operacional pronto para gerenciar os dispositivos físicos (hardware) da nossa máquina, logo o HD ou CD-ROM onde encontra-se o sistema operacional, não pode ser acessado para carregá-lo na memória de trabalho. Como resolver essa questão?

As fases do boot

Primeira parte do Boot:

A solução para o problema apresentado na lição anterior é a utilização de vários pequenos programas que se complementam, ou seja, um programa comanda a execução do próximo, até que o último deles carrega o sistema operacional. Esses primeiros programas consistem verdadeiramente em uma seqüência simples de comandos que vão orientar ao computador a busca por um dispositivo onde encontra-se o sistema operacional.

Nos computadores atuais a inicialização ocorre a partir da execução do programa (o BIOS) contido na ROM em um endereço predefinido. A CPU é programada para executar esse programa sempre que o computador é ligado ou após um reset automático.

O BIOS nesse primeiro momento carrega alguns drivers de dispositivos básicos para o funcionamento do computador, tais como: teclado, placa de vídeo, disco rígido etc.

Segunda parte do Boot:

Nesse segundo estágio o BIOS acessa um outro programa, ainda não é o sistema operacional, mas um gerenciador de boot tal como o lilo ou grub. Esse programa já pode ser lido da memória secundária, pois o BIOS já carregou em memória RAM as informações necessárias para que a CPU acesse o HD ou CD-ROM.

O gerenciador de boot será capaz de chamar o sistema operacional e transferir a execução do sistema para ele, o sistema operacional agora comandando a execução do sistema continuará a inicialização carregando os drivers de dispositivos e outros processos necessários para deixar o computador pronto para ser operado pelo usuário.

O tempo usado durante o boot varia de acordo com a utilização do computador, para um computador pessoal, normalmente esse tempo é de alguns segundos já para alguns servidores pode chegar a alguns minutos e é instantâneo em sistemas embarcados como celulares, por exemplo.

Resumo do processo de boot

Ao iniciar o processo de boot a CPU executa a instrução localizada no endereço de memória FFFFFFFF0h do BIOS. Nesse endereço encontra-se uma instrução que provoca um desvio para a execução do programa de auto teste POST (Power On Self Test) que verifica o funcionamento de diversos dispositivos do computador, dentre esses dispositivos o BIOS busca um o que seja o de inicialização, caso esse dispositivo não seja encontrado será apresentado um erro e o processo será terminado, quando encontrado esse dispositivo o BIOS executa o MBR (Registro Mestre de Iniciação).

Em muitos casos o MBR verifica a tabela de partições em busca de uma partição ativa. Se uma partição ativa é encontrada, o MBR carrega e executa o setor de iniciação da partição. O setor de iniciação é específico do sistema operacional, entretanto em muitos sistemas sua principal função é carregar e executar o kernel.

    Próxima página

Páginas do artigo
   1. O Boot
   2. Os gerenciadores do boot
   3. Organização do Boot do Linux
   4. O Boot no Linux - Conclusão
Outros artigos deste autor

Vulnerabilidade em mais de 6 milhões de sites com flash

Cheops: uma ótima ferramenta de rede

Shellter Project - Ferramenta para bypass de AV

SELinux - Security Enhanced Linux

Explorando celulares Android via Web com airbase-ng

Leitura recomendada

Pilha de Diretórios (comandos pushd, popd e dirs)

Sistemas Operacionais, Kernel e Shell

Kernel 4.0 no Debian, Linux Mint e Ubuntu - Atualização rápida

Bash - O interpretador de comandos

Guia introdutório do Linux IV

  
Comentários
[1] Comentário enviado por darkhscosta em 15/07/2009 - 22:38h

Muito bom o artigo Luiz. Apesar de não haver entrenós intimidades ou familiaridades, venho com certa liberdade lhe dizer q se trata - dentro de meu leigo conhecimento - de um material de referência muito claro e eficiente, tanto para leigos como também acho que os mais experientes também o podem colocar num "post-it" para eventual consulta.

Parabéns!

[2] Comentário enviado por BrunoEstevao em 03/05/2010 - 11:22h

Opa... Muito legal seu artigo. Simples e explica bem
Valeu,

Bruno Estevao
www.sempihost.com.br

[3] Comentário enviado por nicolo em 27/01/2011 - 07:45h

Apenas curiosidade:
O dicionário americano de etmologia define o termo boot como muito antigo (middle english). Basicamente significa botas ou sapatos curtos em contraste com a s botas longas.
Foi utilizado em 1944 para inicialização de recrutas "boot camp", como gíria para colocar as botas pela primeira vez.
Segundo o dicionário de etmologia (origem das palavras) o termo original pode ter vindo do germânico ou norse (escandinavo antigo), também do grupo germânico.

Quando utilizado em informática o termo já existia.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts