Upstart: Solucionando el problema de raiz

Upstart Éstos días está subiendo a la superficie la noticia del desarrollo de Upstart, pero nadie explica qué es, para qué sirve, ni porqué alguien tan capaz cómo Scott James Remnant lo está desarrollando.

Voy a intentar no aburrirlos con cosas demasiado específicas, pero no prometo nada.

Lo que se apunta a reemplazar con Upstart es el método actual de inicio de todos los procesos en Debian y derivados, que es mediante inetd.

Hoy en día se inician todos los procesos en un orden pre-acordado. Ésto hace que tengamos que tener previsto todos las posibles fallos o cambios en el sistema durante el arranque para que no fallen servicios que tienen que ser iniciados dependiendo de otros anteriormente.
Ésto funcionó muy bien con servidores y escritorios en una menos medida, pero al estar masificandose el uso de Linux (especialmente Debian y derivados cómo Ubuntu) nos estámos encontrando con muchos casos que escapan al sistema actual de inicio. Scott tiene un txt con un resúmen de lo que se inicia por defecto y de qué depende cada uno.
Un ejemplo fácil de entender porqué el método actual ya no sirve, sería el de GDM (la interfaz gráfica). Actualmente iniciamos, por ejemplo, los drivers de sonido antes de iniciar GDM. Si llega a fallar ésto porque no está presente la placa de sonido, falla el inicio de GDM.

Upstart States

La propuesta en Upstart es que todas éstas cosas se manejen por eventos, y no por dependencias como actualmente. El driver del sonido no devolvería el evento de “iniciado” para lo cuál seguiríamos iniciando GDM sabiendo que no se completó.
Otra ventaja clara es que de ésta forma se pueden iniciar los procesos en paralelo y no secuencialmente, recortando muy considerablemente el tiempo de arranque del sistema operativo.

Ya está disponible en los repositorios Universe de Ubuntu Edgy para los temerarios que quieren probar éste pre-alpha y ayudar a los desarrolladores.
El plan es implementar una versión que sea compatible para atrás para Edgy, en la siguiente versión de Ubuntu tenerlo implementado casi por completo, y finalmente en Edgy+2 no aceptar paquetes que no utilizen el método Upstart para iniciar.

A los que les picó el bicho y quieren saber un poco más, les dejo lo que hay hasta ahora disponible:

Posts de Scott sobre el tema:
- Upstart in Universe
- Upstart can now replace sysvinit

- Un PDF con la presentación de la idea
- La especificación en el wiki de Ubuntu
- La entrada en Launchpad

Éste es uno de los bugs que no se pueden solucionar mediante el método actual de inicio.

También te puede interesar:

6 Cosas to “Upstart: Solucionando el problema de raiz”

  1. Dan
    September 2nd, 2006 | 12:15 am

    No lei nada. Pero el diagrama me hizo acordar a mis clases de Sistemas de Procesamiento de Datos… cuando hablabamos de procesos/interrupciones/prioridades y demas. Probablemente no este contribuyendo para nada con el tema (no seria la primera vez!), pero tenia ganas de postear. Hehe.

  2. kA
    September 2nd, 2006 | 3:31 pm

    gracias por el valioso aporte(?)

  3. elRicharD
    September 3rd, 2006 | 12:33 pm

    aguante los scripts rc!

  4. October 26th, 2006 | 9:14 am

    [...] Ya tenemos entre nosotros y lista para su descarga, la flamante Ubuntu 6.10 Edgy Eft. La nueva versión presenta una interfaz mejorada e integra nuevas aplicaciones que mejorarán la experiencia de los usuarios. Una de las características estrellas será la sustitución de Init por Upstart, sistema que acelerará el proceso de arranque, además de hacerlo más eficiente. La distribución, con versiones para escritorio y servidor (en ésta se incluye una versión previa de Linux Terminal Server Project 5), será mantenida durante los próximos 18 meses. [...]

  5. November 30th, 2006 | 11:01 pm

    [...] - Escritorio 3D por defecto (copiz o beryl, a definir) - Mejor soporte para redes (Network Manager y por fin, Zeroconf) - Instalar codecs automaticamente cuando uno quiere reproducir algo que lo necesita - Recortar el tiempo de booteo haciendo uso extensivo de Upstart [...]

  6. Jorge Mendoza
    October 3rd, 2007 | 2:20 am

    Buenas noches, queria pedirles un poco de informacion de como debian maneja sus procesos, interrupciones, prioridades etc, seria de gran ayuda, porque tengo que exponer de esto y no estoy muy iniciado en el tema.
    Gracias

Dejar una respuesta