Init
# Init

En sistemas tipo Unix, init (abreviatura de initialization) es el primer proceso en ejecución tras la carga del núcleo y el que a su vez genera todos los demás procesos. Se ejecuta como demonio y por lo general tiene PID 1.

Tradicionalmente, esta funcionalidad se ha implementado de forma distinta en los dos grandes sistemas operativos: System V y BSD. En el Unix original, el proceso init arrancaba los servicios de mediante un único script denominado /etc/rc. Posteriormente, la versión System V del Unix de AT&T introdujo un nuevo esquema de directorios en /etc/rc.d/ que contenía scripts de arranque/parada de servicios.

Linux adoptó el esquema System V, aunque algunas distribuciones, como Slackware, usan el estilo BSD y otros, como Gentoo, tienen su propia versión personalizada. Debian, RedHat y algunas otras distribuciones de Linux utilizan ahora Systemd como reemplazo para el proceso de inicialización tradicionales.

## Estilo BSD

El init de BSD ejecuta el script de inicialización en /etc/rc, de forma parecida a como se hacía en el Unix original de Bell Labs. No hay niveles de ejecución (runlevels), el archivo /etc/rc determina qué programas se ejecutan por init. La ventaja de este sistema es que es simple y fácil de editar manualmente, aunque sujeto a errores. pues un simple error en ese script podría inutilizar el procedimiento de arranque del sistema.

Sin esto, no existirian los demás sistemas de inicialización en los scripts.

## Estilo System V

En GNU/Linux es el fichero encargado de establecer los runlevels disponibles, para que pueda ser leído por init. A continuación se muestra un ejemplo del inicio de este fichero, en el cual se establece el runlevel 5, y sus características:

* /etc/inittab: init(8) configuración
* $Id: inittab, v 1.9 2001/05/31
* El runlevel por defecto
* id:5:initdefault:
* Runlevel 0 es detener
* Runlevel 1 es monousuario
* Runlevels 2-5 son multiusuario
* Runlevel 6 es reinicio
