Essa explicação não e minha, encontrei no site 123 Linux Escola e achando interessante e bem explicativo pelo Jobi Joseph (autor) e espero que possa ajudar a todos.
Pressione o botão de energia no seu sistema, e depois de alguns momentos que você vê o prompt de login Linux. Alguma vez você já se perguntou o que acontece nos bastidores a partir do momento que você pressionar o botão de alimentação até o prompt de login Linux aparece?
A seguir estão as etapas de um processo de inicialização típico Linux.
BIOS
- BIOS significa Basic Input / Output System
- Executa algumas verificações de integridade do sistema
- Pesquisas, cargas e executa o programa gerenciador de inicialização.
- Ele procura por carregador de boot no disquete, cd-rom, ou disco rígido. Você pode pressionar uma tecla (normalmente F12 de F2, mas isso depende de seu sistema) durante a inicialização do BIOS para alterar a seqüência de inicialização.
- Uma vez que o programa gerenciador de inicialização é detectado e carregado na memória, BIOS dá o controle para ele.
- Assim, em termos simples BIOS carrega e executa o gerenciador de inicialização MBR.
MBR
- MBR significa Master Boot Record.
- Ele está localizado no 1 º setor do disco de boot. Tipicamente / dev / hda ou / dev / sda
- MBR é inferior a 512 bytes de tamanho. Esta tem três componentes 1) Informação do carregador de inicialização primário em 1 446 bytes 2) info tabela de partição nos próximos 64 bytes 3) mbr verificação de validação nos últimos 2 bytes.
- Ele contém informações sobre GRUB (ou o LILO em sistemas antigos).
- Assim, em termos simples MBR carrega e executa o carregador de boot GRUB.
GRUB
- GRUB significa Grand Unified Bootloader.
- Se você tem várias imagens de kernel instalados em seu sistema, você pode escolher qual delas deve ser executada.
- GRUB exibe uma tela inicial, espera por alguns segundos, se você não digite nada, ele carrega a imagem do kernel padrão conforme especificado no arquivo de configuração do GRUB.
- GRUB tem o conhecimento do sistema de arquivos (o mais velho carregador do Linux LILO não entendia sistema de arquivos).
- Arquivo de configuração do GRUB é o / boot / grub / grub.conf (/ etc / grub.conf é um link para isso). O seguinte é grub.conf amostra 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
- Como você notar com a informação acima, que contém o kernel e imagem initrd.
- Então, em termos simples, o GRUB apenas carrega e executa o Kernel e imagens initrd.
Núcleo
- Monta o sistema de arquivos raiz, conforme especificado no "root =" no grub.conf
- Kernel executa a sbin / programa / init
- Desde o init foi o primeiro programa a ser executado pela Linux Kernel, que tem o ID do processo (PID) de 1 Faça um 'ps-ef | grep init. E verifique o pid.
- initrd significa disco RAM inicial.
- initrd é usado pelo kernel como sistema de arquivos raiz temporária até kernel é carregado eo sistema de arquivos raiz real é montado. Ele também contém os drivers necessários compilados dentro, o que ajuda-lo para acessar as partições do disco rígido, e outro hardware.
Init
- Olha para o arquivo / etc / inittab para decidir o nível de execução do Linux.
- Seguem-se os níveis de execução disponíveis
- 0 - halt
- 1 - Modo de usuário único
- 2 - Multiusuário, sem NFS
- 3 - Modo multiusuário completo
- 4 - não usado
- 5 - X11
- 6 - reinicialização
- Init identifica o initlevel padrão do arquivo / etc / inittab e que usa para carregar todos os programas apropriados.
- Executar '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 para 0 ou 6. Desde que você sabe o que 0 e 6 significa, provavelmente, você não pode fazer isso.
- Normalmente, você deve definir o nível de execução padrão para 3 ou 5
Programas de Nível de Execução
- Quando o sistema Linux está inicializando, você pode ver vários serviços de começar. Por exemplo, pode dizer "a partir sendmail .... OK ". 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 seu nível de execução.
- Dependendo da sua configuração de nível de inicialização padrão, o sistema irá 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 /
- Por favor, note que também há links simbólicos disponíveis para estes diretórios em / etc diretamente. Assim, / etc/rc0.d está ligada a / etc/rc.d/rc0.d.
- Sob o / etc / rc.d / rc *. D / diretórios, você veria os programas que começam com S e K.
- Programas começa com S são usados durante a inicialização. S para a inicialização.
- Programas começa com K são utilizados durante o encerramento. K para matar.
- Há um número ao lado S e K nos nomes dos programas. Esses são o número de seqüência em que os programas devem ser iniciados ou mortos.
- Por exemplo, S12syslog é iniciar o deamon syslog, que tem o número de seqüência de 12. S80sendmail é iniciar o daemon sendmail, que tem o número de seqüência de 80. Assim, o programa syslog será iniciado antes de sendmail.
Isso é o que acontece durante o processo de inicialização do Linux.
Fonte: http://www.matsuura.com.br/2014/04/processo-de-inicializacao-do-linux.html
0 comments:
Postar um comentário