Proceso de inicio de Windows NT

El proceso de inicio de Windows NT  es el proceso de inicialización de los sistemas operativos Microsoft Windows NT , Windows 2000 , Windows XP y Windows Server 2003 . En Windows Vista , el proceso ha cambiado mucho.

Fase de arranque

La fase de arranque varía según la plataforma de hardware. A partir de la fase temprana sin sistema operativo, el inicio del proceso de arranque es:

A partir de este momento, el proceso de arranque continúa haciendo lo siguiente:

El archivo NTLDR ubicado en la carpeta raíz del disco de arranque consta de dos partes. El primero es el módulo de inicio, seguido del cargador del sistema operativo (osloader.exe), ambas partes se almacenan en el archivo NTLDR. Cuando NTLDR se carga en la memoria, el control se transfiere al módulo de inicio, con la CPU ejecutándose en modo real . La tarea principal de StartUp es transferir el procesador al modo protegido , lo que permite usar el direccionamiento de memoria de 32 bits, así como crear una tabla de descriptores de interrupción , una tabla de descriptores globales , una tabla de páginas y habilitar la paginación de memoria. Esto se hace utilizando las capacidades del entorno operativo principal en el que está instalado el sistema operativo. Luego, el módulo StartUp descarga e inicia el cargador del sistema operativo.

El cargador del sistema operativo en NTLDR contiene funciones básicas para acceder a unidades IDE formateadas con sistemas de archivos NTFS , FAT , CDFS ( ISO 9660 ), ETFS o UDFS en los sistemas operativos más recientes. Se accede a los discos a través del BIOS a través del programa ARC incorporado en sistemas con ARC , o a través de la red usando el protocolo TFTP . Más allá de este punto, todas las llamadas al BIOS pasan por el modo virtual 8086 , ya que no hay acceso directo al BIOS desde el modo protegido. Si la unidad de inicio es SCSI y el controlador SCSI no utiliza la interrupción número 13 en modo real, se carga un archivo Ntbootdd.sys adicional para obtener acceso a la unidad . Es una copia del mismo controlador de minipuerto SCSI que se usa cuando se inicia Windows.

Luego, el gestor de arranque lee el contenido del archivo boot.ini para encontrar información sobre el volumen del sistema. Si no existe tal archivo, entonces el cargador intenta encontrar información del directorio de instalación estándar. Para máquinas Windows NT, este es el directorio C:\WINNT. Para máquinas con Windows XP y 2003, se carga desde C:\WINDOWS.

La pantalla se borra en este punto y en Windows 2000 y versiones posteriores de NTLDR e IA64ldr que admiten la hibernación del sistema , el directorio raíz del volumen predeterminado se define en boot.ini para buscar el archivo de hibernación hiberfil.sys . Si se encuentra este archivo y la memoria activa se está ejecutando, el contenido del archivo (que tiene el mismo tamaño que la memoria física de la máquina) se carga en la memoria y transfiere el control al kernel de Windows desde el punto en que se restauró la hibernación. Luego, el archivo se marca inmediatamente como inactivo para que la corrupción u otras fallas no puedan causar que este estado de memoria (ya obsoleto) se vuelva a cargar. Si la devolución de estado falla, la próxima vez que NTLDR le pregunte al usuario si debe volver a intentar restaurar o cancelar el procesamiento del archivo y realizar una descarga normal.

Si boot.ini contiene una entrada para más de un sistema operativo, se muestra al usuario un menú de inicio que le permite elegir qué sistema operativo iniciar. Si se selecciona un sistema operativo no basado en NT como Windows 98, entonces NTLDR carga el archivo de sector de inicio apropiado que se encuentra en boot.ini (el valor predeterminado es bootsect.dos si no se especifica otro nombre de archivo) y el control de ejecución pasa a él. Si se selecciona un sistema operativo basado en NT, NTLDR inicia ntdetect.com , que recopila información básica sobre el hardware de la computadora según lo informado por el BIOS .

En este punto del proceso de inicio, NTLDR borra la pantalla y muestra un indicador de estado pseudográfico (que a menudo no es visible en los sistemas XP o 2003 debido a su velocidad de inicialización) ; Windows 2000 también muestra el texto "Iniciando Windows...". Si el usuario presiona F8 durante esta fase, se muestra un menú de inicio extendido que contiene varios modos de inicio especiales, incluido el modo seguro con la última configuración de inicio exitosa, la depuración habilitada y (en el caso de las ediciones del servidor) el modo de restauración de servicios de directorio .

La descarga continúa tan pronto como se selecciona uno de los elementos o si se presiona F8 nuevamente.

Fase de arranque del kernel

  1. ntoskrnl.exe (núcleo)
  2. hal.dll (tipo de capa abstracta de hardware)
  3. kdcom.dll (Biblioteca de extensión del kernel del depurador de hardware)
  4. bootvid.dll (para el logotipo de Windows y el indicador de estado de arranque)
  5. config\sistema - registro
    1. HKLM\SISTEMA\CurrentControlSet\Control\Session Manager\BootExecute
    2. procesos de servicio en orden de preparación
    3. *HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder

La inicialización del subsistema del kernel y del subsistema de ejecución de Windows se realiza en dos fases.

Durante la primera fase, se crean las estructuras básicas de la memoria interna y se inicializa el controlador de interrupción de cada procesador. El administrador de memoria se inicializa, se crean áreas para el caché del sistema de archivos, encuestas de memoria paginadas y no paginadas. El administrador de objetos [1] inicializa el token de seguridad que se asignará al primer proceso del sistema y el administrador de procesos se inicializa a sí mismo. En este punto, al igual que un proceso del sistema, se crea un proceso inactivo del sistema .

El segundo paso implica la inicialización de los controladores de dispositivos, que han sido identificados por NTLDR como controladores del sistema.

Durante el proceso de carga de controladores de dispositivos, se ve un indicador de estado en la parte inferior de la pantalla del sistema en Windows 2000; en Windows XP y Windows Server 2003 se ha sustituido por una barra animada que no refleja el tiempo real del procedimiento. Antes de Windows 2000, esta parte del proceso de arranque tomaba mucho más tiempo porque los controladores se inicializaban uno a la vez. En Windows XP y Windows Server 2003, todos los controladores se inicializan de forma asíncrona.

Véase también

Notas

  1. Administrador de objetos de Windows NT . Consultado el 20 de agosto de 2008. Archivado desde el original el 21 de abril de 2008.

Enlaces