O Processo de Boot no Linux

tas

Bem, neste meu primeiro artigo para o Viva o Linux, descreverei os tipos de Boot no Linux e suas etapas.

[ Hits: 22.628 ]

Por: Tadeu Araujo Sales em 08/03/2012


Boot no Linux



Boot é o termo em inglês para o processo de inicialização do computador, que carrega o sistema operacional quando a máquina é ligada, neste artigo, descreverei os tipos de Boot no Linux e suas etapas.

- Boot Manual e Automático:
  • Boot Automático: O sistema executa tudo por sua conta.
  • Boot Manual: O sistema executa até um determinado ponto e passa o controle para um operador do sistema antes da maioria dos scripts serem executados.
Neste momento, o sistema está em modo monousuário. Este modo é utilizado somente se houver algum problema no sistema.

- Etapas do processo de inicialização:
  • Carga e inicialização do kernel;
  • Detecção e inicialização de dispositivos;
  • Criação e inicialização processos espontâneos;
  • Intervenção do operador (somente no modo manual);
  • Execução dos scripts de inicialização do sistema;
  • Operação multiusuário.

Carga e Inicialização do kernel

O kernel é um programa, e a primeira tarefa do Boot é alocar o kernel na memória para executá-lo. O caminho para localizar este programa é: “/vmlinux”, ou: “/boot/vmlinux”.

Durante o primeiro processo, a memória RAM carrega um pequeno programa de Boot procedente do disco. Este programa é responsável para organizar o kernel e fazer seu carregamento.

O kernel efetua alguns testes para verificar quanto de memória está disponível. Neste ponto, o kernel reserva um pouco de memória para algumas estruturas de dados internas.

O kernel imprime na tela a quantidade de memória RAM disponível para o usuário.

Detecção e Inicialização de Dispositivos

Uma das principais tarefas do kernel, é verificar o ambiente da máquina e localizar os dispositivos.

Ao criar um kernel, você informa quais dispositivos ele deve encontrar. Quando o kernel é executado, ele tenta localizar e executar estes dispositivos. A cada dispositivo encontrado, o kernel imprime uma linha criptografada.

Embora alguns dispositivos não sejam localizados completamente, o kernel do Linux faz um verificação sondando o barramento em busca de novos dispositivos.

Os dispositivos que não respondem à sondagem são desabilitados, se algum dispositivo for conectado após este procedimento, o mesmo pode ser carregado ou habilitado durante a execução.

Processos do Sistema

Após a inicialização básica do kernel, são criados processo espontâneos (Fork), no Linux não existe nenhum 'PID 0' visível (INIT é o PID 1).

O INIT, este é acompanhado de vários processos que manipulam a memória tipo: kilushd, kupdate, kpiod, e kswapd.

Destes, somente INIT é realmente um processo, os demais são partes do kernel que por razões de escalonamento, são arrumados para se parecerem um processo.

Depois dos processos serem criados, o papel do kernel no Boot está completado, no entanto, nenhum processo para Login foi criado e nenhum Daemon foi inicializado. Todas estas tarefas serão tratadas pelo processo INIT.

Intervenção do Operador

Se o sistema for iniciado no modo monousuário, o processo INIT recebe uma Flag notificando que ele deve executar o Sulogin, que e um Login mais radical, que executa quase todos os comandos Shell.

Nas distribuições openSUSE e Debian, só existe uma partição Raiz montada, por isso, para utilizar os comando essenciais e os programas em: “/bin /sbin”, ou: “/etc”, estas partições devem ser montadas e verificadas com o comando fsck, que deve ser executado manualmente.

Daemons não executa no modo monousuário, por isso, serviços que precisam de processos servidor, não funcionaram normalmente.

- Execução dos scripts de inicialização do sistema:

No momento que ele estiver pronto para executar os Scripts de inicialização, ele é reconhecidamente Linux. Os Scripts de inicialização são simplesmente Scripts Shell selecionados e executados por INIT através de um Algoritmo.

- Operação multiusuário:

Depois dos Scripts serem inicializados, o sistema está completamente operacional, mas não há nenhum processo de gerenciamento de Login. Então, o INIT é responsável por criar os processos Getty, responsável pelo Login e tornando o Linux multiusuário.

O processo INIT também cria os processos para Logins gráficos XDM e GDM.

Previamente publicado em: http://tas-3110.blogspot.com - Boot no Linux
   

Páginas do artigo
   1. Boot no Linux
Outros artigos deste autor

Runlevel

Leitura recomendada

Como compilar o Kernel em qualquer distribuição GNU/Linux

Transformando seu Linux em live!

Compilando Kernel no CentOS 6.0

Gerência e criação de módulos do kernel

Compilação do kernel passo-a-passo

  
Comentários
[1] Comentário enviado por albfneto em 08/03/2012 - 13:29h

Bom artigo e assunto interessante. favoritado.

[2] Comentário enviado por Myssbot em 08/03/2012 - 17:51h

Belo Artigo, muito bem explicado.

Vlw por compartilhar!


Contribuir com comentário