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