10.2. Il programma init

Il programma init è il processo che si occupa dell'inizializzazione corretta del sistema. Lo si potrebbe definire “il padre” di tutti i processi del sistema.

Tra tutti i programmi, init è quello che svolge un ruolo davvero particolare: init viene avviato direttamente dal kernel ed è immune al segnale 9, con il quale potete “freddare” ogni processo. Tutti gli altri processi vengono avviati da init stesso o da uno dei suoi processi “figli”.

init si configura centralmente, tramite il file /etc/inittab, nel quale potrete definire i cosiddetti runlevel (vd. la sezione, Section 10.3, “I runlevel”) e stabilire quali servizi e demoni debbano essere disponibili nei singoli runlevel ovvero livelli di esecuzione del sistema. A seconda dei parametri in /etc/inittab, init avvia i relativi script, che per motivi di praticità sono stati tutti raccolti nella directory /etc/init.d.

L'avvio del sistema (e, chiaramente, anche lo spegnimento) spetta quindi unicamente al processo di init. Il kernel può dunque essere visto come un processo di fondo, il cui compito consiste nel gestire i processi avviati, assegnare loro un tempo di elaborazione e di gestire l'accesso all'hardware.