Mejorando el Tiempo de Arranque

-“Windows bootea más rápido que Linux.”

-“Más le valía, si hay que reinciarlo todo el tiempo!”

En la línea de este tipo de comentario que intenta implicar que un sistema operativo es tan bueno como su velocidad de booteo (algo cuando menos absurdo), el otro día navegando encontré un tip bastante útil sobre como mejorar la velocidad de booteo en Ubuntu 6.06 de una forma realmente sencilla. El foro donde encontré el post, que desgraciadamente no recuerdo su ubicación, comentaba que el truco no funciona para versiones anteriores del sistema, pero que podría probarse, ya que de cualquier forma no podría empeorar la situación. 😉

A lo largo de este post intentaré explicar cómo funciona el proceso de carga de los sitemas operativos, desde un punto de vista sumamente simplificado, y comentaré en qué se basa el truquito de booteo rápido para Ubuntu 6.06.

Si bien la velocidad de booteo no resulta un asunto crítico al utilizar un sistema diseñado para no apagarse nunca, como es el caso de GNU/Linux, personalmente, el 98% del tiempo que utilizo Ubuntu, lo hago desde un Laptop, por lo cual, el tiempo de booteo se vuelve un asunto interesante a mejorar.

¿Cómo funciona el proceso de Booteo de Ubuntu y de las distribuciones en general? Bueno, resulta que el Kernel comienza a leer del disco los archivos necesarios para colocarlos en memoria principal e iniciar el sistema, el problema es que estos archivos pueden encontrarse en cualquier lugar dentro de nuestra partición raíz, por lo cual puede ocurrir que las cabezas lectoras del disco deban moverse mucho para poder encontrar todos los archivos necesarios, agregando una carga innecesaria al proceso de arranque.
La idea del truco consiste en realizar un profile de la secuencia de booteo, de forma tal de registrar los archivos que son necesarios para iniciar el sistema y ubicarlos en juntos en el disco, de forma tal de poder minimizar los movimientos de las cabezas lectoras, aumentando la velocidad de carga.
El proceso es sumamente sencillo y consiste en pasar un parámetro especial al Kernel desde el gestor de arranque (yo utilizo GRUB) que indique que deberá realizarse el profile.

Para esto, al iniciar (o reiniciar) el equipo, en el menú de selección de sistema a arrancar, ponemos el cursor sobre la entrada a inciar y presionamos la tecla e. Se nos presentará una pantalla para modificar las secuencia de booteo de GRUB, a lo cual colocamos el cursor sobre la segunda entrada (la cual especifica ubicación del Kernel y los parámetros a pasarle) y presionamos e nuevamente. Se nos presentará una línea donde podemos modificar los parámetros establecidos. Simplemente agregaremos al final un espacio y la palabra profile. Presionamos Enter para aceptar los nuevos parámetros y luego b para inciar la secuencia de booteo.

Si todo salió bien, durante el proceso de inicio de Ubuntu, aparecerá una línea que indicará que el sistema se esta preparando para realizar un profile del proceso de booteo. ¡Listo! Las próximas veces que el sistema sea iniciado, podrá conseguir sus archivos en forma más rápida, acelerando el proceso de arranque.
Cabe destacar que el profile debería realizarse cada cierto período, ya que los archivos que juntamos pueden ser removidos, cambiados e incluso reemplazados al realizar actualizaciones del sistema.

También tengan en cuenta que estos arranques especiales son más lentos, debido al profile, pero el resultado final vale la pena, en mi caso, la velocidad de booteo se duplicó, reduciendo el tiempo de arranque hasta aproximadamente a la mitad. 🙂

This entry was posted in Linux, Tutoriales, Tweaking. Bookmark the permalink.