En Linux, el flujo de control durante el arranque es desde la BIOS, al gestor de arranque y al núcleo (kernel). El núcleo inicia el planificador (para permitir la multitarea) y ejecuta el primer espacio de usuario
(es decir, fuera del espacio del núcleo) y el programa de
inicialización (que establece el entorno de usuario y permite la
interacción del usuario y el inicio de sesión), momento en el que el núcleo se inactiva hasta que sea llamado externamente.
La etapa del cargador de arranque
no es totalmente necesaria. Determinadas BIOS pueden cargar y pasar el
control a Linux sin hacer uso del cargador. Cada proceso de arranque
será diferente dependiendo de la arquitectura del procesador y el BIOS.
El BIOS realiza las tareas de inicio específicas de la plataforma de hardware.
- Una vez que el hardware es reconocido y se inicia correctamente, el BIOS carga y ejecuta el código de la partición de arranque del dispositivo de arranque designado, que contiene la fase 1 de un gestor de arranque Linux. La fase 1 carga la fase 2 (la mayor parte del código del gestor de arranque). Algunos cargadores pueden utilizar una fase intermedia (conocida como la fase 1.5) para lograr esto, ya que los modernos discos de gran tamaño no pueden ser totalmente leídos sin código adicional.
- El gestor de arranque a menudo presenta al usuario un menú de
opciones posibles de arranque. A continuación, carga el sistema
operativo, que descomprime en la memoria, y establece las funciones del
sistema como del hardware esencial y la paginación de memoria, antes de llamar a la función
start_kernel(). - La función
start_kernel()a continuación realiza la mayor parte de la configuración del sistema (interrupciones, el resto de la gestión de memoria, la inicialización del dispositivo, controladores, etc), antes de continuar por separado el proceso inactivo y planificador, y el proceso de Init (que se ejecuta en el espacio de usuario). - El planificador toma control efectivo de la gestión del sistema, y el núcleo queda dormido (inactivo).
- El proceso Init ejecuta secuencias de comandos (Scripts)
necesarios para configurar todos los servicios y estructuras que no
sean del sistema operativo, a fin de permitir que el entorno de usuario
sea creado y pueda presentarse al usuario con una pantalla de inicio de sesión.

No hay comentarios.:
Publicar un comentario