Come avviene il processo di caricamento del sistema operativo Linux?
sobes.tech AI
Risposta dell'AI
-
BIOS/UEFI: Inizializzazione dell'hardware, verifica delle periferiche, scelta del dispositivo di avvio.
-
MBR/GPT: Lettura del contenuto del record di avvio principale (MBR) o della tabella delle partizioni GUID (GPT) dal dispositivo di avvio.
-
Bootloader (GRUB, LILO): Caricamento del bootloader. Visualizzazione del menu di avvio (se presente), scelta del kernel e dell'initramdisk.
-
Kernel: Caricamento del kernel del sistema operativo in memoria. Inizializzazione dell'hardware, montaggio del filesystem root.
-
Initial Ramdisk (initrd/initramfs): Caricamento del filesystem root temporaneo in memoria. Esecuzione di script per rilevare l'hardware e preparare il montaggio del filesystem root reale.
-
Root Filesystem: Montaggio del filesystem root reale, definito nei parametri del kernel o in initrd/initramfs.
-
Init System (SysVinit, systemd): Avvio del sistema di init. systemd è più moderno e ampiamente usato.
- SysVinit: Avvio dei servizi in base ai runlevel.
- systemd: Avvio dei servizi in parallelo basato su unità (services, targets, ecc.).
# Esempio di unità systemd [Unit] Description=Servizio della mia applicazione After=network.target [Service] ExecStart=/usr/local/bin/my-app Restart=on-failure [Install] WantedBy=multi-user.target -
Runlevel/Target: Transizione al livello di esecuzione o stato target appropriato (SysVinit o systemd), avviando i servizi necessari (servizi di rete, interfaccia grafica, ecc.).
-
Login Prompt/Display Manager: Avvio della shell di login per l'utente (terminale) o del gestore di accesso grafico (GDM, LightDM, ecc.).
-
User Login: L'utente effettua l'accesso al sistema. La sessione utente viene avviata.