Arquitectura de Windows NT

Estructura del sistema operativo
La arquitectura de la familia del sistema operativo Windows NT consta de dos capas ( modo de usuario y modo kernel ), con muchos módulos diferentes dentro de ambas capas.

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 kernel . Es un sistema operativo multitarea reentrante y preemptivo , que ha sido diseñado para funcionar con computadoras basadas en un solo procesador y multiprocesador simétrico (SMP). Para procesar las solicitudes de entrada/salida (E/S), utiliza E/S controlada por paquetes, que utiliza paquetes de solicitud de E/S (IRP) y E/S asincrónica . A partir de Windows XP , Microsoft comenzó a hacer disponibles versiones de 64 bits de Windows; antes de esto, solo había versiones de 32 bits de estos sistemas operativos.

Los programas y subsistemas en modo usuario están limitados en términos de los recursos del sistema a los que tienen acceso, mientras que el modo kernel tiene acceso sin restricciones 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 (colectivamente llamados Executive), que existen todos en modo kernel. [1]

El modo de usuario en Windows NT está formado por subsistemas capaces de pasar solicitudes de E/S a los controladores de dispositivos de modo kernel adecuados mediante el uso del administrador de E/S. La capa de modo de usuario de Windows NT está formada por los "subsistemas de entorno", 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 de entorno. El modo kernel impide que los servicios y aplicaciones de modo de usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso.

Las interfaces del sistema ejecutivo, con todos los subsistemas del modo de usuario, se ocupan de la E/S, 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 sistema ejecutivo para proporcionar sincronización de multiprocesadores , programación y distribución de subprocesos e interrupciones, y gestión de trampas y distribución de excepciones. El núcleo también es responsable de inicializar los controladores de dispositivos durante el arranque. Los controladores del modo núcleo existen en tres niveles: controladores de nivel más alto, controladores intermedios y controladores de nivel bajo. El modelo de controladores de Windows (WDM) existe en la capa intermedia y se diseñó principalmente para ser compatible a nivel binario y de código fuente entre Windows 98 y Windows 2000. Los controladores de nivel más bajo son controladores de dispositivos heredados de Windows NT que controlan un dispositivo directamente o pueden ser un bus de hardware plug and play (PnP).

Modo de usuario

El modo de usuario se compone de varios procesos y DLL definidos por el sistema.

La interfaz entre las aplicaciones en modo usuario y las funciones del núcleo del sistema operativo se denomina "subsistema de entorno". Windows NT puede tener más de uno, cada uno de los cuales implementa 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 de entorno puede acceder directamente al hardware; el acceso a las funciones de hardware se realiza mediante llamadas a rutinas en modo núcleo. [ cita requerida ]

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

Subsistema del entorno Win32

COMMAND.COM ejecutándose en NTVDM

El subsistema de entorno Win32 puede ejecutar aplicaciones de Windows de 32 bits. Contiene la consola, así como soporte para ventanas de texto, apagado y manejo de errores graves para todos los demás subsistemas de entorno. También admite máquinas virtuales DOS (VDM), que permiten que las aplicaciones MS-DOS y Windows de 16 bits ( Win16 ) se ejecuten en Windows NT. Hay una VDM MS-DOS específica que se ejecuta en su propio espacio de direcciones y que emula un Intel 80486 que ejecuta MS-DOS 5.0. Sin embargo, los programas Win16 se ejecutan en una VDM Win16. Cada programa, de forma predeterminada, se ejecuta en el mismo proceso, por lo que utiliza el mismo espacio de direcciones, y la VDM Win16 le da a cada programa su propio hilo en el que ejecutarse. Sin embargo, Windows NT permite a los usuarios ejecutar un programa Win16 en una VDM Win16 separada, lo que permite que el programa sea multitarea de forma preventiva, ya que Windows NT se adelantará a todo el proceso VDM, que solo contiene una aplicación en ejecución. El proceso del subsistema del entorno Win32 ( csrss.exe ) también incluye la funcionalidad de administración de ventanas, a veces denominada " administrador de ventanas ". Maneja eventos de entrada (como los del teclado y el mouse) y luego pasa mensajes a las aplicaciones que necesitan recibir esta entrada. Cada aplicación es responsable de dibujar o actualizar sus propias ventanas y menús, en respuesta a estos mensajes.

Subsistema del entorno OS/2

El subsistema de entorno OS/2 admite aplicaciones OS/2 basadas en caracteres de 16 bits y emula OS/2 1.x, pero no aplicaciones OS/2 de 32 bits o gráficas como las que se utilizan con OS/2 2.x o posterior, sólo en máquinas x86. [3] Para ejecutar programas gráficos OS/2 1.x, debe estar instalado el Subsistema de complementos de Windows NT para Presentation Manager. [3] La última versión de Windows NT que tuvo un subsistema OS/2 fue Windows 2000; se ha discontinuado a partir de Windows XP. [4] [5]

Subsistema del entorno POSIX

El subsistema del entorno POSIX admite aplicaciones escritas estrictamente según el estándar POSIX.1 o los estándares ISO / IEC relacionados . Este subsistema ha sido reemplazado por Interix , que es parte de Windows Services for UNIX . [4] Este, a su vez, fue reemplazado por el subsistema Windows para Linux .

Subsistema de seguridad

El subsistema de seguridad se ocupa de los tokens de seguridad, concede o deniega el acceso a las cuentas de usuario en función de los permisos de recursos, gestiona las solicitudes de inicio de sesión e inicia la autenticación de inicio de sesión y determina qué recursos del sistema deben ser auditados por Windows NT. [ cita requerida ] También se ocupa de Active Directory . [ cita requerida ] El servicio de estación de trabajo implementa el redirector de red , que es el lado cliente del uso compartido de archivos e impresoras de Windows; implementa solicitudes locales a archivos e impresoras remotos "redirigiéndolos" a los servidores apropiados en la red. [6] Por el contrario, el servicio de servidor permite que otras computadoras en la red accedan a los recursos compartidos de archivos e impresoras compartidas que ofrece el sistema local. [7]

Modo kernel

El modo kernel de Windows NT tiene acceso total al hardware y a los recursos del sistema de la computadora y ejecuta código en un área de memoria protegida. [8] Controla el acceso a la programación, la priorización de subprocesos, la administración de memoria y la interacción con el hardware. El modo kernel impide que los servicios y aplicaciones del modo usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso; los procesos del modo usuario deben solicitar al modo kernel que realice dichas operaciones en su nombre.

Aunque la arquitectura x86 admite cuatro niveles de privilegio diferentes (numerados del 0 al 3), solo se utilizan los dos niveles de privilegio extremos. Los programas en modo usuario se ejecutan con CPL 3 y el núcleo se ejecuta con CPL 0. Estos dos niveles suelen denominarse "ring 3" y "ring 0", respectivamente. Esta decisión de diseño se había tomado para lograr la portabilidad del código a las plataformas RISC que solo admiten dos niveles de privilegio, [9] aunque esto rompe la compatibilidad con las aplicaciones OS/2 que contienen segmentos de privilegio de E/S que intentan acceder directamente al hardware. [3]

El código que se ejecuta en modo kernel incluye: el ejecutivo, que a su vez está compuesto de muchos módulos que realizan tareas específicas; el kernel , que proporciona servicios de bajo nivel utilizados por el ejecutivo; la capa de abstracción de hardware (HAL); y los controladores del kernel . [8] [10]

Ejecutivo

Los servicios ejecutivos de Windows constituyen la parte de bajo nivel del modo kernel y están contenidos en el archivo NTOSKRNL.EXE . [8] Se ocupan de la E/S, la gestión de objetos, la seguridad y la gestión de procesos. Estos se dividen en varios subsistemas , entre los que se encuentran el Administrador de caché , el Administrador de configuración , el Administrador de E/S , la Llamada a procedimiento local (LPC) , el Administrador de memoria , el Administrador de objetos , la Estructura de procesos y el Monitor de referencia de seguridad (SRM) . Agrupados, los componentes pueden llamarse servicios ejecutivos (nombre interno Ex ). Los Servicios del sistema (nombre interno Nt ), es decir, las llamadas del sistema , también se implementan en este nivel, excepto muy pocos que llaman directamente a la capa del kernel para un mejor rendimiento. [ cita requerida ]

El término "servicio" en este contexto generalmente se refiere a una rutina invocable o a un conjunto de rutinas invocables. Esto es distinto del concepto de "proceso de servicio", que es un componente en modo usuario similar a un demonio en los sistemas operativos tipo Unix .

Cada objeto de Windows NT existe en un espacio de nombres global . Esta es una captura de pantalla de Sysinternals WinObj.
Administrador de objetos
El Administrador de objetos (nombre interno Ob ) es un subsistema ejecutivo por el que deben pasar todos los demás subsistemas ejecutivos, especialmente las llamadas del sistema, para obtener acceso a los recursos de Windows NT, lo que lo convierte esencialmente en un servicio de infraestructura de administración de recursos. [11] El administrador de objetos se utiliza para reducir la duplicación de la funcionalidad de administración de recursos de objetos en otros subsistemas ejecutivos, lo que podría conducir potencialmente a errores y dificultar el desarrollo de Windows NT. [12] Para el administrador de objetos, cada recurso es un objeto, ya sea un recurso físico (como un sistema de archivos o un periférico) o un recurso lógico (como un archivo). Cada objeto tiene una estructura o un tipo de objeto que el administrador de objetos debe conocer.
La creación de un objeto es un proceso en dos fases, creación e inserción . La creación provoca la asignación de un objeto vacío y la reserva de cualquier recurso requerido por el administrador de objetos, como un nombre (opcional) en el espacio de nombres. Si la creación fue exitosa, el subsistema responsable de la creación completa el objeto vacío. [13] Finalmente, si el subsistema considera que la inicialización fue exitosa, le indica al administrador de objetos que inserte el objeto, lo que lo hace accesible a través de su nombre (opcional) o una cookie llamada identificador . [14] A partir de ese momento, el tiempo de vida del objeto es manejado por el administrador de objetos, y es el subsistema el que mantiene el objeto en condiciones de funcionamiento hasta que el administrador de objetos le indique que lo elimine. [15]
Los identificadores son identificadores que representan una referencia a un recurso del núcleo a través de un valor opaco. [16] De manera similar, abrir un objeto a través de su nombre está sujeto a controles de seguridad, pero actuar a través de un identificador existente y abierto solo está limitado al nivel de acceso solicitado cuando se abrió o creó el objeto. [ cita requerida ]
Los tipos de objeto definen los procedimientos de objeto y cualquier dato específico del objeto. De esta manera, el administrador de objetos permite que Windows NT sea un sistema operativo orientado a objetos , ya que los tipos de objeto pueden considerarse como clases polimórficas que definen objetos . Sin embargo, la mayoría de los subsistemas, con una notable excepción en el Administrador de E/S, se basan en la implementación predeterminada para todos los procedimientos de tipo de objeto. [ cita requerida ]
Cada instancia de un objeto que se crea almacena su nombre, parámetros que se pasan a la función de creación de objetos, atributos de seguridad y un puntero a su tipo de objeto. El objeto también contiene un procedimiento de cierre de objetos y un recuento de referencias para indicar al administrador de objetos cuántos otros objetos en el sistema hacen referencia a ese objeto y, por lo tanto, determina si el objeto se puede destruir cuando se le envía una solicitud de cierre. [17] Cada objeto nombrado existe en un espacio de nombres de objetos jerárquico .
Controlador de caché
Se coordina estrechamente con el Administrador de memoria, el Administrador de E/S y los controladores de E/S para proporcionar una caché común para la E/S de archivos regular. El Administrador de caché de Windows opera en bloques de archivos (en lugar de bloques de dispositivos), para una operación consistente entre archivos locales y remotos, y garantiza un cierto grado de coherencia con las vistas de archivos asignadas a la memoria , ya que los bloques de caché son un caso especial de vistas asignadas a la memoria y la caché omite un caso especial de fallas de página.
Administrador de configuración
Implementa las llamadas del sistema que necesita el Registro de Windows .
Administrador de E/S
Permite que los dispositivos se comuniquen con subsistemas en modo usuario. Traduce los comandos de lectura y escritura en modo usuario en IRP de lectura o escritura que pasa a los controladores de dispositivos. Acepta solicitudes de E/S del sistema de archivos y las traduce en llamadas específicas del dispositivo, y puede incorporar controladores de dispositivos de bajo nivel que manipulan directamente el hardware para leer la entrada o escribir la salida. También incluye un administrador de caché para mejorar el rendimiento del disco al almacenar en caché las solicitudes de lectura y escritura en el disco en segundo plano.
Llamada a procedimiento local (LPC)
Proporciona puertos de comunicación entre procesos con semántica de conexión. Los puertos LPC son utilizados por los subsistemas de modo usuario para comunicarse con sus clientes, por los subsistemas ejecutivos para comunicarse con los subsistemas de modo usuario y como base para el transporte local para Microsoft RPC .
Administrador de memoria
Administra la memoria virtual , controla la protección de la memoria y la paginación de la memoria física hacia el almacenamiento secundario, e implementa un asignador de memoria física de propósito general. También implementa un analizador sintáctico de ejecutables PE que permite mapear o desasignar un ejecutable en un solo paso atómico.
A partir de Windows NT Server 4.0, Terminal Server Edition, el administrador de memoria implementa un denominado espacio de sesión , un rango de memoria en modo kernel que está sujeto a cambios de contexto al igual que la memoria en modo usuario. Esto permite que varias instancias del subsistema Win32 en modo kernel y los controladores GDI se ejecuten en paralelo, a pesar de las deficiencias en su diseño inicial. Cada espacio de sesión es compartido por varios procesos, a los que se denomina colectivamente "sesión".
Para garantizar un grado de aislamiento entre sesiones sin introducir un nuevo tipo de objeto, la asociación entre procesos y sesiones es manejada por el Monitor de Referencia de Seguridad, como un atributo de un sujeto de seguridad (token), y solo se puede cambiar mientras se mantengan privilegios especiales.
La naturaleza relativamente poco sofisticada y ad hoc de las sesiones se debe al hecho de que no eran parte del diseño inicial y tuvieron que ser desarrolladas, con una interrupción mínima de la línea principal, por un tercero ( Citrix Systems ) como un requisito previo para su producto de servidor de terminales para Windows NT, llamado WinFrame . Sin embargo, a partir de Windows Vista, las sesiones finalmente se convirtieron en un aspecto adecuado de la arquitectura de Windows. Dejaron de ser una construcción de administrador de memoria que se infiltra en el modo de usuario indirectamente a través de Win32, se expandieron hasta convertirse en una abstracción generalizada que afecta a la mayoría de los subsistemas ejecutivos. De hecho, el uso regular de Windows Vista siempre da como resultado un entorno de múltiples sesiones. [18]
Estructura del proceso
Maneja la creación y terminación de procesos y subprocesos, e implementa el concepto de Job , un grupo de procesos que pueden terminarse en su totalidad o colocarse bajo restricciones compartidas (como el máximo total de memoria asignada o el tiempo de CPU). Los objetos Job se introdujeron en Windows 2000 .
Gerente de PnP
Se encarga de la función plug and play y admite la detección e instalación de dispositivos en el momento del arranque. También tiene la responsabilidad de detener e iniciar dispositivos a pedido; esto puede suceder cuando un bus (como USB o IEEE 1394 FireWire ) obtiene un nuevo dispositivo y necesita tener un controlador de dispositivo cargado para admitirlo. Su mayor parte se implementa en modo de usuario, en el servicio Plug and Play , que se encarga de las tareas a menudo complejas de instalar los controladores adecuados, notificar a los servicios y aplicaciones la llegada de nuevos dispositivos y mostrar la GUI al usuario.
Administrador de energía
Se ocupa de los eventos de energía (apagado, modo de espera, hibernación, etc.) y notifica a los controladores afectados con IRP especiales ( IRP de energía ).
Monitor de referencia de seguridad (SRM)
La autoridad principal para hacer cumplir las reglas de seguridad del subsistema integral de seguridad. [19] Determina si se puede acceder a un objeto o recurso, mediante el uso de listas de control de acceso (ACL), que a su vez están formadas por entradas de control de acceso (ACE). Las ACE contienen un identificador de seguridad (SID) y una lista de operaciones que la ACE otorga a un grupo selecto de administradores (una cuenta de usuario, una cuenta de grupo o una sesión de inicio de sesión [20] ) para permitir, denegar o auditar ese recurso. [21] [22]
GDI
La interfaz de dispositivo gráfico es responsable de tareas como dibujar líneas y curvas, representar fuentes y manejar paletas. La serie de versiones de Windows NT 3.x había colocado el componente GDI en el subsistema de ejecución de cliente/servidor en modo usuario , pero este se trasladó al modo kernel con Windows NT 4.0 para mejorar el rendimiento gráfico. [23]

Núcleo

El núcleo se encuentra entre el HAL y el Ejecutivo y proporciona sincronización de multiprocesadores, programación y distribución de subprocesos e interrupciones, y manejo de trampas y distribución de excepciones; también es responsable de inicializar los controladores de dispositivos en el arranque que son necesarios para poner en funcionamiento el sistema operativo. Es decir, el núcleo realiza casi todas las tareas de un microkernel tradicional ; la distinción estricta entre Ejecutivo y Kernel es el vestigio más destacado del diseño original del microkernel, y la documentación de diseño histórica se refiere constantemente al componente del núcleo como "el microkernel".

El núcleo a menudo interactúa con el administrador de procesos. [24] El nivel de abstracción es tal que el núcleo nunca llama al administrador de procesos, sino sólo al revés (salvo en unos pocos casos excepcionales, pero nunca hasta el punto de una dependencia funcional).

Diseño de núcleo híbrido

El diseño de Windows NT incluye muchos de los mismos objetivos que Mach , el sistema de microkernel arquetípico, siendo uno de los más importantes su estructura como una colección de módulos que se comunican a través de interfaces bien conocidas, con un pequeño microkernel limitado a funciones básicas como el manejo de interrupciones de primer nivel, la programación de subprocesos y las primitivas de sincronización. Esto permite la posibilidad de utilizar llamadas a procedimientos directos o comunicación entre procesos (IPC) para comunicarse entre módulos y, por lo tanto, la posible ubicación de los módulos en diferentes espacios de direcciones (por ejemplo, en el espacio del núcleo o en los procesos del servidor). Otros objetivos de diseño compartidos con Mach incluían el soporte para diversas arquitecturas, un núcleo con abstracciones lo suficientemente generales como para permitir que se implementaran múltiples personalidades de sistema operativo sobre él y una organización orientada a objetos. [25] [26]

La personalidad principal del sistema operativo en Windows es la API de Windows , que siempre está presente. El subsistema de emulación que implementa la personalidad de Windows se denomina Subsistema de tiempo de ejecución de cliente/servidor (csrss.exe). En las versiones de NT anteriores a la 4.0, este proceso del subsistema también contenía el administrador de ventanas, la interfaz del dispositivo gráfico y los controladores del dispositivo gráfico. Sin embargo, por razones de rendimiento, en la versión 4.0 y posteriores, estos módulos (que a menudo se implementan en modo de usuario incluso en sistemas monolíticos, especialmente aquellos diseñados sin soporte gráfico interno) se ejecutan como un subsistema en modo kernel. [25]

Las aplicaciones que se ejecutan en NT se escriben en una de las personalidades del SO (normalmente la API de Windows), y no en la API nativa de NT, para la que no hay documentación disponible públicamente (con la excepción de las rutinas utilizadas en el desarrollo de controladores de dispositivos). Una personalidad del SO se implementa mediante un conjunto de DLL de modo de usuario (consulte la Biblioteca de vínculos dinámicos ), que se asignan a los espacios de direcciones de los procesos de aplicación según sea necesario, junto con un proceso de servidor del subsistema de emulación (como se describió anteriormente). Las aplicaciones acceden a los servicios del sistema llamando a las DLL de personalidad del SO asignadas a sus espacios de direcciones, que a su vez llaman a la biblioteca de tiempo de ejecución de NT (ntdll.dll), también asignada al espacio de direcciones del proceso. La biblioteca de tiempo de ejecución de NT atiende estas solicitudes entrando en el modo de núcleo para llamar a rutinas ejecutivas de modo de núcleo o hacer llamadas a procedimientos locales (LPC) a los procesos de servidor del subsistema de modo de usuario adecuados, que a su vez utilizan la API de NT para comunicarse con los procesos de aplicación, los subsistemas de modo de núcleo y entre sí. [27]

Controladores en modo kernel

Windows NT utiliza controladores de dispositivos en modo kernel para poder interactuar con dispositivos de hardware . Cada uno de los controladores tiene rutinas de sistema bien definidas y rutinas internas que exporta al resto del sistema operativo. El código de modo de usuario ve todos los dispositivos como un objeto de archivo en el administrador de E/S, aunque para el propio administrador de E/S los dispositivos se ven como objetos de dispositivo, que define como objetos de archivo, dispositivo o controlador. Los controladores de modo kernel existen en tres niveles: controladores de nivel más alto, controladores intermedios y controladores de nivel bajo. Los controladores de nivel más alto, como los controladores del sistema de archivos para FAT y NTFS , dependen de controladores intermedios. Los controladores intermedios consisten en controladores de función (o controlador principal para un dispositivo) que se intercalan opcionalmente entre controladores de filtro de nivel inferior y superior. El controlador de función se basa entonces en un controlador de bus (o un controlador que da servicio a un controlador, adaptador o puente de bus ) que puede tener un controlador de filtro de bus opcional que se sitúa entre él mismo y el controlador de función. Los controladores intermedios dependen de los controladores de nivel más bajo para funcionar. El modelo de controladores de Windows (WDM) existe en la capa intermedia. Los controladores de nivel más bajo son controladores de dispositivos de Windows NT heredados que controlan un dispositivo directamente o pueden ser un bus de hardware PnP. Estos controladores de nivel más bajo controlan el hardware directamente y no dependen de ningún otro controlador.

Capa de abstracción de hardware

La capa de abstracción de hardware (HAL) de Windows NT es una capa que se encuentra entre el hardware físico de la computadora y el resto del sistema operativo. Fue diseñada para ocultar las diferencias en el hardware y proporcionar una plataforma consistente en la que se ejecuta el núcleo. La HAL incluye código específico del hardware que controla las interfaces de E/S, los controladores de interrupciones y varios procesadores.

Sin embargo, a pesar de su propósito y lugar designado dentro de la arquitectura, la HAL no es una capa que se encuentra completamente debajo del núcleo, de la misma manera que el núcleo se encuentra debajo del Ejecutivo: todas las implementaciones de HAL conocidas dependen en cierta medida del núcleo, o incluso del Ejecutivo. En la práctica, esto significa que las variantes de núcleo y HAL vienen en conjuntos coincidentes que están específicamente diseñados para funcionar juntos.

En particular, la abstracción de hardware no implica la abstracción del conjunto de instrucciones, que generalmente se enmarca en el concepto más amplio de portabilidad . La abstracción del conjunto de instrucciones, cuando es necesario (por ejemplo, para gestionar las distintas revisiones del conjunto de instrucciones x86 o emular un coprocesador matemático faltante), la realiza el núcleo o mediante la virtualización de hardware .

Secuencia de arranque

La secuencia de arranque es iniciada por NTLDR en versiones anteriores a Vista y por el Administrador de arranque 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 ntoskrnl.exe y cargar los controladores de dispositivos de arranque en la memoria. Una vez que se han cargado todos los controladores de arranque y del sistema, el núcleo inicia el Subsistema del administrador de sesiones . El administrador de sesiones inicia servicios cruciales del núcleo y del modo usuario del subsistema Win32, como el Subsistema de tiempo de ejecución de cliente/servidor . La sesión también ejecuta el proceso winlogon , que permite a los usuarios iniciar sesión y usar sus cuentas.

Véase también

Notas y referencias

Notas
  1. ^ Finnel 2000, Capítulo 1: Introducción a Microsoft Windows 2000, págs. 7–18.
  2. ^ "Apéndice D: Ejecución de aplicaciones no nativas en Windows 2000 Professional". Kit de recursos de Microsoft Windows 2000 Professional . Microsoft . 11 de septiembre de 2008.
  3. ^ abc "Kit de recursos de Windows NT Workstation, capítulo 28: compatibilidad con OS/2". Microsoft. Archivado desde el original el 24 de octubre de 2012.
  4. ^ ab "POSIX y OS/2 no son compatibles con Windows XP ni con Windows Server 2003". Microsoft. Archivado desde el original el 24 de mayo de 2011.
  5. ^ Reiter, Brian (24 de agosto de 2010). "La triste historia del subsistema POSIX de Microsoft".
  6. ^ "Arquitectura básica de un redirector de red". Microsoft. 15 de diciembre de 2021. Consultado el 30 de julio de 2023 .
  7. ^ "Arquitectura de redes de Windows NT". Microsoft. Archivado desde el original el 18 de noviembre de 2016. Consultado el 18 de noviembre de 2016 .
  8. ^ abc Roman, Steven (1999). "Arquitectura de Windows". Programación de API Win32 con Visual Basic . O'Reilly and Associates, Inc. ISBN 1-56592-631-5.
  9. ^ "Libro blanco sobre usuario y GDI en modo kernel de MS Windows NT". Documentación de Windows NT Workstation . Microsoft TechNet . Archivado desde el original el 21 de febrero de 2008 . Consultado el 9 de diciembre de 2007 .
  10. ^ Mark E. Russinovich; David A. Salomón; Álex Ionescu. Componentes internos de Windows, quinta edición . Prensa de Microsoft. págs. 228-255.
  11. ^ Russinovich y Solomon 2005, págs. 124-125.
  12. ^ Russinovich 1997, Introducción.
  13. ^ Russinovich 1997, "Tipos de objetos".
  14. ^ Russinovich y Solomon 2005, págs. 135-140.
  15. ^ Russinovich y Solomon 2005, págs. 141-143.
  16. ^ "Identificadores y objetos". Información del sistema de Windows . Microsoft. 8 de febrero de 2022 . Consultado el 30 de julio de 2023 .
  17. ^ Russinovich 1997, "Objetos".
  18. ^ "Impacto del aislamiento de la sesión 0 en los servicios y controladores de Windows Vista". Microsoft. Archivado desde el original el 27 de junio de 2006.
  19. ^ "Almacenamiento de datos de Active Directory". Microsoft.[ enlace muerto permanente ]
  20. ^ "Definición de fideicomisario". MSDN. Archivado desde el original el 8 de febrero de 2005.
  21. ^ Siyan 2000.
  22. ^ "1.2 Glosario". [MS-AZOD]: Descripción general de los protocolos de autorización . 14 de junio de 2022. Entrada de control de acceso (ACE).
  23. ^ "Libro blanco sobre el usuario y GDI en modo kernel de MS Windows NT". Microsoft. Cambio de modo kernel de Windows NT 4.0 . Consultado el 19 de enero de 2009 .
  24. ^ Solomon y Russinovich 2000, págs. 543–551.
  25. ^ ab "Libro blanco sobre el usuario y GDI en modo kernel de MS Windows NT". Microsoft Corporation. 2007. Consultado el 1 de marzo de 2007 .
  26. ^ Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2005). Conceptos de sistemas operativos; 7.ª edición (PDF) . Hoboken, Nueva Jersey: John Wiley & Sons Inc. ISBN 978-0-471-69466-3.
  27. ^ Probert, Dave (2005). "Descripción general de la arquitectura de Windows". Uso de proyectos basados ​​en API internas de NT para enseñar principios del sistema operativo . Microsoft Research/Asia - Beijing . Consultado el 1 de marzo de 2007 .
  28. ^ "Secuencia de arranque de Windows Multi-Boot - Multibooters.com" www.multibooters.com . Consultado el 19 de noviembre de 2020 .
Referencias

Lectura adicional

  • Martignetti, E.; ¿Qué es lo que hace que una página funcione?: El administrador de memoria virtual de Windows 7 (x64) ( ISBN 978-1479114290 ) 
  • Russinovich, Mark E.; Solomon, David A.; Ionescu, A.; Windows Internals, Part 1: Covering Windows Server 2008 R2 y Windows 7 ( ISBN 978-0735648739 ) 
  • Russinovich, Mark E.; Solomon, David A.; Ionescu, A.; Windows Internals, Part 2: Covering Windows Server 2008 R2 y Windows 7 ( ISBN 978-0735665873 ) 
  • "Sitio oficial de Windows 2000 de Microsoft". Microsoft . Archivado desde el original el 29 de febrero de 2000.
  • "Microsoft Windows 2000 Plug and Play". Microsoft . Archivado desde el original el 8 de agosto de 2004.
  • Gestión de memoria en el kernel de Windows XP
Obtenido de "https://es.wikipedia.org/w/index.php?title=Arquitectura_de_Windows_NT&oldid=1247279334"