Cosa devo sapere sul processo di avvio di Linux®?

Linux® si riferisce a una classe di sistemi operativi per computer open source gratuiti che utilizzano lo stesso kernel, che è il componente centrale di un sistema informatico che funge da collegamento tra l’hardware del computer e il suo software. Una differenza fondamentale tra i sistemi operativi è il modo in cui gestiscono l’avvio di un computer e il processo di avvio di Linux® è nettamente diverso dai suoi pari. Il processo di avvio di Linux® inizia con il sistema di input/output di base (BIOS), che esegue la maggior parte delle attività di avvio relative all’hardware. Dopo che il BIOS ha completato i vari processi di sistema, il sistema viene quindi passato al kernel, che imposta le funzioni essenziali del sistema e trasferisce il controllo del sistema all’utente.

Il BIOS è un insieme di codice specifico dell’hardware che inizializza tutti i componenti hardware di un sistema informatico. Nella maggior parte dei computer, viene caricato su un chip ROM, che si trova sulla scheda madre del computer. Poiché il BIOS è un’implementazione hardware, è codificato dal produttore della scheda madre e non dagli sviluppatori del sistema operativo Linux®. Questa è la parte più importante del processo di avvio di Linux® poiché svolge il compito fondamentale di preparare l’hardware del computer per il sistema operativo.

Una volta che tutti i componenti del computer sono stati inizializzati, il controllo del processo di avvio di Linux® viene trasferito a un programma di avvio del sistema Linux® chiamato boot loader, noto anche come bootstrap. La funzione principale di questo piccolo programma è caricare il sistema operativo nella memoria della macchina, preparandolo per l’esecuzione. Di solito il sistema operativo Linux® è compresso sul disco rigido, quindi il boot loader svolge anche il compito di decompressione. Se sul computer sono installati più sistemi operativi o versioni, il bootstrap chiederà all’utente di selezionarne uno. È anche importante notare che il processo di avvio di Linux® ha due diversi tipi di bootstrap — LILO e GRUB — sebbene la maggior parte delle nuove versioni di Linux® implementi GRUB.

Con il sistema operativo decompresso e caricato in memoria, il kernel Linux® si fa carico del sistema. Questo piccolo ma potente programma esegue la maggior parte del processo di avvio di Linux®. Carica il software di gestione della memoria e l’utilità di pianificazione, avvia i driver del dispositivo ed esegue gli script di avvio di Linux®. Quando il kernel Linux® ha terminato il suo compito, diventa inattivo e lo scheduler assume il controllo del sistema, creando un vero e proprio ambiente utente. Il processo di avvio di Linux® termina effettivamente quando all’utente viene presentata una schermata di accesso.