Windows NT 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 del famoso Windows 95 la empresa Microsoft concibió una nueva línea de sistemas operativos orientados a estaciones de trabajo y servidores 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).
Las versiones publicadas de este sistema son: 3.1, 3.5, 3.51 y 4.0. Además, Windows NT se distribuía en dos versiones, dependiendo de la utilidad que se le fuera a dar: Workstation para ser utilizado como estación de trabajo y Server para ser utilizado como servidor.
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.
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 sólo soporta aplicaciones que cumplan estrictamente el estándard POSIX.1 o los estándards 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.
El modo núcleo de Windows 2000 tiene un acceso completo al hardware y a los recursos del sistema de la computadora y ejecuta su código en un área de memoria protegida. Controla el acceso a la planificación, priorización de hilos, gestión de memoria y la interacción con el hardware. El modo núcleo impide que los servicios y las aplicaciones del modo usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso, deben pedir al núcleo que realice esas operaciones en su nombre.
El modo núcleo está formado por servicios executive, que a su vez están formados por varios módulos que realizan tareas específicas, controladores de núcleo, un núcleo y una Capa de Abstracción del Hardware o HAL.
Otros subsistemas executive son los siguientes:
Controlador de Caché (en inglés Cache Controller, nombre interno Cc): está estrechamente relacionado con el Gestor de Memoria, el Gestor de Entrada/Salida y los controladores de Entrada/Salida para proporcionar una caché común para archivos frecuentes de E/S. El Gestor de Caché de Windows opera únicamente con bloques de archivo (más que con bloques de dispositivo), para realizar operaciones consistentes entre archivos locales y remotos, y asegurar un cierto grado de coherencia con las páginas en memoria de los archivos, ya que los bloques de caché son un caso especial de las páginas en memoria y los fallos caché son un caso especial de los fallos de página.
Un tema pendiente, desde hace tiempo, sobre la implementación existente es, por qué no libera explícitamente los bloques que no han sido utilizados durante mucho tiempo, dependiendo, en cambio, del algoritmo de asignación de páginas del gestor de memoria para que las descarte finalmente de la memoria física. Como efecto, algunas veces la caché crece indiscriminadamente, obligando a otra memoria a ser paginada, muchas veces reemplazando al proceso que comenzó la E/S, que termina gastando la mayor parte de su tiempo de ejecución atendiendo fallos de página. Esto es más visible cuando se copian archivos grandes.
Gestor de Configuración (en inglés Configuration Manager, nombre interno Cm): implementa el registro de Windows.
Gestor de E/S (en inglés I/O Manager, nombre interno Io): permite a los dispositivos comunicarse con los subsistemas del modo usuario. Se ocupa de traducir los comandos de lectura y escritura del modo usuario a IRPs de lectura o escritura que envía a los controladores de los dispositivos. También acepta peticiones de E/S del sistema de archivos y las traduce en llamadas específicas a los dispositivos, puede incorporar controladores de dispositivo de bajo nivel que manipulan directamente el hardware para leer la entrada o escribir una salida. También incluye un gestor de caché para mejorar el rendimiento del disco guardando las peticiones de lectura y escribiendo a disco en segundo plano.
Llamada a Procedimientos Locales (en inglés Local Procedure Call (LPC), nombre interno Lpc): proporciona comunicación entre procesos a través de puertos con conexión semántica. Los puertos LPC son usados por los subsistemas del modo usuario para comunicarse con sus clientes, por los subsistemas Executive para comunicarse con los subsistemas del modo usuario, y como base para el transporte local para MSRPC.
Gestor de Memoria (en inglés Memory Manager, nombre interno Mm): gestiona la memoria virtual, controlando la protección de memoria y el paginado de memoria física al almacenamiento secundario, e implementa un gestor de memoria física de propósito general. También implementa un parser de Ejecutables Portables (en inglés, Portable Executable, PE) que permite a un ejecutable ser mapeado o liberado en un paso único y atómico.
Comenzando en Windows NT Server 4.0, Terminal Server Edition, el gestor de memoria implementa el llamado espacio de sesión, un rango de la memoria del modo núcleo que es utilizada para cambio de contexto igual que la memoria del modo usuario. Esto permite que varias instancias del subsistema Win32 y controladores GDI se ejecuten conjuntamente, a pesar de algunos defectos de su diseño inicial. Cada espacio de sesión es compartido por varios procesos, denominado conjuntamente como "sesión".
Para asegurar el nivel de aislamiento entre sesiones sin introducir un nuevo tipo de objeto, el aislamiento entre procesos y sesiones es gestionado por el Monitor de Referencias de Seguridad, como un atributo de un objeto de seguridad (testigo), y sólo puede ser cambiado si se tienen privilegios especiales.
La naturazela relativamente poco sofisticada y ad-hoc de las sesiones es debida al hecho de que no fueron parte del diseño inicial, y tuvieron que ser desarrolladas, con mínima interrupción a la línea principal, por un tercer grupo (Citrix) como requisito para su producto de terminal server para Windows NT, llamado WinFrame. Comenzando con Windows Vista, las sesiones finalmente se convirtieron en un aspecto propio de la arquitectura de Windows. A partir de ahora un gestor de memoria que furtivamente entra en modo usuario a través de Win32, eran expandidos en una abstracción dominante afectando a la mayoría de los subsistemas Executive. En realidad, el uso habitual de Windows Vista siempre da como consecuencia un entorno multi-sesión.[5]
Estructura de Procesos (en inglés Process Structure, nombre interno Ps): gestiona la creación y finalización de procesos e hilos, e implementa el concepto de trabajo (job), un grupo de procesos que pueden ser finalizados como un conjunto, o pueden ser puestos bajo restricciones compartidas (como un máximo de memoria asignada, o tiempo de CPU).
Gestor de PnP (en inglés PnP Manager, nombre interno Pnp): gestiona el servicio de Plug and Play, mantiene la detección de dispositivos y la instalación en el momento del arranque. También tiene la responsabilidad de parar y arrancar dispositivos bajo demanda, esto puede suceder cuando un bus (como un USB o FireWire) detecta un nuevo dispositivo y necesita tener cargado un controlador para acceder a él. Su mayor parte está implementada en modo usuario, en el Servicio Plug and Play, que gestiona las tareas, a menudo complejas, de instalación de los controladores apropiados, avisando a los servicios y aplicaciones de la llegada de nuevos servicios, y mostrando el GUI al usuario.
Gestor de Energía (en inglés Power Manager, nombre interno Po): se ocupa de los eventos de energía (apagado, modo en espera, hibernación, etc.) y notifica a los controladores afectados con IRPs especiales (IRPs de Energía).
Monitor de Referencias de Seguridad (en inglés Security Reference Monitor (SRM), nombre interno Se): es la autoridad principal para hacer cumplir las reglas del subsistema de seguridad integral.[6] Determina cuándo un objeto o recurso puede ser accedido, a través del uso de listas de control de acceso (en inglés Access Control List, ACL), que están formadas por entradas de control de acceso (en inglés Access Control Entries, ACE). Los ACEs contienen un identificador de seguridad (en inglés, Security Identifier, SID) y una lista de operaciones que el ACE proporciona a un grupo de confianza — una cuenta de usuario, una cuenta de grupo, o comienzo de sesión[7] — permiso (permitir, denegar, o auditar) a ese recurso.[8] [9]
VersionesVersiones de Windows NT NT Ver. Nombre Ediciones Fecha lanzamiento Compilación
NT 3.1 Windows NT 3.1 Workstation, Advanced Server julio 1993 528
NT 3.5 Windows NT 3.5 Workstation, Server septiembre 1994 807
NT 3.51 Windows NT 3.51 Workstation, Server mayo 1995 1057
NT 4.0 Windows NT 4.0 Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded julio 1996 1381
NT 5.0 Windows 2000 Professional, Server, Advanced Server, Datacenter Server febrero 2000 2195
NT 5.1 Windows XP Home, Professional, Media Center (2004 & 2005), Tablet PC, Starter, Embedded, N, 64 bit edition (IA-64 octubre 2001 2600
NT 5.2 Windows Server 2003 Standard, Enterprise, Datacenter, Web, XP Pro x64 abril 2003 3790
NT 5.1 Windows Fundamentals for Legacy PC Versión recortada de Windows XP con menos complementos, hecha especialmente para PCs con menores prestaciones. julio 2006 2600
NT 6.0 Windows Vista Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate (la única versión que no está disponible para equipos de 64 bits es la versión Starter, ya que es una versión para equipos básicos) enero 2007 6000
NT 6.0 Windows Server 2008 Standard, Enterprise, Datacenter, Web, Storage, Small Business Server febrero 2008 6001
NT 6.1 Windows 7 Starter, Home Basic, Home Premium, Professional, Ultimate, Enterprise (al igual que en Vista, la versión Starter no dispone de soporte para 64 bits) octubre 2009 7600
No hay comentarios:
Publicar un comentario