Slackware 13.37 - Compreendendo o processo de inicialização
Esse artigo é básico a quem queira entender melhor o processo de inicialização dos sistemas GNU/Linux. Conhecendo a sequência na qual o sistema inicia seus processos é possível, por exemplo, iniciar e interromper serviços.
Introdução
Este artigo é básico a qualquer um que queira entender um pouco melhor o processo de inicialização dos sistemas GNU/Linux. Conhecendo a sequência na qual o sistema inicia seus processos, é possível, por exemplo, iniciar e interromper serviços.
No entanto, o intuito deste é apenas apresentar ao usuário uma visão geral de como os processos do sistema são iniciados, mais especificamente na distribuição a qual faço uso, o Slackware 13.37. No geral, o processo é semelhante nas demais distribuições GNU/Linux.
ps ax | more
Na saída deste comando, aparecerá uma listagem de dados semelhante à imagem demonstrada a seguir:
Veja que a primeira entrada da lista, no PID, é igual a 1, este é o chamado init, vulgo, pai de todos os outros processos, do qual falávamos no parágrafo anterior.
Mas o que o processo init inicia? Isso vai depender de alguns fatores:
O leitor atento, ou usuário um pouco mais curioso, deve estar se questionando acerca dos níveis de execução citados no item dois, e seria imprudente de minha parte não explicitar quais são. Esse assunto dará sequência ao nosso próximo tópico.
A tabela a seguir, demonstra o significado desses níveis de execução, além de algumas ações específicas, nos sistemas Fedora, Debian, SUSE e Xandros:
Na sequência, bem semelhante à anterior, um exemplo no sistema Slackware 13.37:
No entanto, o intuito deste é apenas apresentar ao usuário uma visão geral de como os processos do sistema são iniciados, mais especificamente na distribuição a qual faço uso, o Slackware 13.37. No geral, o processo é semelhante nas demais distribuições GNU/Linux.
O processo de boot
No momento do boot, o GNU/Linux carrega e executa o sistema operacional principal a partir do HD, o primeiro grupo de processos é iniciado pelo init. Para que possamos ver quais são os processos executados no sistema é muito simples, basta digitar o comando a seguir:ps ax | more
Na saída deste comando, aparecerá uma listagem de dados semelhante à imagem demonstrada a seguir:
PID TTY STAT TIME COMMAND 1 ? S 0:00 init [1]Na primeira coluna PID (identificação do processo, do inglês Process ID), temos um número, atribuído pelo kernel, para cada processo.
Veja que a primeira entrada da lista, no PID, é igual a 1, este é o chamado init, vulgo, pai de todos os outros processos, do qual falávamos no parágrafo anterior.
Mas o que o processo init inicia? Isso vai depender de alguns fatores:
- Nível de execução: Identifica uma determinada configuração do sistema na qual realiza somente um grupo de processos existentes;
- O arquivo /etc/inittab: O conteúdo desse arquivo especifica quais serão os processos iniciados nos diferentes níveis de execução;
- O número de shell scripts: Existe um número muito grande de scripts executados em níveis específicos contidos dentro do diretório /etc/init.d e em diversos outros subdiretórios existentes (com nomes iniciados com "rc") dentro do /etc.
O leitor atento, ou usuário um pouco mais curioso, deve estar se questionando acerca dos níveis de execução citados no item dois, e seria imprudente de minha parte não explicitar quais são. Esse assunto dará sequência ao nosso próximo tópico.
Níveis de execução do sistema
A ampla maioria das distribuições GNU/Linux utiliza, ao menos, sete níveis de execução, que vão de 0 a 6. O significado de cada nível varia de uma distribuição para outra.A tabela a seguir, demonstra o significado desses níveis de execução, além de algumas ações específicas, nos sistemas Fedora, Debian, SUSE e Xandros:
| Níveis de execução | Função |
| 0 | Desliga o sistema. |
| 1 | Executa em modo de usuário único. |
| 2 | Executa o modo multiusuário (Debian e Xandros utilizam este como nível de execução padrão). |
| 3 | Executa em modo multiusuário total (utilizado para login em modo texto no Fedora e SUSE). | 4 | Executa em modo multiusuário total (não é utilizado no Fedora e SUSE). |
| 5 | Executa em modo multiusuário total (utilizado como nível de execução padrão no modo gráfico no Fedora e SUSE). |
| 6 | Reinicia o sistema. |
Na sequência, bem semelhante à anterior, um exemplo no sistema Slackware 13.37:
| Níveis de execução | Função |
| 0 | Desliga o sistema. |
| 1 | Executa em modo de usuário único. |
| 2 | Não utilizado (geralmente configurado para o mesmo nível de execução 3 - multiusuário). |
| 3 | Executa em modo multiusuário. | 4 | Gerenciador de sessão (X11 com KDM, GDM, XDM). |
| 5 | Não utilizado (geralmente configurado para o mesmo nível de execução 3 - multiusuário). |
| 6 | Reinicia o sistema. |