freeCodeCamp/guide/portuguese/linux/how-linux-system-boots-up-6.../index.md

5.6 KiB
Raw Blame History

title localeTitle
Linux Booting Process Processo de Inicialização do Linux

Processo de Inicialização do Linux - Processo Descritivo de 6 Passos

O sistema operacional é definido como o software de baixo nível que suporta as funções básicas de um computador, como agendamento de tarefas e controle de periféricos. O SO mantém esses 6 estágios de alto nível de um processo típico de inicialização do Linux.

Passos

1. BIOS

  • BIOS significa Basic Input / Output System
  • Executa algumas verificações de integridade do sistema no HDD
  • Procura, carrega e executa o programa de boot loader, principalmente no Master Boot Record (MBR)
  • Ele procura por boot loader em disquete, cd-rom ou disco rígido. Podemos pressionar uma tecla (normalmente F12 de F2, mas depende do seu sistema) durante a inicialização do BIOS para alterar a seqüência de inicialização.
  • Depois que o programa de boot loader é detectado e carregado na memória, o BIOS dá o controle a ele.
  • Então, em termos simples, o BIOS carrega e executa o gerenciador de inicialização MBR

2. MBR

  • MBR significa Master Boot Record.
  • Está localizado no primeiro setor do disco inicializável. Normalmente, / dev / hda ou / dev / sda. Por que é sda e hda? consulte aqui para mais.
  • O MBR tem menos de 512 bytes de tamanho. Isto tem três componentes: 1) informação primária do carregador de inicialização em 1 446 bytes. 2) informação da tabela de partição nos próximos 64 bytes. 3) verificação de validação de mbr nos últimos 2 bytes.
  • Ele contém informações sobre o GRUB (ou LILO em sistemas antigos).
  • Portanto, em termos simples, o MBR carrega e executa o carregador de inicialização GRUB.

3. GRUB

  • Está localizado no primeiro setor do disco inicializável. Normalmente, / dev / hda ou / dev / sda. Por que é sda e hda? consulte aqui para mais.
  • Se você tem múltiplas imagens de kernel instaladas em seu sistema, você pode escolher qual delas será executada, por padrão, somente a principal é inicializada.
  • O GRUB exibe uma tela inicial, aguarda alguns segundos, se você não digitar nada, ele carrega a imagem padrão do kernel, conforme especificado no arquivo de configuração do grub.
  • O GRUB tem o conhecimento do sistema de arquivos (o antigo gerenciador de Linux LILO não entendia o sistema de arquivos).
  • O arquivo de configuração do Grub é /boot/grub/grub.conf (/etc/grub.conf é um link para isso). A seguir, o exemplo grub.conf do CentOS.
#boot=/dev/sda 
 default=0 
 timeout=5 
 splashimage=(hd0,0)/boot/grub/splash.xpm.gz 
 hiddenmenu 
 title CentOS (2.6.18-194.el5PAE) 
          root (hd0,0) 
          kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ 
          initrd /boot/initrd-2.6.18-194.el5PAE.img 

4. Kernel

  • Monta o sistema de arquivos raiz conforme especificado em “root =” no grub.conf
  • Kernel executa o programa / sbin / init
  • É o primeiro programa a ser executado pelo Linux Kernel, ele tem o ID do processo (PID) de 1. Faça um 'ps -ef | grep init 'e verifique o pid. Você também pode usar o netstat
  • initrd significa Disco RAM Inicial.
  • O initrd é usado pelo kernel como sistema de arquivos raiz temporário até que o kernel seja inicializado e o sistema de arquivos raiz real seja montado. Ele também contém drivers necessários compilados dentro, o que ajuda a acessar as partições do disco rígido e outros hardwares.

5. Init

  • Olha para o arquivo / etc / inittab para decidir o nível de execução do Linux.

  • A seguir estão os níveis de execução disponíveis

  • 0 - parada

  • 1 - modo de usuário único

  • 2 - Multiuser, sem NFS

  • 3 - Modo multiusuário completo

  • 4 - sem uso

  • 5 - X11

  • 6 - reiniciar

  • Init identifica o initlevel padrão de / etc / inittab e usa isso para carregar todo o programa apropriado.

  • Execute o 'grep initdefault / etc / inittab' em seu sistema para identificar o nível de execução padrão

  • Se você quiser entrar em apuros, você pode definir o nível de execução padrão como 0 ou 6. Como você sabe o que significa 0 e 6, provavelmente você não pode fazer isso.

  • Normalmente, você definiria o nível de execução padrão como 3 ou 5.

6. Programas de nível de execução

  • Quando o sistema Linux está inicializando, você pode ver vários serviços sendo iniciados. Por exemplo, pode dizer “iniciando o sendmail…. ESTÁ BEM". Esses são os programas de nível de execução, executados a partir do diretório de nível de execução, conforme definido pelo nível de execução.
  • Dependendo da sua configuração de nível de inicialização padrão, o sistema executará os programas a partir de um dos seguintes diretórios.
  • Nível de execução 0 - /etc/rc.d/rc0.d/
  • Nível de execução 1 - /etc/rc.d/rc1.d/
  • Nível de execução 2 - /etc/rc.d/rc2.d/
  • Nível de execução 3 - /etc/rc.d/rc3.d/
  • Nível de execução 4 - /etc/rc.d/rc4.d/
  • Nível de execução 5 - /etc/rc.d/rc5.d/
  • Nível de execução 6 - /etc/rc.d/rc6.d/
  • Sob os diretórios /etc/rc.d/rc*.d/, você veria programas que começam com S e K.
  • Programas iniciados com S são usados durante a inicialização. S para inicialização.
  • Programas começa com K são usados durante o desligamento. K para matar.
  • Existem números ao lado de S e K nos nomes dos programas. Esse é o número de sequência em que os programas devem ser iniciados ou mortos.