tuxSi escucharon hablar de Systemd vs Upstart por todos lados, ya que ahora lo usarán en Debian y también en Ubuntu, aunque en Arch ya lo usaban desde hace un tiempo y demás distribuciones, y si os paso como a mi, que nunca supieron de que se hablaba, o que diferencias existían entre uno y otro,  aquí hablaremos un poco en teoría, acerca de ello.
Para empezar, comenzamos por el Inicio (literalmente), cuando dios creó al mundo, a Adán y Eva…

Init

En los sistemas tipo Unixinit (abreviatura de initialization) es el primer proceso en ejecución tras la carga del kernel 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 universos Unix: 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. Ubuntu y algunas otras distribuciones de Linux utilizan ahora upstart como reemplazo para el proceso de inicialización tradicionales y el motivo son las desventajas que posee Init en comparación con Upstart:

El demonio init tradicional es estrictamente síncrono, bloqueando futuras tareas hasta que la actual se haya completado. Sus tareas deben ser definidas por adelantado, y solo pueden ser ejecutadas cuando el demonio init cambia de estado (cuando la máquina se arranca o se apaga). Esto hace que no sea capaz de manejar de forma elegante varias tareas en computadoras de escritorio modernas, incluyendo:

  • La conexión o desconexión de una memoria USB y otros medios de almacenamiento portables / dispositivos de red mientras la máquina está arrancada.
  • El descubrimiento y exploración de nuevos dispositivos de almacenamiento, sin bloquear el sistema, especialmente cuando un disco puede no encenderse hasta que este es explorado.
  • La carga de firmware para un dispositivo, lo cual podría tener que realizarse después de sea detectado pero antes de que sea utilizable.

El modelo basado en eventos de Upstart le permite responder a los eventos de forma asíncrona cuando estos son generados.

upstart

Upstart

En informáticaUpstart es un reemplazo basado en eventos para el demonio init, el método utilizado por varios sistemas operativos Unix-like para realizar tareas durante el arranque del sistema. Fue programado por Scott James Remnant, un antiguo trabajador de Canonical Ltd.

Mientras que Init presentaba las desventajas mencionadas anteriormente, Upstart trabaja de forma asíncrona supervisando las tareas mientras el sistema esta arrancado. También gestiona las tareas y servicios de inicio cuando el sistema arranca y los detiene cuando el sistema se apaga.

La fácil transición y la perfecta retrocompatibilidad con sysvinit fueron objetivos explícitos en el diseño. Por lo tanto, Upstart es capaz de ejecutar scripts de sysvinit sin modificaciones. De esta manera se diferencia de la mayoría de reemplazos de init, que normalmente requieren una transición completa para funcionar correctamente y no son compatibles con un entorno mixto formado por métodos de arranque tradicionales y nuevos.

A medida que Upstart madura, se pretende que sus funciones se extiendan a las tareas gestionadas por cronanacron, el demonio del comando at (atd) y posiblemente (pero mucho menos probable) inetd.

Las distribuciones en las que Upstart está habilitado por defecto son:

Las distribuciones que usaron Upstart en alguna versión pero han cambiado a systemd en versiones posteriores:

  • Upstart reemplazó a sysvinit en Fedora 9 y funcionó de la misma forma que en Ubuntu, manteniendo los scripts existentes. Sin embargo, Upstart ha sido reemplazado por systemd en Fedora 15.
  • Red Hat incluye Upstart en Red Hat Enterprise Linux 6. Como resultado, también es usado por sus variantes: CentosScientific Linux y Oracle Linux.
  • NixOS uso Upstart por defecto en sus comienzos.

Otras:

  • Debian consideró realizar el cambio en la versión Squeeze, pero adoptarán definitivamente Systemd desde Jessie.
  • openSUSE incluyó Upstart en la versión 11.3 Milestone 4, pero no por defecto.13 Upstart fue reemplazado por systemd en openSUSE 12.1
  • Ubuntu, al igual que Debian, adoptará Systemd en la siguiente versión de la distro.

 

systemdSystemd


Systemd
 es un sustituto para el Init de Linux. Está hecho para proveer un mejor framework para expresar las dependencias del servicio, permite hacer más trabajo paralelamente al inicio del sistema y reducir la sobrecarga del shell.
El nombre viene del sufijo system daemon (procesos en segundo plano) con la letra “d”.
Systemd fue escrito por Lennart Poettering y publicado como software libre bajo los términos de la GNU Lesser General Public License versión 2.1 ó posterior.

Comparado con System V init, que es utilizado por la mayoría de las distribuciones anteriores, systemd puede tomar ventaja de nuevas técnicas:

  • Los servicios de activación de sockets y la activación de buses, que conduce a una mejor paralelización de servicios independientes.
  • cgroups se utilizan para realizar un seguimiento de los procesos de servicio, en lugar de PIDs. Esto significa que los demonios no pueden “escapar” de systemd aunque estén doblemente-bifurcados.

systemd es sólo para Linux por diseño, ya que depende de características como cgroups y fanotify.

systemd ha sido propuesto por Poettering como dependencia externa para GNOME 3.2. Esto esencialmente requeriría que todas las distribuciones que usan GNOME utilicen systemd, o al menos lo incluyan como opción configurable.

Distribuciones en las que systemd está habilitado de forma predeterminada:

Fedora 15 y superior, Frugalware 1.5 y superior, Mageia desde la versión 2, Mandriva 2011, openSUSE 12.1 y superior, Arch Linux desde octubre de 2012 y Siduction desde diciembre de 2013.

Distribuciones en las que systemd está disponible:

  • Gentoo ofrece paquetes systemd como elementos no soportados oficialmente.

Debian GNU/Linux y Ubuntu han decidido utilizar systemd de forma predeterminada en sus próximas versiones.

Así que al menos en teoría ya sabemos algo acerca de este tema que un usuario novel (me incluyo) muchas veces dejamos pasar por completo ya que ciertamente es un lectura muy pesada, y no es tan divertido como un post incitando a un Flamewar de KDE vs Gnome, o similares.
Pero nunca está demás saber que se cocina detrás de nuestro S.O. favorito, o los términos y palabras que en un segundo nos pueden dejar completamente descolocados.

De igual forma, esto es un recopilatorio de la Wikipedia:

Init, Upstart y Systemd.

10
Deja una respuesta

avatar
7 Hilos de comentario
3 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
El hilo de comentarios más caliente
7 Autores de comentarios
Abaddon S.NoelMiGuεl CaRvAjAl ® █║ (@miguelcarvajalm)Jessica Suárez Autores de comentarios recientes
  Suscribirse  
Los más recientes Los más antiguos Más votados
Notificarme las
Abaddon S.
Invitado
Abaddon S.

Systemd es obra del lado oscuro de la fuerza … °° ¬¬

Anónimo
Invitado
Anónimo

sabes copiar muy bien de la wikipedia 😉

MiGuεl CaRvAjAl ® █║ (@miguelcarvajalm)
Invitado

Me gustaria saber que demonio de inicio tengo… con algun comando? muy aparte de la explicación que diste de las distros… o solo ejecutando los comandos systemctl o initctl respectivamente, puedo averiguarlo de otra forma?

Noel
Admin

La verdad es que no se, pero tu utilizas Ubuntu, con lo que tienes Upstart.

Anónimo
Invitado
Anónimo

Saludos Miguel Carvajal. Para saber qué demonio de inicio estás usando puedes usar este comando:
$ ps -p1 | grep systemd && echo systemd || echo upstart

Fuente: https://wiki.ubuntu.com/SystemdForUpstartUsers

Anónimo
Invitado
Anónimo

Excelente copia de información de la wikipedia!!!

Jessica Suárez
Invitado

Al final del post lo dice

leillo1975
Invitado

Muchísimas gracias por la info. Ahora lo entiendo mucho mejor