Читать книгу Desarrollo y optimización de componentes software para tareas administrativas de sistemas. IFCT0609 - José Luis Villada Romero - Страница 23

2.10. Procesos de arranque (boot) y finalización del sistema (shutdown)

Оглавление

Todo sistema operativo necesita un proceso de arranque y parada. El proceso de arranque prepara el sistema para que los usuarios puedan usarlo. Este proceso se divide en dos partes: arranque hardware y arranque del SO. El arranque hardware se realiza bajo la supervisión de la BIOS y es propio del hardware, no del sistema operativo. Se realiza un test de hardware y se carga en memoria el registro de arranque maestro (MBR), alojado en el primer sector del disco de inicio. El MBR contiene información sobre las particiones del disco de inicio, así como sobre cuál es la partición activa.

Tras esto, el control se pasa al MBR. El MBR busca en la partición activa el sector de arranque (que se encuentra en los primeros sectores de la partición) y lo carga en memoria. Estos sectores contienen el cargador del SO. Una vez cargado en memoria, se le otorga el control y comienza la carga real del SO con la siguiente secuencia de pasos: test del sistema de ficheros, creación de las estructuras de datos internas, completado de la carga del SO residente y creación del proceso de login para la autenticación del usuario.

Tras esta fase, comienza la de funcionamiento normal del SO.

En el caso de Linux, la secuencia de pasos del cargador sería la siguiente:

Se carga en memoria el kernel.

Se cargan los módulos necesarios y se monta la partición root en solo lectura. En concreto, se busca la imagen initrd, se descomprime, se monta y se cargan los controladores necesarios.


Se inicializan los ficheros antes de desmontar initrd.

Se crea el dispositivo “root”, se monta la partición “root” (solo lectura) y se libera la memoria no usada. El kernel se encuentra cargado en memoria y operativo.

El kernel transfiere el control del proceso de arranque a /sbin/init.

/sbin/init carga servicios y herramientas de espacio del usuario y monta las particiones listadas en /etc/fstab.


Finalmente, se presenta la interfaz de acceso de usuario.


Para Windows, la secuencia de arranque es la siguiente:

1.La BIOS accede al MBR indicando cuál es la partición activa.

2.Se accede al sector de arranque o boot de dicha partición, que ha sido creado durante la instalación del SO.

3.El sector de arranque direcciona al fichero NTLDR (para XP), o bien BOOTMGR (sustituto del NTLDR) en sistemas posteriores.

4.NTLDR o BOOTMGR accede al fichero BOOT.INI o BOOTBCD respectivamente, que contiene información de la ubicación de otros sistemas instalados en el equipo. Si los hay, aparece un menú de arranque para elegir con cuál se quiere iniciar el equipo.

5.Comienza el inicio del sistema ejecutando el kernel ubicado en el fichero NTOSKRNL.EXE.

El proceso de finalización o parada del sistema operativo lleva a cabo la liberación de todos los recursos del sistema, así como la parada y destrucción de todos los procesos que se encuentran en ejecución.


Aplicación práctica

Imagine que su sistema operativo está instalado en la única partición del disco duro del sistema y que, por lo tanto, en los primeros sectores del disco se encuentra el programa que se encarga de cargar el sistema operativo. Describa la secuencia de pasos genéricos que se producen desde que arranca el equipo hasta que se produce la petición de autenticación en el sistema operativo.

SOLUCIÓN

1 La BIOS accede al MBR, que se encuentra en los primeros sectores del disco.

2 EL MBR determina cuál es la partición activa.

3 Se accede a los primeros sectores de la partición activa donde se encuentra el programa de arranque.

4 Se ejecuta el programa dentro del sector de arranque. Este programa carga en memoria el embrión del sistema operativo.

5 Después, el programa de arranque transfiere el control de ejecución al embrión del sistema operativo para que termine la carga de los demás módulos.

6 Cuando el sistema operativo ha alcanzado un nivel de carga suficiente, se ejecuta el programa de autenticación de usuario.

Desarrollo y optimización de componentes software para tareas administrativas de sistemas. IFCT0609

Подняться наверх