Arquitectura de Windows NT


La arquitectura de Windows NT , una línea de sistemas operativos producidos y vendidos por Microsoft , es un diseño en capas que consta de dos componentes principales, el modo de usuario y el modo de kernel . Es un sistema operativo reentrante , preventivo y multitarea , que ha sido diseñado para funcionar con computadoras monoprocesador y multiprocesador simétrico (SMP). Para procesar solicitudes de entrada / salida (E / S), utilizan E / S impulsadas por paquetes, que utilizan paquetes de solicitud de E / S (IRP) y E / S asíncronas . Empezando con Windows XP , Microsoft comenzó a hacer disponibles versiones de Windows de 64 bits ; antes de esto, solo existían versiones de 32 bits de estos sistemas operativos.

Los programas y subsistemas en modo de usuario están limitados en términos de los recursos del sistema a los que tienen acceso, mientras que el modo de kernel tiene acceso sin restricciones a la memoria del sistema y dispositivos externos. El modo Kernel en Windows NT tiene acceso completo al hardware y los recursos del sistema de la computadora. El kernel de Windows NT es un kernel híbrido ; la arquitectura comprende un núcleo simple , una capa de abstracción de hardware (HAL), controladores y una gama de servicios (denominados colectivamente Executive ), todos los cuales existen en modo kernel. [1]

El modo de usuario en Windows NT se compone de subsistemas capaces de pasar solicitudes de E / S a los controladores de dispositivo de modo de kernel adecuados mediante el administrador de E / S. La capa de modo de usuario de Windows NT está formada por los "subsistemas ambientales", que ejecutan aplicaciones escritas para muchos tipos diferentes de sistemas operativos, y el "subsistema integral", que opera funciones específicas del sistema en nombre de los subsistemas ambientales. El modo kernel impide que los servicios y aplicaciones del modo de usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso.

Las interfaces Executive, con todos los subsistemas de modo de usuario, se ocupan de E / S, gestión de objetos, seguridad y gestión de procesos. El kernel se encuentra entre la capa de abstracción de hardware y el ejecutivo para proporcionar sincronización multiprocesador , programación y despacho de hilos e interrupciones, y manejo de trampas y despacho de excepciones. El kernel también es responsable de inicializar los controladores de dispositivo en el arranque. Los controladores del modo kernel existen en tres niveles: controladores de nivel más alto, controladores intermedios y controladores de bajo nivel. El modelo de controlador de Windows (WDM) existe en la capa intermedia y se diseñó principalmente para ser binario y compatible con la fuente entre Windows 98 y Windows 2000. Los controladores de nivel más bajo son controladores de dispositivo heredados de Windows NT que controlan un dispositivo directamente o pueden ser un bus de hardware plug and play (PnP).

La interfaz entre las aplicaciones en modo de usuario y las funciones del núcleo del sistema operativo se denomina "subsistema de entorno". Windows NT puede tener más de uno de estos, cada uno implementando un conjunto de API diferente. Este mecanismo fue diseñado para admitir aplicaciones escritas para muchos tipos diferentes de sistemas operativos. Ninguno de los subsistemas ambientales puede acceder directamente al hardware; El acceso a las funciones de hardware se realiza llamando a rutinas en modo kernel. [ cita requerida ]

Hay tres subsistemas ambientales principales: el subsistema Win32 , un subsistema OS / 2 y un subsistema POSIX . [2]


La arquitectura de la familia de sistemas operativos Windows NT consta de dos capas ( modo de usuario y modo de kernel ), con muchos módulos diferentes dentro de ambas capas.
COMMAND.COM ejecutándose en NTVDM
Cada objeto de Windows NT existe en un espacio de nombres global . Esta es una captura de pantalla de Sysinternals WinObj .