Windows NT es un sistema operativo gráfico patentado producido por Microsoft como parte de su línea de productos Windows , cuya primera versión, Windows NT 3.1 , se lanzó el 27 de julio de 1993. Originalmente creado para los mercados de estaciones de trabajo , oficinas y servidores , el La línea Windows NT se puso a disposición de los consumidores con el lanzamiento de Windows XP en 2001. La tecnología subyacente de Windows NT continúa existiendo hasta el día de hoy con cambios y mejoras incrementales, siendo la última versión de Windows basada en Windows NT Windows 11 en 2021. .
El nombre "Windows NT" originalmente denotaba los principales avances tecnológicos que había introducido en la línea de productos Windows, incluida la eliminación de las limitaciones de acceso a la memoria de 16 bits de versiones anteriores de Windows, como Windows 3.1 y la serie Windows 9x . Se considera que cada versión de Windows basada en esta tecnología se basa en, si no en una revisión, de Windows NT, aunque el nombre de Windows NT en sí no se ha utilizado en muchas otras versiones de Windows desde Windows NT 4.0 en 1996.
Windows NT proporciona muchas más características que otras versiones de Windows, entre ellas soporte para multiprocesamiento , sistemas multiusuario , un kernel "puro" de 32 bits con direccionamiento de memoria de 32 bits, soporte para conjuntos de instrucciones distintos de x86 y muchos otros sistemas. servicios como Active Directory y más. Las versiones más recientes de Windows NT admiten informática de 64 bits , con un núcleo de 64 bits y direccionamiento de memoria de 64 bits.
Windows NT es un grupo o familia de productos, como Windows es un grupo o familia. Windows NT es un subgrupo de Windows.
La primera versión de Windows NT, 3.1 , se produjo para estaciones de trabajo y servidores . Tenía un enfoque comercial y pretendía complementar las versiones de consumo de Windows basadas en MS-DOS (incluido Windows 1.0 hasta Windows 3.1x ). En 1996, se lanzó Windows NT 4.0 , incluido el nuevo shell de Windows 95 .
Finalmente, Microsoft incorporó la tecnología Windows NT a la línea de productos Windows para informática personal y dejó obsoleta la familia Windows 9x . A partir de Windows 2000 , [8] "NT" se eliminó del nombre del producto, pero todavía se encuentra en varios lugares de bajo nivel del sistema, incluso durante un tiempo como parte de la versión del producto. [9]
Las versiones de Windows NT se instalan mediante el programa de instalación de Windows , que, a partir de Windows Vista , utiliza el entorno de preinstalación de Windows , que es una versión ligera de Windows NT creada para la implementación del sistema operativo.
Se ha sugerido que Dave Cutler pretendía que el inicialismo "WNT" fuera un juego de palabras con VMS , incrementando cada letra en uno . [10] Sin embargo, el proyecto fue pensado originalmente como una continuación de OS/2 y se lo denominó "NT OS/2" antes de recibir la marca Windows. [11] Uno de los desarrolladores originales de NT, Mark Lucovsky , afirma que el nombre fue tomado del procesador de destino original: el Intel i860 , cuyo nombre en código es N10 ("N-Ten"). [12] Una sesión de preguntas y respuestas con Bill Gates en 1998 reveló que las letras se habían ampliado anteriormente a "Nueva tecnología", pero ya no tienen ningún significado específico. [13] Las letras se eliminaron de los nombres de las versiones de Windows 2000 y posteriores, aunque Microsoft describió ese producto como "construido con tecnología NT". [8] [14]
"NT" era una marca registrada de Northern Telecom (más tarde Nortel ), que Microsoft se vio obligada a reconocer en el embalaje del producto.
Uno de los principales propósitos de NT es la portabilidad de hardware y software. Se han lanzado varias versiones de los sistemas operativos de la familia NT para una variedad de arquitecturas de procesador, inicialmente IA-32 , MIPS y DEC Alpha , con soporte para PowerPC , Itanium , x86-64 y ARM en versiones posteriores. Una idea inicial era tener una base de código común con una capa de abstracción de hardware (HAL) personalizada para cada plataforma. Sin embargo, la compatibilidad con MIPS, Alpha y PowerPC se eliminó posteriormente en Windows 2000 . Inicialmente se logró una amplia compatibilidad de software con soporte para varias "personalidades" de API , incluidas las API de Windows , POSIX , [15] y OS /2 [16] ; las dos últimas se eliminaron gradualmente a partir de Windows XP. [17] La compatibilidad parcial con MS-DOS y Windows de 16 bits se logra en el IA-32 a través de una máquina virtual DOS integrada , aunque esta característica no está disponible en otras arquitecturas. [18]
NT ha admitido listas de control de acceso por objeto (archivo, función y rol), lo que permite aplicar un amplio conjunto de permisos de seguridad a sistemas y servicios. NT también ha soportado los protocolos de red de Windows, heredando la anterior red OS/2 LAN Manager , así como la red TCP/IP (para la cual Microsoft solía implementar una pila TCP/IP derivada al principio de una pila basada en STREAMS de Spider Systems . luego reescrito internamente). [19]
Windows NT 3.1 fue la primera versión de Windows que utilizó direccionamiento de memoria virtual plana de 32 bits en procesadores de 32 bits. Su producto complementario, Windows 3.1, utilizaba direccionamiento segmentado y cambia de direccionamiento de 16 bits a 32 bits en las páginas.
Windows NT 3.1 presentaba un kernel central que proporcionaba una API del sistema, ejecutándose en modo supervisor (anillo 0 en x86; denominado en Windows NT "modo kernel" en todas las plataformas) y un conjunto de entornos de espacio de usuario con sus propias API que incluyó el nuevo entorno Win32, un entorno en modo texto OS/2 1.3 y un entorno POSIX. El kernel multitarea preventivo completo podría interrumpir tareas en ejecución para programar otras tareas, sin depender de que los programas del usuario cedan voluntariamente el control de la CPU, como en las aplicaciones de Windows Windows 3.1 (aunque las aplicaciones MS-DOS eran multitarea preventivamente en Windows a partir de Windows/386). ).
En particular, en Windows NT 3.x, varios subsistemas de controladores de E/S, como vídeo e impresión, eran subsistemas en modo de usuario . En Windows NT 4, los subsistemas de cola de impresión, servidor y vídeo se trasladaron al modo kernel. La primera GUI de Windows NT estuvo fuertemente influenciada por (y programáticamente compatible con) la de Windows 3.1; La interfaz de Windows NT 4 fue rediseñada para que coincida con la del nuevo Windows 95 , pasando del Administrador de programas al diseño del shell de Windows .
NTFS , un sistema de archivos seguro y registrado, es una característica importante de NT. Windows NT también permite otros sistemas de archivos instalables; NT también se puede instalar en sistemas de archivos FAT , y las versiones 3.1, 3.5 y 3.51 se pueden instalar en sistemas de archivos HPFS . [20]
Windows NT introdujo su propio modelo de controlador, el modelo de controlador de Windows NT, y es incompatible con marcos de controladores más antiguos. Con Windows 2000 , el modelo de controlador de Windows NT se mejoró para convertirse en el modelo de controlador de Windows , que se introdujo por primera vez con Windows 98 , pero se basó en el modelo de controlador de NT. [21] Windows Vista agregó soporte nativo para Windows Driver Foundation , que también está disponible para Windows XP , Windows Server 2003 y, hasta cierto punto, Windows 2000 .
Microsoft decidió crear un sistema operativo portátil, compatible con OS/2 y POSIX y que admitiera multiprocesamiento , en octubre de 1988. [22] Cuando comenzó el desarrollo en noviembre de 1989, Windows NT se conocería como OS/2 3.0, [23] el tercera versión del sistema operativo desarrollado conjuntamente por Microsoft e IBM . Para garantizar la portabilidad, el desarrollo inicial se centró en el procesador Intel i860 XR RISC , cambiando al MIPS R3000 a finales de 1989 y luego al Intel i386 en 1990. [12] Microsoft también continuó el desarrollo paralelo del procesador basado en DOS y con menos recursos . exigente entorno Windows, lo que dio lugar al lanzamiento de Windows 3.0 en mayo de 1990.
Windows 3.0 finalmente tuvo tanto éxito que Microsoft decidió cambiar la interfaz de programación de aplicaciones principal para el aún inédito NT OS/2 (como se conocía entonces) de una API extendida de OS/2 a una API extendida de Windows . Esta decisión provocó tensiones entre Microsoft e IBM y la colaboración finalmente fracasó.
IBM continuó el desarrollo de OS/2 solo mientras Microsoft continuaba trabajando en el recién renombrado Windows NT. Aunque ninguno de los sistemas operativos sería inmediatamente tan popular como los productos MS-DOS o Windows de Microsoft, Windows NT eventualmente sería mucho más exitoso que OS/2.
Microsoft contrató a un grupo de desarrolladores de Digital Equipment Corporation dirigido por Dave Cutler para construir Windows NT, y muchos elementos del diseño reflejan la experiencia anterior de DEC con el VMS de Cutler , [24] VAXELN y RSX-11 , pero también un sistema operativo inédito basado en objetos. Sistema desarrollado por Cutler en Digital con nombre en código MICA . [25] Al equipo se unieron miembros seleccionados del disuelto equipo OS/2, incluido Moshe Dunie . [10]
Aunque NT no era un clon exacto de los sistemas operativos anteriores de Cutler, los ingenieros de DEC notaron casi de inmediato las similitudes internas. Partes de VAX/VMS Internals and Data Structures , publicado por Digital Press , describen con precisión los componentes internos de Windows NT utilizando términos VMS. Además, partes de la estructura de directorios y los nombres de archivos del código base NT coincidían con los del código base MICA. [10] En lugar de una demanda, Microsoft acordó pagar a DEC entre 65 y 100 millones de dólares, ayudar a comercializar VMS, capacitar al personal de Digital en Windows NT y continuar con el soporte de Windows NT para DEC Alpha. [24]
La gestión, los procesos y la programación de la memoria de Windows NT y VMS son muy similares. La gestión de procesos de Windows NT se diferencia por la implementación de subprocesos , que DEC no implementó hasta VMS 7.0 en 1995.
Al igual que VMS, [24] el código del modo kernel de Windows NT distingue entre el "kernel", cuyo propósito principal es implementar funciones dependientes del procesador y de la arquitectura, y el "ejecutivo". Este fue diseñado como un microkernel modificado , ya que el kernel de Windows NT fue influenciado por el microkernel Mach desarrollado por Richard Rashid en la Universidad Carnegie Mellon, [26] pero no cumple con todos los criterios de un microkernel puro. Tanto el kernel como el ejecutivo están vinculados en un único módulo cargado ntoskrnl.exe ; Desde fuera de este módulo, hay poca distinción entre el núcleo y el ejecutivo. Se puede acceder directamente a las rutinas de cada uno, como por ejemplo desde los controladores de dispositivos en modo kernel.
Los conjuntos de API en la familia Windows NT se implementan como subsistemas encima de la API "nativa" públicamente no documentada ; esto permitió la adopción tardía de la API de Windows (en el subsistema Win32). Windows NT fue uno de los primeros sistemas operativos en utilizar UCS-2 y UTF-16 internamente. [ cita necesaria ]
Windows NT utiliza una arquitectura de diseño en capas que consta de dos componentes principales, el modo de usuario y el modo kernel . Los programas y subsistemas en modo usuario están limitados en términos de a qué recursos del sistema tienen acceso, mientras que el modo kernel tiene acceso ilimitado a la memoria del sistema y a los dispositivos externos. El modo kernel en Windows NT tiene acceso completo al hardware y a los recursos del sistema de la computadora. El kernel de Windows NT es un kernel híbrido ; la arquitectura comprende un kernel 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. [27]
El proceso de inicio de Windows NT comienza con NTLDR en versiones anteriores a Vista y el Administrador de inicio de Windows en Vista y posteriores. [28] El cargador de arranque es responsable de acceder al sistema de archivos en la unidad de arranque, iniciar el kernel y cargar los controladores del dispositivo de arranque en la memoria. Una vez que se han cargado todos los controladores de arranque y del sistema, el kernel inicia el subsistema del administrador de sesión . Este proceso inicia winlogon , que permite al usuario iniciar sesión. Una vez que el usuario ha iniciado sesión, se inicia el Explorador de archivos , cargando la interfaz gráfica de usuario de Windows NT.
Windows NT está escrito en C y C++ , con una cantidad muy pequeña escrita en lenguaje ensamblador . [29] C se usa principalmente para el código del kernel, mientras que C++ se usa principalmente para el código en modo de usuario. El lenguaje ensamblador se evita siempre que sea posible porque impediría la portabilidad . [30]
Las siguientes son las versiones de Windows basadas en la tecnología Windows NT.
Windows NT 3.1 a 3.51 incorporó el Administrador de programas y el Administrador de archivos de la serie Windows 3.1x . Windows NT 4.0 en adelante reemplazó esos programas con el Explorador de Windows (incluida una barra de tareas y un menú Inicio ), que apareció originalmente en Windows 95 .
La primera versión recibió el número de versión 3.1 para que coincida con el Windows contemporáneo de 16 bits; Las revistas de esa época afirmaron que el número también se usó para hacer que esa versión pareciera más confiable que una versión ".0". Además, aparentemente el protocolo Novell IPX tenía licencia sólo para las versiones 3.1 del software de Windows. [ cita necesaria ]
El número de versión NT ya no se utiliza generalmente con fines de marketing, pero todavía se utiliza internamente y se dice que refleja el grado de cambios en el núcleo del sistema operativo. [49] Sin embargo, por razones de compatibilidad de aplicaciones, Microsoft mantuvo el número de versión principal como 6 en las versiones posteriores a Vista, [50] pero lo cambió más tarde a 10 en Windows 10. [43] El número de compilación es un identificador interno utilizado por los desarrolladores de Microsoft. y probadores beta.
A partir de Windows 8.1 , Microsoft cambió el comportamiento de las funciones auxiliares de la versión API. Si una aplicación no se manifiesta para Windows 8.1 o posterior, la API siempre devolverá la versión 6.2, que es el número de versión de Windows 8 . [51] [52] Esto se debe a que la función de manifiesto se introdujo con Windows 8.1, [53] para reemplazar GetVersion y funciones relacionadas. [54]
Para evitar que el código específico de Intel x86 se introduzca en el sistema operativo, debido a que los desarrolladores están acostumbrados a desarrollar en chips x86, Windows NT 3.1 se desarrolló inicialmente utilizando sistemas de desarrollo que no son x86 y luego se portó a la arquitectura x86. Este trabajo se basó inicialmente en el sistema Dazzle basado en Intel i860 y, posteriormente, en la plataforma Jazz basada en MIPS R4000 . Ambos sistemas fueron diseñados internamente en Microsoft. [55]
Windows NT 3.1 se lanzó para plataformas PC-98 y compatibles con Intel x86 PC , y para plataformas MIPS compatibles con DEC Alpha y ARC . Windows NT 3.51 agregó soporte para el procesador PowerPC en 1995, específicamente sistemas compatibles con PReP , como las computadoras portátiles IBM ThinkPad Power Series y la serie Motorola PowerStack; pero a pesar de las reuniones entre Michael Spindler y Bill Gates, no en el Power Macintosh ya que el proyecto Power Macintosh compatible con PReP no se pudo enviar.
Intergraph Corporation portó Windows NT a su arquitectura Clipper y luego anunció su intención de portar Windows NT 3.51 a la arquitectura SPARC de Sun Microsystems , [56] junto con la introducción planeada por la compañía de modelos UltraSPARC en 1995, [57] pero ninguna versión se vendió. al público como producto minorista.
Sólo dos de las variantes de Windows NT 4.0 (IA-32 y Alpha) tienen disponible un conjunto completo de service packs. Todos los demás ports realizados por terceros (Motorola, Intergraph, etc.) tienen pocas actualizaciones disponibles públicamente, si es que tienen alguna.
Windows NT 4.0 fue la última versión importante que admitió Alpha, MIPS o PowerPC, aunque el desarrollo de Windows 2000 para Alpha continuó hasta agosto de 1999, cuando Compaq dejó de admitir Windows NT en esa arquitectura; y luego, tres días después, Microsoft también canceló su programa AlphaNT, [58] a pesar de que la versión Alpha NT 5 (Windows 2000) había alcanzado el estado RC1 . [59]
El 5 de enero de 2011, Microsoft anunció que la próxima versión principal de la familia Windows NT incluirá soporte para la arquitectura ARM . Microsoft demostró una versión preliminar de Windows (versión 6.2.7867) ejecutándose en una computadora basada en ARM en el Consumer Electronics Show de 2011 . [60] Esto finalmente llevó al lanzamiento comercial de Windows RT derivado de Windows 8 el 26 de octubre de 2012, y al uso de Windows NT, en lugar de Windows CE, en Windows Phone 8 .
La Xbox y la Xbox 360 originales ejecutan un sistema operativo personalizado basado en una versión muy modificada de Windows 2000 , un enfoque que el ingeniero de Microsoft, Don Box, llamó "fork and run". [61] [62] Exporta API similares a las que se encuentran en Microsoft Windows , como Direct3D . [63] Las consolas Xbox One y Xbox Series X/S utilizan una versión simplificada del sistema operativo Windows. [64]
Windows 11 es la primera versión de Windows NT sin servidor que no admite plataformas de 32 bits. [65] [66]
Las versiones de 64 bits de Windows NT originalmente estaban pensadas para ejecutarse en Itanium y DEC Alpha ; este último se utilizó internamente en Microsoft durante el desarrollo inicial de Windows de 64 bits. [67] [68] Esto continuó durante algún tiempo después de que Microsoft anunciara públicamente que cancelaba sus planes de enviar Windows de 64 bits para Alpha. [69] Debido a esto, las versiones Alpha de Windows NT son sólo de 32 bits.
Mientras que Windows 2000 sólo es compatible con Intel IA-32 (32 bits), Windows XP, Server 2003, Server 2008 y Server 2008 R2 tienen cada uno una edición dedicada a los sistemas basados en Itanium. [70] [71] [72] En comparación con Itanium, Microsoft adoptó x64 a mayor escala: cada versión de Windows desde Windows XP (que tiene una edición x64 dedicada ) [73] tiene ediciones x64. [70] [74]
La primera versión de Windows NT compatible con dispositivos ARM64 con procesadores Qualcomm fue Windows 10, versión 1709 . [75] Esta es una versión completa de Windows, en lugar del Windows RT reducido .
La especificación mínima de hardware requerida para ejecutar cada versión de la versión de estación de trabajo profesional de Windows NT ha sido bastante lenta hasta la versión 6.0 (Vista), que requiere un mínimo de 15 GB de espacio libre en disco, un aumento diez veces mayor en el espacio libre en disco. solo con respecto a la versión anterior y la versión 2021 10.0 (11) que excluye la mayoría de los sistemas creados antes de 2018.
La técnica que utiliza Windows NT se llama "microkernel" y fue influenciada por el microkernel Mach desarrollado en la Universidad Carnegie Mellon.
ACTUALIZACIÓN: Compaq aparentemente ha negado que se esté realizando algún trabajo en Windows 2000/64 para Alpha.
la actualización de Windows 11 2024 solo se ejecutará en procesadores basados en Arm v8.1 o posterior