martes, 5 de noviembre de 2013

Proceso de Arranque de Linux


PROCESO DE ARRANQUE DE LINUX



Todo el proceso de arranque, se desarrolla en 4 etapas:
  • Al principio, toma el control la BIOS.
  • En una segunda etapa, tomará el control el cargador de arranque.
  • En una tercera etapa, el control pasa al propio kernel Linux.
  • Y en la cuarta y última etapa tendremos en memoria los programas de usuario conviviendo junto con el propio sistema operativo, quienes tomarán el control del sistema.

Primera etapa: La BIOS.
Al encender el equipo, toma el control la BIOS. que realiza una serie de operaciones básicas de hardware. 
Una vez que el hardware es reconocido y queda listo para usar, la BIOS carga en memoria el código executable del cargador de arranque y le pasa el control.

Segunda etapa: El cargador de arranque: GRUB.
Existen diferentes cargadores de arranque. En Debian, habitualmente utilizamos GRUB.
Normalmente, el cargador de arranque se guarda en el MBR (Master Boot Record), que como tiene un tamaño muy reducido (Son los primeros 512 bytes del disco), obliga a dividir el arranque

 en varias etapas. De este modo, la BIOS carga la primera etapa del cargador de arranque. Y, después, esta primera etapa del cargador de arranque cargará el resto del cargador de arranque.


GRUB se carga y se ejecuta en 4 etapas:

  • La BIOS carga la primera etapa del cargador, que se encuentra almacenada en el MBR.
  • La primera etapa carga el resto del cargador. Si la segunda etapa está en un dispositivo grande, se carga una etapa intermedia (llamada etapa 1.5), que contiene código extra que permite leer cilíndros mayores que 1024 o dispositivos tipo LBA.
  • La segunda etapa ejecuta el cargador y muestra el menú de inicio de GRUB, permitiendo seleccionar el SO que se desea arrancar.
  • Una vez seleccionado el sistema operativo que se quiere arrancar, se carga en memoria y se le pasa el control.
Tercera etapa: El kernel de Linux.
El proceso del kernel se realiza en dos etapas:
  • La etapa de carga.
  • La etapa de ejecución.
El kernel generalmente se almacena en un archivo comprimido. Este archivo comprimido se carga y se descomprime en memoria.
Por otra parte, también se cargan los drivers necesarios mediante el initrd. El initrd crea un sistema de archivos temporal usado en la fase de ejecución del kernel.
Una vez que el kernel se ha cargado en memoria y está listo, se lleva a cabo su ejecución.
Lo último que se lanza es el proceso init.

Cuarta etapa: El proceso init.

Al igual que todos los sistemas Unix, Debian arranca ejecutando el proceso init. El archivo de configuración de init es el fichero /etc/inittab, en el que se indica que el primer script que se debe ejecutar es el /etc/init.d/rcS.

Supongamos que se encuentra instalado el paquete sysv-rc (es lo típico), que utiliza enlaces simbólicos en los directorios rc para controlar qué servicios se inician en los diferentes niveles de ejecución.

El archivo /etc/init.d/rcS ejecuta todos los scripts situados en /etc/rcS.d/ para realizar inicializaciones tales como la comprobación y montaje de los sistemas de archivos, la carga de módulos, la inicialización de los servicios de red, la configuración del reloj, etc.

Luego, y por compatibilidad, también ejecuta todos los archivos (excepto aquellos con un `.' en su nombre) situados en /etc/rc.boot/. Este último directorio está reservado para el administrador del sistema y su utilización ha caído en desuso.


Debian utiliza los siguientes niveles de ejecución:

  • 0 (apagar el sistema)
  • 1 (modo monousuario)
  • 2 al 5 (modos multiusuario)
  • 6 (reiniciar el sistema)

No hay comentarios:

Publicar un comentario