InicioLinuxSystemd, SysV, Upstart Comparación, mitos y verdades

Systemd, SysV, Upstart Comparación, mitos y verdades

Linux12/10/2015


Hoy les traigo un post viejo, pero útil.


Vamos a revisar las caracteristicas y diferencias entre diferentes procesos de arranque de Linux, precisamente de SystemV, Upstart y systemd.





SystemV


1 Se empieza a ejecutar el código de la BIOS
2 La BIOS ejecute el POST
3 La BIOS lee el sector de arranque (MBR)
4 Se carga el gestor de arranque (MBC)
5 El bootloader carga el kernel y el initrd
6 Se monta el initrd como sistema de archivos raíz y se inicializan componentes esenciales (e.j.:scheduler)
7 Se ejecuta el proceso init y se desmonta en initrd
8 Se lee el /etc/inittab
9 Se ejecutan los scripts apuntados por el runlevel 1
10 El final del runlevel 1 le indica que vaya al runlevel por defecto
11 Se ejecutan los scripts apuntados por el runlevel por defecto
12 El sistema está listo para usarse

Como ven, este proceso de arranque es sincrónico, paso a paso (primero una cosa y luego la otra).




Arranque con Upstart

1 Upstart es el reemplazo de SystemV (Ubuntu, Fedora, etc.)
2 Permite la ejecución de trabajos en forma asincrónica a través de eventos (event-based) como principal diferencia con sysVinit que es estrictamente sincrónico (dependency-based)
3 Estos trabajos se denominan jobs
4 El principal objetivo de un job es definir servicios o tareas a ser ejecutadas por init

Los jobs son ejecutados ante eventos y puede tener uno o varias tareas ejecutables como parte de su ciclo de vida y siempre debe existir la tarea principal. A través del initctl se pueden administrar los jobs del demonio de Upstart.
La mejoria se basa en que se pueden realizar varias tareas al mismo tiempo, a diferencia de sysV, lo que lo hace bastante mas rapido y eficiente que el sistema de arranque anterior.




Arranque con Systemd

systemd es un gestor del sistema y de los servicios para Linux, compatible con los initscript SysV y LSB. systemd proporciona una notable capacidad de paralelización, utiliza la activación de socket y D-Bus para iniciar los servicios, permite el inicio de los demonios bajo demanda, realiza un seguimiento de los procesos con el uso de los grupos de control de Linux, apoya snapshotting y la restauración del estado del sistema, mantiene los puntos montaje y servicios de montaje automático e implementa un elaborado sistema de gestión de dependencias basado en un control lógico de los servicios.


Arch Linux wiki.



Bueno, explico, hay varias cosas:

Cgroups: es una implementación que permite organizar un grupo de procesos de manera jerárquica y sirve para identificar a todos los procesos en ejecución en el sistema. Gracias a esto, ya no es necesario usar el PID de SysV ya que systemd se encarga de hacer el tracking grupal. Y ademas... no es solo un reemplazo, es mas bien una mejora ya que gracias a este sistema el doble fork ya no genera procesos zombies en el sistema (no permite que los procesos escapen de systemd).

Activación por socket: Es un mecanismo de iniciación bajo demanda que nos permite ofrecer una variedad de servicios sin que realmente estén iniciados. ¿Porque es tan útil? Porque no todos los servicios iniciados en el booteo se utilizan, aun asi todos los sockets son iniciados en primer medida. Luego cuando algun socket recibe conexión simplemente levanta el servicio solicitado.
Esto es bastante superior a lo que se hacia con SysV ya que este tenia levantados todos los servicios ocupando recursos sin que realmente esos servicios sean utilizados, ahora gracias a systemd simplemente tenemos un socket esperando nuestra orden para levantar el servicio que querramos.

Aun asi, systemd es bastante joven y como todos tiene algunos problemas. Los mas comunes son mensajes de error al reiniciar y apagar, y un error ocasionado por algunos servicios que hacen los procesos de reiniciar/apagar se hagan lentos.
En el siguiente link pueden reportar errores y encontrar soluciones:




En los foros de las distros también hay mucha información y recuerden que siempre están las wikis como las de Arch y Gentoo que pueden ayudarlos muchísimo.



Odio hacia Systemd




¿Porque la gente odia a Systemd? Un par de teóricos de la filosofía del software libre argumentaron una critica nacida desde la envidia con el hecho de que "es demasiado complejo" "hay una continua invasión de características" y mi favorita "su arquitectura viola los principios de diseño de los sistemas operativos tipo Unix". Bueno, esto no son mas que estupideces nacidas del hecho de que el creador de este sistema fue un empleado de Red Hat ("empleaducho de Red Hat" según los ultra fanáticos) y como si toda la envidia/desprecio no fuera poco... el tipo cometió el "error" de admitir que systemd es una tecnología no terminada aún.
Esto ultimo les dio pie a todos los que lo odiaban en silencio para decir cosas como "Quiere crear un Kernel!" "Quiere transformar a Linux en Systemd" "Quiere adueñarse de nuestra idea". Obviamente nuestro Lennart no se referia a eso, pero en fin. ¿Porque lo odiaban en silencio? Porque los paradigmas utilizados para la creación de systemd se conocían hace muchísimo tiempo pero a ninguno de los principales creadores de Linux se les ocurrió implementarlo en el arranque y a los fanboys esto les arde (aunque a los creadores no y de hecho casi todas las distros utilizan systemd y las que no, están en proceso de pasarse).

Lennart dijo también que había algunas diferencias estúpidas o sin sentido entre algunas distros y opino que systemd iba a tratar de unificar esas diferencias entre distros. Al enterarse de esto los fanaticos de algunas distros que ya le tenían odio pusieron el grito en el cielo, exageraron todo y llegaron a decir que Lennart pretendía 1 solo Linux (eliminación de las distros)... cuando lo que dijo fue algo que nada tenia que ver con eso, pero en fin aquí les traigo un ejemplo de un debianita sin cerebro que estaba enojado:

https://lkml.org/lkml/2014/8/12/459





Bastante triste, mas que nada porque no se tuvo en cuenta la opinión de la comunidad debido a que las opiniones en su mayoría no tenían sustento y eran meros insultos (una pena porque había algunos que estaban en contra y exponían argumentos viables), aun así a pesar de que todas las distros reciben ayuda de parte de su comunidad... las decisiones grandes las toman los "dueños"/creadores de dicha distribución, gente que por cierto es bastante inteligente y no se deja llevar por una minoría de la comunidad que se rehúsa a crecer. Y mejor aun, las comunidades de todas las distros son bastante maduras y no se dejan llevar por inventos como "systemd es usado por la NASA y la AFIP para investigarte" "Los ovnis utilizan systemd para espiar tu casa" y demás derivados producto de la misma gente que elabora las teorías de los reptilianos.

La opinion del Taringuero:

Es una discusión vieja y pasada de moda porque ahora ya todos reconocieron la clara superioridad de systemd pero quizá alguno se había perdido el porque de las peleas y esta bueno para aclarar diferencias objetivas y subjetivas respecto a esto. Aun asi estaria bueno saber que opinan ustedes, ¿aun creen que systemd es malo? En caso afirmativo, ¿porque?, ¿Les parece mejor volver a SysV? ¿Volver a Upstart?.





Bueno espero que hayan disfrutado el post! Saludos y nos vemos en el siguiente!




Datos archivados del Taringa! original
20puntos
44visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

l
lucamno🇦🇷
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.