5.6 KiB
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.
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.