Sobes.tech
Middle

Come avviene il processo di caricamento del sistema operativo Linux?

sobes.tech AI

Risposta dell'AI

  1. BIOS/UEFI: Inizializzazione dell'hardware, verifica delle periferiche, scelta del dispositivo di avvio.

  2. MBR/GPT: Lettura del contenuto del record di avvio principale (MBR) o della tabella delle partizioni GUID (GPT) dal dispositivo di avvio.

  3. Bootloader (GRUB, LILO): Caricamento del bootloader. Visualizzazione del menu di avvio (se presente), scelta del kernel e dell'initramdisk.

  4. Kernel: Caricamento del kernel del sistema operativo in memoria. Inizializzazione dell'hardware, montaggio del filesystem root.

  5. 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.

  6. Root Filesystem: Montaggio del filesystem root reale, definito nei parametri del kernel o in initrd/initramfs.

  7. 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
    
  8. Runlevel/Target: Transizione al livello di esecuzione o stato target appropriato (SysVinit o systemd), avviando i servizi necessari (servizi di rete, interfaccia grafica, ecc.).

  9. Login Prompt/Display Manager: Avvio della shell di login per l'utente (terminale) o del gestore di accesso grafico (GDM, LightDM, ecc.).

  10. User Login: L'utente effettua l'accesso al sistema. La sessione utente viene avviata.