Estou tão fascinado pela sua pergunta que eu respondi no linuxintro . Aqui está a resposta personalizada para sua pergunta:
Quando um PC típico com Linux como Fedora, SUSE ou Ubuntu inicializa, os passos são os seguintes:
- O BIOS executa a autoverificação
- o BIOS carrega o setor de inicialização e o executa
- Bootloader como grub ou lilo é executado
- Bootmenu é mostrado (opcional)
- O kernel é carregado
- O disco RAM inicial é carregado
- O kernel é executado
- O kernel executa o init
-
o init é executado, dependendo da sua distribuição, versão e configuração
- SysV scripts de inicialização ou
- systemd ou
- upstart
O sentido de todos esses programas é iniciar serviços como
- dbus que permite a comunicação entre aplicativos para que um aplicativo possa chamar funções de outro aplicativo em execução. Isso é algo que geralmente não é visível para os usuários, por exemplo, um aplicativo chamando o gerenciador de janelas para colocar sua própria janela em foco
- login que permite aos usuários efetuar login nos terminais CTRL_ALT_F *. O processo de login como visto por ps -A no caso de systemd ser systemd-logind (pode variar novamente por distribuição)
- udev que tem muitos nomes, por exemplo para mim eu acho isso com ps -A como systemd-udevd. Atribui por exemplo o dispositivo manipula em / dev / para dispositivos que você conecta, por exemplo um disco USB
- cron que executará comandos baseados em uma tabela de horários em / etc / crontab e também terá um recurso "@reboot" para iniciar comandos na inicialização.
10) o processo de login, manipulado pelo systemd irá aguardar um login em um terminal virtual, um é geralmente acessível pressionando CTRL_ALT_F1
11) normalmente e por padrão, o processo de inicialização iniciará o gerenciador de exibição, por exemplo, kdm (gerenciador de exibição do KDE) ou xdm
12) o gerenciador de exibição iniciará agora o sistema gráfico. Não há praticamente nenhum sistema gráfico, mas o Xorg (o hildon é para dispositivos embarcados).
13) o gerenciador de exibição irá aconselhar o servidor Xorg a exibir uma tela de login
Agora a inicialização está completa e o computador aguarda o login do usuário.
14) no login do usuário, o gerenciador de exibição iniciará um ambiente de área de trabalho como o KDE, o GNOME ou o XFCE4. O processo-raiz para a sessão do usuário no KDE será chamado de startkde, o processo-raiz para o GNOME será chamado de gnome-session, o processo-raiz para o XFCE4 será chamado xfce4-session
15) O KDE normalmente inicia todos os arquivos executáveis de ~ / .kde / Autostart e os arquivos .desktop de / etc / xdg / autostart (veja agendamento de tarefas ).
16) Quando o usuário tiver logado graficamente e clicar em um ícone para abrir um console, normalmente o bash será executado. Bash irá primeiro executar o .bashrc então
17) Quando o usuário abre um shell de log, isso significa que ele precisa fazer o login por senha ou por uma chave autorizada. Ele pode fazer isso no console CTRL_ALT_F1 ou ssh'ing em um computador, por exemplo, localhost. Então os scripts .sh de /etc/profile.d e .bashrc serão executados.