Windows NT (Windows New Technology) es una familia de sistemas operativos producidos por Microsoft, de la cual la primera versión fue publicada en julio de 1993.

Previamente a la aparición de Windows 95 la empresa Microsoft concibió una nueva línea de sistemas operativos orientados a estaciones de trabajo y servidor de red. Un sistema operativo con interfaz gráfica propia, estable y con características similares a los sistemas de red UNIX. Las letras NT provienen de la designación del producto como "Nueva Tecnología" (New Technology). A partir de Windows 2000, "NT" se eliminó del nombre del producto y solo se incluye en la cadena de versión del producto junto con varios lugares de bajo nivel dentro del sistema.

NT fue la primera versión puramente de 32 bits de Windows, mientras que sus contrapartes orientadas al consumidor, Windows 3.1x y Windows 9x, eran híbridos de 16 bits / 32 bits. Es un sistema operativo de arquitectura múltiple. Inicialmente, admitía varias arquitecturas de conjuntos de instrucciones, incluidas IA-32, MIPS y DEC Alpha; Posteriormente se agregaron compatibilidad con PowerPC, Itanium, x64 y ARM. Las últimas versiones son compatibles con x86 (incluidos IA-32 y x64) y ARM. Las principales características de la familia de Windows NT incluyen Windows Shell, Windows API, Native API, Active Directory, la Directiva de Grupo, Hardware Abstraction Layer, NTFS, BitLocker, Windows Store, Windows Update, e Hyper-V.

Antes de 2001, Microsoft distribuía a Windows NT como un sistema operativo de oficina y empresarial, y mantuvo la línea basada en MS-DOS (Windows 95, Windows 98 y Windows ME) como una línea de sistemas operativos para consumidores.

Las primeras versiones, todas ellas lanzadas en la década de 1990, fueron Windows NT 3.1 (1993), Windows NT 3.5 (1994), Windows NT 3.51 (1995) y Windows NT 4.0 (1996). También está Windows 2000 (el cual iba a ser lanzado inicialmente bajo el nombre Windows NT 5.0), que alcanzó la RTM en diciembre de 1999, y fue finalmente lanzado en febrero de 2000.

Las principales ediciones en las que se distribuyeron las primeras versiones de Windows NT eran dos: Workstation para estaciones o grupos de trabajo y Server para servidores. También están las ediciones Advanced Server para NT 4.0 y 2000, y Terminal Server solo para NT 4.0.

En 1999, Microsoft comenzó a trabajar en dos nuevos proyectos que llevaban los nombres en clave Neptune y Odyssey. El primero iba a ser la primera versión NT para consumidor, mientras que el segundo iba a ser el sucesor de Windows 2000. Sin embargo, en enero de 2000, Microsoft decidió cancelar los dos proyectos para fusionarlos en uno solo, Whistler, que acabaría siendo Windows XP en 2001. Desde entonces, Windows NT se distribuye tanto para consumidores como para empresas como lo hacía en un inicio.

Desarrollo Cuando el desarrollo comenzó en noviembre de 1989, Windows NT (usando modo protegido) fue desarrollado a la vez que OS/2 3.0, la cuarta versión del sistema operativo desarrollado en conjunto entre Microsoft e IBM. Adicionalmente al trabajo de las tres versiones de OS/2, Microsoft continuó desarrollando paralelamente un ambiente Windows basado en DOS y con menos demanda de recursos (usando modo real). Cuando Windows 3.0 fue liberado en mayo de 1990, tuvo tanto éxito que Microsoft decidió cambiar la API por la todavía no liberada NT OS/2 (como era conocida) de una API de OS/2 a una API extendida de Windows. Esta decisión causó tensión entre Microsoft e IBM, y la colaboración se vino abajo. IBM continuó el desarrollo de OS/2 por su cuenta, mientras Microsoft continuó trabajando en el recién nombrado Windows NT.

Microsoft contrató a un grupo de desarrolladores de Digital Equipment Corporation liderados por Dave Cutler para desarrollar Windows NT, y muchos elementos que reflejan la experiencia de DEC con los VMS y RSX-11. El SO fue diseñado para correr en múltiples arquitecturas, con el núcleo separado del hardware por una capa de abstracción de hardware. Las APIs fueron implementadas como subsistemas por encima de la indocumentada API nativa; esto permitió la futura adopción de la Windows API. Originalmente un micronúcleo fue diseñado, subsecuentes liberaciones han integrado más funciones para mejorar el rendimiento del núcleo. Windows NT fue el primer sistema operativo en usar Unicode internamente.

Arquitectura

thumb|275px|La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas, (modo usuario y modo núcleo), con distintos módulos dentro de estas capas.

La familia de los sistemas operativos Windows NT de Microsoft está constituida por versiones como Windows 11, Windows 10, Windows 8.x, 7, Vista, XP, Windows 2000 y Windows NT. Todos tienen multitarea apropiativa y son sistemas operativos que han sido diseñados para trabajar tanto con computadoras con un solo procesador como con múltiples procesadores que en inglés es el Symmetrical Multi Processor o SMP.

Para procesar las peticiones de entrada/salida (en inglés Input/Output, I/O) acude a una dirección de paquetes de E/S que utiliza peticiones (IRP) y E/S asíncrona. A partir de Windows 2000 Advanced Server, Microsoft comenzó a desarrollar sistemas operativos que soportaban arquictectura de 64-bits de Alpha AXP64, y años después con el lanzamento de Windows XP, soportaban la arquictectura de Intel Itanium hasta Windows Server 2008 R2, y luego con la arquitectura de AMD64 desde Windows XP Professional x64 Edition hasta las versiones más recientes como Windows 11. Antes sus sistemas operativos estaban basados en un modelo de 32-bits.

La arquitectura de Windows NT es altamente modular y se basa en dos capas principales:

Modo usuario: Cuyos programas y subsistemas están limitados a los recursos del sistema a los que tienen acceso. Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos como núcleos híbridos, aunque hay que aclarar que este término está en discusión ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo de un micronúcleo. La arquitectura dentro del modo núcleoExamen MCSE 70-215, Microsoft Windows 2000 Server. Capítulo 1, Introducción a Microsoft Windows 2000, pg 7-18. se compone de lo siguiente:

Un núcleo híbrido. Una capa de abstracción de hardware (en inglés Hardware Abstraction Layer o HAL). Controladores o también llamados drivers. Executive: Sobre el cual son implementados todos los servicios de alto nivel. Librerías dinámicas para su correcto funcionamiento, como ntoskrnl.exe El modo núcleo de la línea de Windows NT está compuesto por subsistemas capaces de pasar peticiones de E/S a los controladores apropiados usando el gestor de E/S. Dos subsistemas crean la capa del modo usuario de Windows 2000: el subsistema de Entorno (ejecuta aplicaciones escritas para distintos tipos de sistemas operativos), y el subsistema Integral (maneja funciones específicas de sistema de parte del subsistema de Entorno). El modo núcleo en Windows 2000 tiene acceso total al hardware y a los recursos del sistema de la computadora. El modo núcleo impide a los servicios del modo usuario y las aplicaciones acceder a áreas críticas del sistema operativo a las que no deberían tener acceso.

El Executive se relaciona con todos los subsistemas del modo usuario. Se ocupa de la entrada/salida, la gestión de objetos, la seguridad y la gestión de procesos. El núcleo se sitúa entre la capa de abstracción de hardware y el Executive para proporcionar sincronización multiprocesador, hilos y programación y envío de interrupciones, y envío de excepciones.

El núcleo también es responsable de la inicialización de los controladores de dispositivos al arrancar. Hay tres niveles de controladores en el modo núcleo: controladores de alto nivel, controladores intermedios y controladores de bajo nivel. El modelo de controladores de Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa intermedia y fue diseñado principalmente para mantener la compatibilidad en binario y en código fuente entre Windows 98 y Windows 2000. Los controladores de más bajo nivel también son un legado de los controladores de dispositivos de Windows NT que controlan directamente un dispositivo o puede ser un bus hardware PnP.

Modo usuario El modo usuario está formado por subsistemas que pueden pasar peticiones de E/S a los controladores apropiados del modo núcleo a través del gestor de E/S (que se encuentra en el modo núcleo). Dos subsistemas forman la capa del modo usuario de Windows 2000: el subsistema de Entorno y el subsistema Integral.

El subsistema de entorno fue diseñado para ejecutar aplicaciones escritas para distintos tipos de sistemas operativos. Ninguno de los subsistemas de entorno puede acceder directamente al hardware, y deben solicitar el acceso a los recursos de memoria a través del Gestor de Memoria Virtual que se ejecuta en modo núcleo. Además, las aplicaciones se ejecutan a menor prioridad que los procesos del núcleo. Actualmente hay tres subsistemas de entorno principales: un subsistema Win32, un subsistema OS/2 y un subsistema POSIX.

El subsistema de entorno Win32 puede ejecutar aplicaciones Windows de 32-bits. Contiene la consola además de soporte para ventanas de texto, apagado y manejo de errores graves para todos los demás subsistemas de entorno. También soporta Máquinas Virtuales de DOS (en inglés, Virtual DOS Machine, VDM), lo que permite ejecutar en Windows aplicaciones de MS-DOS y aplicaciones de 16-bits de Windows 3.x (Win16). Hay una VDM específica que se ejecuta en su propio espacio de memoria y que emula un Intel 80486 ejecutando MS-DOS 5. Los programas Win16, sin embargo, se ejecutan en una VDM Win16.

Para ejecutar aplicaciones de 16-bits en un sistema de 64-bits, se necesita un emulador o hipervisor tales como VirtualBox, VMWare, y QEMU para ejecutarlo.

También se puede ejecutar aplicaciones de 16 bits en un procesador Intel Itanium.

Cada programa, por defecto, se ejecuta en el mismo proceso, así que usa el mismo espacio de direcciones, y el VDM de Win16 proporciona a cada programa su propio hilo de ejecución para ejecutarse. Sin embargo, Windows 2000 permite a los usuarios ejecutar programas Win16 en una VDM de Win16 separada, lo que permite al programa ser una multitarea prioritaria cuando Windows 2000 ejecute el proceso VDM completo, que contiene únicamente una aplicación en ejecución. El subsistema de entorno de OS/2 soporta aplicaciones de 16-bits basadas en caracteres y emula OS/2 1.x, pero no permite ejecutar aplicaciones de 32-bits o con entorno gráfico como se hace en OS/2 2.x y posteriores. El subsistema de entorno de POSIX solo soporta aplicaciones que cumplan estrictamente el estándar POSIX.1 o los estándares de ISO/IEC asociados.

El subsistema integral se encarga de funciones específicas del sistema operativo de parte del subsistema de entorno. Se compone de un subsistema de seguridad, un servicio de terminal y un servicio de servidor. El subsistema de seguridad se ocupa de los recibos de seguridad, permite o deniega acceso a las cuentas de usuario basándose en los permisos de los recursos, gestiona las peticiones de comienzo de sesión e inicia la autenticación, y determina qué recursos de sistema necesitan ser auditados por Windows 2000. También se encarga del Directorio Activo (en inglés, Active Directory). El servicio de terminal es una API al redirector de red, que proporciona el acceso a la red a ls computadora. El servicio de servidor es una API que permite a la computadora proporcionar servicios de red.

Modo núcleo