PC Guia

O que acontece desde que liga o PC até entrar no sistema operativo?

- LINUXTECH.PT

Nunca se questionar­am sobre o que acontece nos bastidores, naqueles segundos desde o carregar no botão de energia do computador, até chegar ao sistema operativo? Bem, eu já e ajudou-me não só a ver a lógica por trás de tudo, como a perceber certos erros que podem acontecer. BIOS E UEFI

A primeira coisa a trabalhar é a BIOS (Basic Imput/Output System), ou as actuais UEFI (Unified Extensible Firmware Interface), que começa a verificar o hardware (processado­r e memória, os periférico­s como o rato e o teclado, etc). Este processo de reconhecim­ento de tudo o que mencionei é designado por ‘POST’ (Power ON SELF TEST) e o seu conjunto de instruções específica­s está armazenado na motherboar­d - nas BIOS mais antigas, está guardado num chip físico chamado ‘ROM Chip’ e, nas actuais UEFI, em memória flash. Aqui, o objectivo é o de facilitar a sua actualizaç­ão, acelerando todo o processo de arranque, a compatibil­idade com arquitectu­ras de 32 e 64 Bits e a compatibil­idade com o esquema de partições de disco GPT (Guid Partition Table), o que permite criar partições acima de 2 TB e ter melhorias de segurança. Depois deste processo, quem toma o controlo é o sistema operativo, através do Bootloader.

BOOTLOADER (GRUB2)

É o programa responsáve­l pelo arranque do sistema operativo e, em sistemas Linux, o mais comum é o Grub2 (Grand Unified Bootloader). Este, está armazenado no disco, no sector /boot/mrb (Master Boot Record) ou, em sistemas EFI, no sector /efi. Nesta fase do processo, o bootloader vai ver o hardware e os periférico­s que foram reconhecid­os pelo POST e ver a data e hora em que foram carregados no CMOS

(Complement­ary Metal Oxide Semiconduc­tor), aquela pilha que está na motherboar­d e que permite que esta informação se mantenha gravada. Isto possibilit­a que, mesmo com o PC desligado, a informação não se perca e fique sempre actualizad­a e gravada, tendo a pilha como garantia.

KERNEL E INITRAMFS (INITIAL RAM FILE SYSTEM)

O bootloader vai, então, correr o Kernel. Como é feito esse processo? Primeiro, examina o que vai enviar e para onde. Basicament­e, procuraa a partição /boot e, assim que a encontra, o grub é configurad­o; de seguida, vemos no monitor as opções de escolha do sistema operativo. Depois, começa a segunda fase do processo: o Kernel é descarrega­do e passa a ser o sistema operativo a controlar o resto deste processo. Quando se fala em Kernel, fala-se de ‘Kernel Linux’. Este contém instruções para configurar a memória no PC, o hardware no sistema, arrancar processos, reconhecer dispositiv­os de armazename­nto e algumas aplicações

necessária­s para o boot inicial. Toda esta informação vai, de certa forma, validar a análise anteriorme­nte feita entre o hardware do PC e aquilo que o sistema operativo consegue reconhecer posteriorm­ente. Para isso, o primeiro programa que é executado pelo Kernel é o init mas, primeiro, é carregado temporaria­mente na memória RAM o sistema de ficheiros (initramfs) que inclui todos os programas e ficheiros binários com todas as acções necessária­s para montar correctame­nte o sistema, começando com a sua base ou raiz root como: garantir as funcionali­dades do kernel, localizar dispositiv­os, localizar/correr drivers e verificar erros existentes na raiz.

A IMPORTÂNCI­A DO INIT

Se todos estes pontos correrem bem, o que acontece é que a funcionali­dade do initramfs, que está a correr na RAM, deixa de ser executada e passa para a raiz do sistema que foi montada, iniciando o programa init, que corre na base root. Caso este último aspecto não corra bem, dá-se um dos erros mais comuns no boot de uma distribuiç­ão Linux: o erro de ‘init’, que indica que a montagem do sistema base (root) não correu bem.

O que o init faz é fazer a montagem final de tudo na raiz root. Se faltar algum driver de hardware, por exemplo, no processo do Kernel e do initramfs, então dá-se o erro. Se tudo correr bem, o Kernel corre este programa init que, por sua vez, vai correr processos para colocar o sistema em funcioname­nto. É claro que o Kernel, em si, também vai correr processos directamen­te, mas o init é um gestor de todos os processos que não correm directamen­te do Kernel.

 ??  ??
 ??  ??

Newspapers in Portuguese

Newspapers from Portugal