El programa init es el proceso encargado de iniciar correctamente el sistema, por lo que puede decirse que todos los procesos del sistema son “hijos” de init o de los hijos de este. Dentro de todos los programas, init tiene una jerarquía especial: init es ejecutado directamente por el kernel y por lo tanto es inmune a la señal 9 con la cual todos los procesos pueden ser “interrumpidos”. Los procesos siguientes son ejecutados directamente por init o por uno de sus procesos subordinados.
init se configura de forma centralizada a través
del archivo /etc/inittab; aquí se definen los llamados
niveles de ejecución (runlevel) (se
comenta con más detalle en la Sección 7.3, “Los niveles de ejecución — “runlevels””) y se determina qué servicios y daemons deben estar
disponibles en los diferentes niveles. Dependiendo de la escritura en
/etc/inittab, init ejecuta
diferentes scripts que por razones de organización se reunen en el
directorio /etc/init.d.
Así, todo el proceso de arranque — y naturalmente la secuencia de
apagado — es controlado por el proceso init; en
este sentido se puede considerar al kernel prácticamente como “proceso
en segundo plano”, el cual tiene como objetivo gestionar los
procesos arrancados, dedicarles tiempo de cálculo y posibilitar y controlar
el acceso al hardware.