Vários computadores são capazes apenas de executar códigos presentes na memória de trabalho (ROM ou RAM) durante o processo de inicialização. Os sistemas operacionais modernos são geralmente armazenados em SSDs, disco rígido, CD-ROM ou outros dispositivos de armazenamento. Portanto, no momento em que o computador é ligado, não há um sistema operacional carregado na memória. Neste post, entenda o processo de boot em computadores.
O hardware do computador não tem a capacidade de realizar as funções do sistema operacional, como carregar um programa a partir do disco. Isso cria um paradoxo aparentemente insolúvel: para carregar o sistema operacional na memória, é necessário ter um sistema operacional já carregado.
Sistema de iniciação ou carregador
A resolução desse paradoxo reside na utilização de um programa específico e compacto, conhecido como sistema de iniciação, carregador, boot loader ou bootstrap.
Embora esse programa não possua a funcionalidade completa de um sistema operacional, é habilmente projetado para carregar outro programa, permitindo assim a inicialização do sistema operacional.
Com frequência, são empregados carregadores de múltiplos estágios, nos quais vários pequenos programas se complementam sequencialmente, culminando no último estágio que carrega efetivamente o sistema operacional.
Nos primórdios dos computadores programáveis, os operadores utilizavam chaves no painel frontal para inserir o sistema de iniciação na memória antes de iniciar a CPU. Posteriormente, esse programa podia ler o sistema operacional a partir de um meio de armazenamento externo, como uma fita de papel perfurado.
Uma possível linguagem de máquina para o sistema de iniciação pode ser tão simples quanto as oito instruções a seguir, destinadas a realizar a leitura dos dados provenientes da fita.
1. Faça o registrador P = 8;
2. Verifique se a fita de papel está posicionada;
3. Se não estiver retorne ao passo 1;
4. Leia um byte da fita;
5. Se chegou no fim da fita pule para o passo 8;
6. Armazene os dados lidos no endereço do registrador P;
7. Incremente o registrador P;
8. Pule para 1.
Nos computadores atuais, o procedimento de inicialização inicia-se com a CPU executando um programa armazenado na memória ROM (o BIOS, no caso dos PCs IBM), em um endereço predefinido. A CPU é pré-programada para executar esse programa automaticamente após um reset.
Esse programa possui funcionalidades básicas, destinadas a localizar dispositivos que possam conter um sistema operacional e, portanto, sejam passíveis de participar do processo de inicialização. Uma vez identificado o dispositivo, um pequeno programa é carregado a partir de uma seção específica desse dispositivo.
Primeiro estágio do sistema de iniciação
O estágio inicial consiste em um programa que ultrapassa o código contido no MBR, localizando-se nos setores restantes da primeira trilha. Devido à sua limitação a um número reduzido de setores, tende a operar com apenas um sistema de arquivos.
Apesar disso, é capaz de carregar um sistema operacional ou o segundo estágio, que, por ser um programa mais extenso, tem a capacidade de trabalhar com diversos sistemas de arquivos e sistemas operacionais.
Segundo estágio do sistema de iniciação
O pequeno programa, geralmente, não constitui o sistema operacional em si, mas atua como o segundo estágio do processo de inicialização, como é o caso do Lilo ou Grub. Sua função principal é carregar o sistema operacional apropriado e, finalmente, transferir a execução para ele.
Uma vez que o sistema operacional é carregado, este deve inicializar e incorporar drivers de dispositivos (device drivers) e outros programas essenciais para garantir a operação normal do sistema operacional.
O processo de inicialização é considerado concluído quando o computador está pronto para ser utilizado pelo usuário. Em computadores pessoais modernos, o tempo típico para executar esse processo é de aproximadamente um minuto, sendo que cerca de 15 segundos são dedicados à chamada do processo de inicialização e o restante à carga do sistema operacional.
Entretanto, em sistemas mais complexos, como servidores, o processo de inicialização pode demandar vários minutos, incluindo a carga de todos os serviços. Para aumentar a disponibilidade, alguns serviços podem ser iniciados prioritariamente em relação a outros.
Sistemas embutidos, como aqueles encontrados em dispositivos como televisores, podem inicializar instantaneamente, uma vez que esperar um minuto para ligar uma TV é considerado inaceitável. Portanto, nesses casos, o sistema operacional inteiro está geralmente armazenado na ROM ou na memória flash, permitindo sua execução direta.
Em termos computacionais, uma sequência de inicialização abrange todas as operações que um computador realiza após ser ligado, com o objetivo de carregar o sistema operacional.
Dispositivos de iniciação do BIOS
Um dispositivo de inicialização refere-se a qualquer dispositivo que requer iniciação antes da carga do sistema operacional. Essa categoria abrange dispositivos de entrada, como o teclado, dispositivos de saída, como o monitor, e dispositivos de armazenamento, incluindo drives de disquete, discos rígidos, CD-ROMs, entre outros.
Um exemplo especial de dispositivo de inicialização são aqueles capazes de carregar o sistema operacional, como o drive de disquete e o disco rígido em máquinas PC mais antigas.
Em uma BIOS moderna, o usuário tem a capacidade de selecionar vários dispositivos para a inicialização, tais como disquete, Superdisk, disco rígido, SCSI, CD-ROM, Zip drive ou USB (USB-FDD, USB-ZIP, USB-CDROM, USB-HDD).
Por exemplo, é possível instalar o Microsoft Windows no primeiro disco rígido e o Linux no segundo. Através da modificação dos parâmetros na BIOS, é viável indicar qual dispositivo contém o sistema operacional a ser carregado.
Sequência de iniciação no PC
Ao iniciar o processo de inicialização, a CPU do computador pessoal executa a instrução localizada no registrador de memória do BIOS, que corresponde à última posição de memória da BIOS. Esse registrador contém uma instrução que desvia a execução para o ponto de início do programa inicial no BIOS.
Esse programa realiza um autoteste (POST), que consiste em verificar o funcionamento de diversos dispositivos no computador. Posteriormente, o BIOS procura em uma lista de dispositivos previamente configurados até encontrar aquele que pode ser designado como o dispositivo de inicialização.
Caso o dispositivo de inicialização não seja localizado, um erro é reportado e o processo de inicialização é encerrado. No entanto, se o dispositivo de inicialização é identificado, o BIOS carrega e executa o MBR (Registro Mestre de Inicialização).
Em muitas situações, 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 inicialização dessa partição.
O setor de inicialização é específico do sistema operacional, sendo que em muitos sistemas, sua principal função é carregar e executar o núcleo.
Falando sobre o Android, a partição de inicialização é crucial para o funcionamento de celulares e tablets, pois contém todas as informações necessárias para o dispositivo operar.
Nessa partição, encontramos o Bootloader, independente do sistema principal e responsável pela coordenação geral do funcionamento do Android, geralmente vindo bloqueado de fábrica para impedir alterações.
Além disso, a partição contém o Kernel Linux, que gerencia os recursos do sistema, permitindo que os aplicativos façam uso deles. Cada nova instalação modifica os dados nessa partição, permitindo o uso dos softwares instalados durante o acionamento do dispositivo.
Origem do termo “boot”
A origem do termo “boot” remonta ao inglês “booting”, derivado por sua vez de “bootstrapping” (de boot straps – os cadarços de bota).
No contexto da computação, todas essas expressões essencialmente compartilham o mesmo significado. A origem do termo faz referência às histórias sobre o Barão de Münchhausen, lendário por supostamente conseguir erguer-se de um pântano (sem se molhar) puxando pelos cadarços de suas próprias botas (pulling himself by his own bootstraps).
Dessa forma, o termo busca transmitir a ideia de um processo aparentemente impossível, no qual o sistema se eleva (ou é iniciado) por seus próprios esforços.
Arquivo bootável
Um arquivo bootável, também referido como “bootable file” em inglês, é um arquivo projetado para ser executado durante o processo de inicialização do sistema. Exemplos incluem as instalações de sistemas operacionais como Windows XP, Windows Vista, Windows 7, eComStation, Linux, OS/2, Windows 8, entre outros.
Saiba como deixar qualquer computador mais rápido e estável. Aprenda também como montar um PC novinho em folha com aulas passo a passo do zero!
Veja também como realizar manutenções preventivas e corretivas, fazer testes em peças e upgrades de hardware com aulas diretas sem enrolação.
Ganhe dinheiro consertando computadores e conquiste a sua independência!
Dúvidas ou sugestões sobre o processo de boot em computadores? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários