Sistemas operativos modernos

Figura 11-7. Estructura de W i n d o w s 2000 (un poco simplificada). El área sombrea­ da es el ejecutivo. Los cuadritos indicados con D son controladores de dispositivos. Los procesos de servicio son demonios del sistema. La capa de abstracción de hardware Una de las metas de Windows 2000 (y de Windows NT) era que el sistema operativo fuera por­ tátil entre plataformas. De manera ideal, cuando llega una nueva máquina, debería ser posible simplemente recompilar el sistema operativo con el compilador de la nueva máquina y hacer que se ejecute la primera vez. Por desgracia, la vida no es así. Aunque puede lograrse que las capas superiores del sistema operativo sean portátiles por completo (porque en su mayor parte manejan estructuras de datos internas), las capas inferiores se ocupan de registros de dispositi­ vos, interrupciones, DMA y otras características de hardware que difieren en forma apreciable de una máquina a otra. Aunque casi todo el código de bajo nivel está escrito en C, no es posible tan sólo tomarlo de una Pentium, ponerlo en una Alpha, digamos, recompilarlo y rearrancarlo, debi­ do a las múltiples pequeñas diferencias de hardware entre Pentium y Alpha, que nada tienen que ver con los diferentes conjuntos de instrucciones y que el compilador no puede ocultar. Consciente de este problema, Microsoft hizo un intento serio por ocultar muchas de las de­ pendencias de la máquina en una capa delgada situada hasta abajo llamada capa de abstrac­ ción de hardware (HAL; Hardware Abstraction Layer). (El nombre HAL sin duda se inspiró en la computadora HAL de la película del ya desaparecido Stanley Kubrick, 200L- Odisea del espacio. Hay rumores de que Kubrick escogió el nombre “HAL” tomando el nombre de la em­ presa de computadoras dominante entonces —IBM— y restando 1 a cada letra.) La tarea de HAL consiste en presentar al resto del sistema operativo dispositivos de hard­ ware abstractos, y sobre todo privados, de las verrugas y peculiaridades que en tanta abundan

RkJQdWJsaXNoZXIy MjI4NDcx