init, in un sistema operativo Unix, è il primo processo che il kernel manda in esecuzione dopo che il computer ha terminato la fase di bootstrap. Esso ha il compito di portare il sistema in uno stato operativo, avviando i programmi e servizi necessari.

Dato che init è sempre il primo processo eseguito, esso ha tipicamente il PID 1. Il suo file di configurazione, sulla maggior parte dei sistemi, è /etc/inittab.

I runlevel

[modifica | modifica wikitesto]

Solitamente, init viene configurato in modo da potere portare il sistema in diversi stati di esecuzione o livelli operativi della macchina, relativamente ai servizi avviati con caratteristiche diverse, detti runlevel. Ad esempio, può esistere un runlevel in cui il sistema fornisce servizi di rete, come HTTP e FTP, e può essere comodo avere un altro runlevel in cui tali servizi non sono forniti, da utilizzare nei casi in cui la connettività di rete sia mancante o quando è necessario eseguire interventi di manutenzione. init ha il compito di impostare il runlevel iniziale, e di portare il sistema da un runlevel ad un altro.

Differenza tra sistemi in stile System V e quelli in stile BSD

[modifica | modifica wikitesto]

Esistono due filosofie per organizzare il funzionamento di init:

Un esempio di sistema attuale che utilizza il metodo System V è Gentoo, mentre Slackware preferisce il metodo BSD.

Processi orfani

[modifica | modifica wikitesto]

Altro importante compito delegato al processo init è quello di prendere in affidamento i processi orfani, che altrimenti non avrebbero più un parent PID valido, assicurandosi di recuperare alla loro terminazione il loro valore di uscita tramite le chiamate di sistema wait() o waitpid(), in modo da evitare che essi restino nel sistema come processi zombie.

Note

[modifica | modifica wikitesto]
  1. ^ a b rc è l'abbreviazione di run commands

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica