2 de octubre de 2008

Cargando Linux en cinco segundos

En la "Linux Plumber Conference" -que ha sido una conferencia sobre toda la "fontanería" de bajo nivel que hace funcionar a un sistema Linux y que, según lo que dicen muchos de los que han asistido, ha sido la conferencia linuxera más interesante que jamás se ha celebrado- los desarrolladores de Linux de Intel han mostrado al público una cosa sorprendente: Un sistema Linux -concretamente un EEE PC de asus- que tarda en cargar tan solo cinco segundos. Por cierto, eso con un disco duro flash, con un disco duro tradicional el tiempo se eleva a 10 segundos.

Puede parecer el típico hackeo radical que no tiene mucha utilidad para las distros normales, pero no lo es, aunque sin duda muchas de sus conclusiones son algo radicales. Por ejemplo, no se utiliza initrd (al parecer, el 95% de los sistemas de escritorio, que es en quien en teoría se deberían centrar el desarrollo, pueden soportarse con un kernel con unos cuantos módulos compilados estáticamente. El 5% restante puede soportarse con un kernel alternativo que tenga initrd). Y se salta GDM, y utiliza XFCE. Pero no se salta udev, ni HAL, ni DBUS. Aunque quizás las distros no van a cargar en 5 segundos, sin duda podrían hacerlo en muy poco tiempo más.

Es muy recomendable leer el artículo original. Me quedo con esta cita: "We hate splash screens. By the time you see it, we want to be done. The development time that distributions spend on splash screens is much more than the Intel team spent on booting fast enough not to need one."

9 comentarios:

  1. Bueno, esto confirma de forma clara que hay muchos detalles aún por pulir en los sistemas Linux para que tenga un rendimiento "aceptable" para el escritorio.

    initrd es una de esas tecnologías que nadie pone en entredicho por su funcionalidad, pero que con esta prueba se demuestra que algo pasa cuando sin usarlo un sistema puede funcionar mucho más rápido y tener la misma funcionalidad en el 95% de los casos

    ResponderEliminar
  2. Rendimiento aceptable? perdona, pero ya me gustaría a mí que mi windows tardara en cargar menos de 1 minuto y medio...

    aún suponiendo que no se eliminase initrd y el tiempo se cuadruplicara, el rendimiento "inaceptable" como tu dices de los sistemas Linux como el recién pensado sería más rápido en el arranque que casi cualquier solución comercial actual.

    Saludos.

    ResponderEliminar
  3. Anónimo5:10 p. m.

    Bueno, bueno, menos hablar y más teclear. Quiero las intrucciones para esto ya. Me pongo ahora mismo... Si esto funciona dejará obsoleto al suspend, je, je

    ResponderEliminar
  4. ¿Qué tiene que ver lo que tarda en arrancar el sistema operativo con el rendimiento en el escritorio?

    ¿Que un sistema que usa initrd funciona más lento? ¿Pero tu sabes que el initrd sólo se usa para la carga inicial del sistema y luego "desaparece" de la memoria?

    ResponderEliminar
  5. abnog: El artículo es sobre cargar todo un sistema en cinco segundos, escritorio entero incluido. Y no veo que tiene que ver que el initrd se elimine de la memoria una vez usado para que utilizarlo enlentezca el proceso de inicio.

    Deberías leerte las cosas antes de dejar comentarios, al menos el primer párrafo, así evitarías ir quedando en evidencia por ahí...

    ResponderEliminar
  6. [d_x]: el rendimiento de un sistema operativo de escritorio lo es todo, y no solo en cuantos frames por segundo ejecuta el GLXGears... el tiempo de arranque es un punto crítico en el escritorio y mucho más en sistemas grandes que tardan minutos y minutos en arrancar...

    abnog: un sistema con initrd arranca mucho mas lento que sin el initrd, ergo initrd provoca un problema de rendimiento en el sistema operativo, en el proceso de arranque. Más claro agua

    ResponderEliminar
  7. Diego Calleja: No estaba hablando del artículo, si no del primer comentario.

    Deberías leerte las cosas antes de dejar comentarios, así evitarías ir quedando en evidencia por ahí...

    ResponderEliminar
  8. rrey: Te cito "initrd es una de esas tecnologías que nadie pone en entredicho por su funcionalidad, pero que con esta prueba se demuestra que algo pasa cuando sin usarlo un sistema puede funcionar mucho más rápido..."; Linux funciona (una vez arrancado) exactamente igual de rápido uses un initrd o no.

    Posiblemente te haya entendido mal, pero por lo que escribías dabas a entender que usar initrd hacia todo el sistema más lento todo el tiempo.

    ResponderEliminar
  9. abnog: me refería al arranque, como es lógico.

    ResponderEliminar