init

Instancia de software en GNU/Linux

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 BSDEditar

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 VEditar

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

Véase tambiénEditar

Enlaces externosEditar