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.

[ Hits: 12.987 ]

Por: FLAVIO MOURA em 30/01/2013 | Blog: https://programnt-enm.weebly.com


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.

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:
  1. Nível de execução: Identifica uma determinada configuração do sistema na qual realiza somente um grupo de processos existentes;
  2. O arquivo /etc/inittab: O conteúdo desse arquivo especifica quais serão os processos iniciados nos diferentes níveis de execução;
  3. 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.


    Próxima página

Páginas do artigo
   1. Introdução
   2. O aquivo /etc/inittab
   3. Testando os níveis de execução
Outros artigos deste autor

Exemplos práticos de tabelas de partições

Leitura recomendada

Migrando para Linux sem medo

Convertendo novos usuários ao Linux

Linux - Só não usa quem não quer

Projeto Linux nas escolas públicas

Docker - Da virtualização a aplicações distribuídas

  
Comentários
[1] Comentário enviado por lcavalheiro em 30/01/2013 - 18:43h

Boa! Pra galera nova essas são sempre informações importantes. Parabéns!

[2] Comentário enviado por Jvek em 30/01/2013 - 21:32h

Valeu Icavalheiro, a ideia é bem essa mesmo; tem muito gente que se assusta com esse monte de números e letras achando que é um lance de outro mundo; ou algo do gênero, e acaba "desistimulado" a usar a linha de comando nas distros mais tradicionais.., .., mas aqueles que persistem aos poucos vão percebendo que a coisa não é tão complicada assim,.. a rapadura é dura mais é doce fala àê!

Abrç.

[3] Comentário enviado por lcavalheiro em 30/01/2013 - 22:15h

É o que eu falo sempre, só o terminal é GNU / Linux e o Slackware é seu profeta ;-)

[4] Comentário enviado por obernan em 01/02/2013 - 11:01h

Bom artigo, parabéns.

[5] Comentário enviado por Jvek em 01/02/2013 - 18:58h

Valeu obernan!

Abrç.

[6] Comentário enviado por thiagocoelho em 04/02/2013 - 19:08h

Excelente artigo, parabéns!

[7] Comentário enviado por Jvek em 05/02/2013 - 09:26h

Valeu thiagocl! Abrçs. Que bom que a galera, no geral, tem gostado.,,
mais uma vez obrigado.

[8] Comentário enviado por azk em 16/06/2013 - 09:00h

Belo artigo, cara!
Irá ajudar muitos iniciantes em Slackware.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts