Sistemas operativos modernos

atrapada por el emulador, como se muestra en los pasos 1 y 2 de la figura 11-21. Esta técnica se conoce como uso de trampolín. Cuando el emulador obfiene el control, determina qué estaba tratando de hacer el programa y emite sus propias llamadas Win32 para efectuar el trabajo (pasos 3 y 4 de la figura 11-21). Mientras el programa se porte bien y sólo emita llamadas MS-DOS válidas al sistema, esta téc­ nica funciona bien. El problema es que algunos programas MS-DOS antiguos pasaban por alto el sistema operativo y escribían en forma directa en la RAM de vídeo, leían directo del teclado, etcétera, cosas que son imposibles en un entorno protegido. En la medida en que el com­ portamiento indebido causa una interrupción de sistema, hay cierta esperanza de que el emulador pueda dilucidar lo que el programa estaba tratando de hacer y lo emule. Si no entiende lo que el programa quiere, tan sólo lo termina porque una emulación de 100 % no era un requisito de Windows 2000. 11.4.5 Arranque de Windows 2000 Para que Windows 2000 pueda ponerse en marcha, necesita arrancar. El proceso de arranque (boot) crea los procesos iniciales que ponen el sistema en memoria. En esta sección explicare­ mos cómo funciona el proceso de arranque en Windows 2000. El proceso de arranque en hard­ ware consiste en leer el primer sector del primer disco (el registro de arranque maestro) y saltar a él, como describimos en la sección 5.4.2. Este corto programa en lenguaje ensamblador lee la tabla de particiones para ver cuál confiene el sistema operativo arrancable. Cuando encuentra la partición del sistema operativo, lee su primer sector, llamado sector de arranque, y salta a él. El programa del sector de arranque lee el directorio raíz de su partición y busca en él un archivo llamado ntldr (otro indicio arqueológico de que Windows 2000 es en realidad NT). Si encuen­ tra ese archivo, lo lee y lo ejecuta. Ntldr carga Windows 2000. Por cierto, hay varias versiones del sector de arranque, dependiendo de si la partición tiene formato de FAT-16, FAT-32 o NTFS. Cuando se instala Windows 2000, se escribe en el disco la versión correcta del registro de arranque maestro y del sector de arranque. Ahora ntldr lee un archivo llamado Boot.ini, que confiene la única información de confi­ guración que no está en el Registro. Aquí aparece una lista de todas las versiones de hal.dll y ntoskrnl.exe con que se cuenta para arrancar en esta partición. El archivo también proporciona muchos parámetros, como el número de CPU y cuánta RAM usar, si debe darse a los procesos de usuario 2 o 3 GB, y a qué ritmo operar el reloj de tiempo real. Luego ntldr selecciona y car­ ga los archivos hal.dll y ntoskml.exe así como bootvid.dll, el controlador de vídeo predetermi­ nado para escribir en la pantalla durante el proceso de arranque. Ahora ntldr lee el Registro para averiguar los controladores que se necesitan para completar el arranque (por ejemplo, los controladores de teclado y de ratón, y docenas más para controlar diversos chips de la tarjeta matriz). Por último, se leen todos estos controladores y se transfiere el control a ntoskrnl.exe. Una vez iniciado, el sistema operativo asigna algunos valores iniciales generales y luego invoca los componentes del ejecutivo para que realicen su propia asignación de valores inicia­ les. Por ejemplo, el administrador de objetos prepara su espacio de nombres para que otros componentes puedan invocarlo e insertar sus objetos en dicho espacio. Muchos otros compo

RkJQdWJsaXNoZXIy MjI4NDcx