sábado, 18 de febrero de 2017

Linux o mejor dicho GNU/Linux. Hablemos de él. Como es su proceso de arranque

Siguiendo con el tema de Linux, o mejor dicho, GNU/Linux, aqui les explico como es su proceso de arranque.

Al momento de encender una computadora con Linux (o GNU/Linux) instalado, ocurre el siguiente proceso:

1. POST: Siglas de Power On Self Test, que en es español significa auto prueba de encendido. Es un código ejecutado por el BIOS (Basic Input/Output System) y cuyo objetivo es verificar el hardware de la computadora. Si hay algún error, se intentará continuar con el proceso de inicio del computador. Sin embargo, si el error es serio, el BIOS detendrá la carga del sistema e indicara la falla ya sea con mensajes en pantalla o por medio de sonidos. Si no se presenta ningún problema se pasa al próximo paso.

2. Bootloader Fase 1: Una vez que las pruebas realizadas por el POST hayan sido exitosas se buscan en los dispositivos de almacenamiento disponibles (discos duros, pendrives, CD-ROM o DVD) algún sector de arranque. Recordemos que el sector de arranque o MBR (Master Boot Record) es el primer sector que contiene algún dispositivo de almacenamiento y en cual se encuentra un código llamado Master Boot, que lee la tabla de particiones del dispositivo, además de  ejecutar la fase 2 del bootloader.

3. Bootloader Fase 2: Se ejecuta el gestor de arranque, que es un pequeño programa que al permite cargar un sistema operativo. En el caso de Linux se carga el núcleo o kernel. Para este sistema operativo se tendrán los siguientes gestores de arranque:
  • LILO (Linux Loader)
  • GRUB (Grand Unified Bootloader)
Ambos gestores permiten al usuario, en caso de que el disco duro existan además de Linux otros sistemas, seleccionar con cual arrancar. Si bien funcionan de manera similar, LILO además de ser el más antiguo tiene otras diferencias con GRUB:
·         No posee ninguna interfaz del comando interactiva: la línea de comandos de Lilo no es interactiva y sólo permite comandos con argumentos, mientras que GRUB ofrece interfaz gráfica.
·         Almacena información sobre la localización del kernel o si otro sistema operativo se debe cargar en el MBR: Cada cambio que se haga debe ser reescrito por lilo.
·         No puede leer las particiones tipo ext2, algo que si puede hacer GRUB.

4. Kernel: El núcleo se cargado en la memoria RAM, hecho esto, chequea el hardware del sistema, monta el directorio raíz (/), y después carga los módulos necesarios. Luego se sigue con la inicialización del sistema que es próximo paso a seguir.

5. Inicialización: una vez cargado el kernel, se ejecuta el programa init, que se encarga de arrancar el resto de los procesos, como comprobar montar el sistema de archivos y la puesta en marcha los servicios de usuario necesarios. La inicialización en sistemas antiguos se veía por una serie de mensajes de texto en la pantalla, pero esto ha cambiado con el proceso de bootsplash.

6. Bootsplash: Es la representación gráfica del proceso de inicialización, el cual se muestra comúnmente como una pequeña barra que crece progresivamente u otra forma de movimiento, mientras el equipo va poniéndose en forma operativa.

7. Ambiente Grafico: Una vez culminado el proceso de inicio la barra de bootsplash se detiene, ejecutándose XWindows, que es un software que permite mediante un sistema de ventanas un manejo gráfico del sistema ofreciendo una interfaz completamente gráfica, con menús desplegables, cargando el gestor de ventana que se encarga de controlar la apariencia de las ventanas y su interacción con el usuario, y el entorno de escritorio el cual se encarga de brindar una interfaz general para el sistema operativo y dar ciertas aplicaciones para el manejo general de una computadora. En Linux se tienen los principales tipos de entorno gráfico son Gnome y KDE, pero existen otros como Cinnamon, LXDE, Xfce y Unity.

8. Usuario: Finalmente se muestra una pantalla de acceso o Login. Una vez que el usuario se identifica con su login y clave accede al sistema y a sus aplicaciones y archivos personales ubicados en su subdirectorio en el directorio /home.

Existen diferentes tipos de usuarios:
  • Superusuario: su nombre es root, es el administrador del sistema y actúa sin restricción el sistema completo.
  • Usuarios de Procesos son para asociar archivos privilegiados necesarios para el buen funcionamiento del sistema y tienen acceso restringidos a los recursos requeridos por el proceso que ejecuta.
  • Usuarios normales con privilegios limitados. Restringidos a áreas y actividades a las cuales se les ha dado permiso. Creados por el administrador del sistema a medida que sean necesarios.

En la siguiente imagen se muestra de una forma resumida el proceso de arranque de Linux.


Ese es el proceso de arranque de GNU/Linux (Linux pues). Cada sistema operativo tiene su proceso de arranque y tal vez en próximas publicaciones hable de eso. Por los momentos eso es todo y no olviden que si tienen alguna duda o sugerencia pueden expresarla a través de un comentario.

No hay comentarios.:

Publicar un comentario