stringtranslate.com

Arquitectura de Windows NT

La arquitectura de la familia de sistemas operativos 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 preventivo y reentrante , que ha sido diseñado para funcionar con computadoras basadas en uniprocesador y multiprocesador simétrico (SMP). Para procesar 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ónicas . A partir de Windows XP , Microsoft comenzó a ofrecer versiones de Windows de 64 bits ; antes de esto, sólo existían versiones de 32 bits de estos sistemas operativos.

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 variedad de servicios (denominados colectivamente Executive), todos los cuales existen 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 en modo kernel adecuados mediante el administrador de E/S. La capa de modo de usuario de Windows NT se compone de 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 en modo usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso.

Las interfaces Executive, con todos los subsistemas del 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 Executive para proporcionar sincronización multiprocesador , programación y distribución de subprocesos e interrupciones, y manejo de trampas y distribución de excepciones. El kernel también es responsable de inicializar los controladores de dispositivos durante el arranque. Los controladores del modo kernel existen en tres niveles: controladores de nivel más alto, controladores intermedios y controladores de nivel bajo. El modelo de controlador de Windows (WDM) existe en la capa intermedia y fue diseñado principalmente para ser compatible con binarios y fuentes 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 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 ellos, 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 del entorno puede acceder directamente al hardware; El acceso a las funciones del hardware se realiza llamando a rutinas en modo kernel. [ cita necesaria ]

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

Subsistema de entorno Win32

COMMAND.COM ejecutándose en NTVDM

El subsistema del 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 para todos los demás subsistemas del entorno. También es compatible con máquinas virtuales DOS (VDM), que permiten ejecutar aplicaciones MS-DOS y Windows de 16 bits ( Win16 ) en Windows NT. Existe un VDM de MS-DOS específico que se ejecuta en su propio espacio de direcciones y que emula un Intel 80486 que ejecuta MS-DOS 5.0. Los programas Win16, sin embargo, se ejecutan en un VDM Win16. Cada programa, de forma predeterminada, se ejecuta en el mismo proceso, por lo que utiliza el mismo espacio de direcciones, y Win16 VDM le da a cada programa su propio hilo para ejecutar. Sin embargo, Windows NT permite a los usuarios ejecutar un programa Win16 en un VDM Win16 separado, lo que permite que el programa realice múltiples tareas de forma preventiva, ya que Windows NT se adelantará a todo el proceso VDM, que sólo 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 de 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 gráficas o de 32 bits como las que se usan con OS/2 2.x o posterior, en Solo máquinas x86. [3] Para ejecutar programas gráficos OS/2 1.x, se debe instalar el subsistema complementario de Windows NT para Presentation Manager. [3] La última versión de Windows NT que tuvo un subsistema OS/2 fue Windows 2000; ha sido descontinuado a partir de Windows XP. [4] [5]

Subsistema de entorno POSIX

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

Subsistema de seguridad

El subsistema de seguridad se ocupa de los tokens de seguridad, otorga o niega el acceso a cuentas de usuario según los permisos de recursos, maneja 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 necesaria ] El servicio de estación de trabajo implementa el redirector de red , que es el lado cliente del intercambio de archivos e impresoras de Windows; implementa solicitudes locales a archivos e impresoras remotas "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 archivos compartidos e impresoras compartidas ofrecidas por el sistema local. [7]

Modo kernel

El modo kernel de Windows NT tiene acceso completo a los recursos de hardware y 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 gestión de la memoria y la interacción con el hardware. El modo kernel impide que los servicios y aplicaciones en modo usuario accedan a áreas críticas del sistema operativo a las que no deberían tener acceso; Los procesos en modo usuario deben solicitar al modo kernel que realice dichas operaciones en su nombre.

Si bien la arquitectura x86 admite cuatro niveles de privilegios diferentes (numerados del 0 al 3), solo se utilizan los dos niveles de privilegios extremos. Los programas en modo de usuario se ejecutan con CPL 3 y el kernel se ejecuta con CPL 0. Estos dos niveles a menudo se denominan "anillo 3" y "anillo 0", respectivamente. Esta decisión de diseño se tomó para lograr la portabilidad del código a plataformas RISC que sólo admiten dos niveles de privilegio, [9] aunque esto rompe la compatibilidad con aplicaciones OS/2 que contienen segmentos de privilegios 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 se compone de muchos módulos que realizan tareas específicas; el kernel , que presta servicios de bajo nivel utilizados por el Ejecutivo; la capa de abstracción de hardware (HAL); y controladores del núcleo . [8] [10]

Ejecutivo

Los servicios de Windows Executive constituyen la parte del modo kernel de bajo nivel y están contenidos en el archivo NTOSKRNL.EXE . [8] Se ocupa de E/S, gestión de objetos, seguridad y 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 denominarse Servicios ejecutivos (nombre interno Ex ). Los servicios del sistema (nombre interno Nt ), es decir, llamadas al sistema , también se implementan en este nivel, excepto muy pocos que llaman directamente a la capa del núcleo para un mejor rendimiento. [ cita necesaria ]

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

Cada objeto en 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 todos los demás subsistemas ejecutivos, especialmente las llamadas al sistema, deben pasar 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 generar errores y dificultar el desarrollo de Windows NT. [12] Para el administrador de objetos, cada recurso es un objeto, ya sea que ese recurso 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 tipo de objeto que el administrador de objetos debe conocer.
La creación de objetos es un proceso que consta de 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 entonces, la vida útil del objeto es manejada por el administrador de objetos, y depende del subsistema mantener el objeto en condiciones de funcionamiento hasta que el administrador de objetos le indique que se deshaga de él. [15]
Los identificadores son identificadores que representan una referencia a un recurso del kernel 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 abierto existente solo se limita al nivel de acceso solicitado cuando el objeto se abrió o creó. [ cita necesaria ]
Los tipos de objetos definen los procedimientos del 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 objetos 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, dependen de la implementación predeterminada para todos los procedimientos de tipo de objeto. [ cita necesaria ]
Cada instancia de un objeto que se crea almacena su nombre, los parámetros que se pasan a la función de creación del objeto, los atributos de seguridad y un puntero a su tipo de objeto. El objeto también contiene un procedimiento de cierre de objeto y un recuento de referencias para indicarle al administrador de objetos cuántos otros objetos en el sistema hacen referencia a ese objeto y, por lo tanto, determina si el objeto puede destruirse cuando se le envía una solicitud de cierre. [17] Cada objeto con nombre existe en un espacio de nombres de objeto 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 un caché común para la E/S de archivos normales. 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 en memoria , ya que los bloques de caché son un caso especial de archivos asignados en memoria. Las vistas y el caché pierden un caso especial de fallas de página.
Administrador de configuración
Implementa las llamadas al sistema que necesita el Registro de Windows .
Administrador de E/S
Permite que los dispositivos se comuniquen con subsistemas en modo de usuario. Traduce comandos de lectura y escritura en modo de 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 entradas o escribir salidas. 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 en modo de usuario para comunicarse con sus clientes, por los subsistemas Executive para comunicarse con los subsistemas en modo de usuario y como base para el transporte local para Microsoft RPC .
Administrador de memoria
Gestiona la memoria virtual , controla la protección de la memoria y la paginación de la memoria dentro y fuera de la memoria física al almacenamiento secundario, e implementa un asignador de memoria física de propósito general. También implementa un analizador de ejecutables de PE que permite asignar 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 el llamado espacio de sesión , un rango de memoria en modo kernel que está sujeta 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, denominados 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 tienen privilegios especiales. .
La naturaleza relativamente poco sofisticada y ad hoc de las sesiones se debe al hecho de que no formaban parte del diseño inicial y tuvieron que ser desarrolladas, con una mínima interrupción de la línea principal, por un tercero (Citrix Systems ) como requisito previo para su producto de servidor terminal 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. Ya no son una construcción de administrador de memoria que ingresa indirectamente al modo de usuario a través de Win32, sino que 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 resulta en un entorno multisesión. [18]
Estructura del proceso
Maneja la creación y terminación de procesos y subprocesos, e implementa el concepto de Trabajo , un grupo de procesos que pueden terminarse como un todo o colocarse bajo restricciones compartidas (como un máximo total de memoria asignada o tiempo de CPU). Los objetos de trabajo se introdujeron en Windows 2000 .
Gerente PnP
Maneja 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 según demanda; esto puede suceder cuando un bus (como USB o IEEE 1394 FireWire ) obtiene un nuevo dispositivo y necesita tener cargado un controlador de dispositivo para admitirlo. En realidad, su mayor parte se implementa en modo usuario, en el Servicio Plug and Play , que maneja las tareas a menudo complejas de instalar los controladores apropiados, notificar a los servicios y aplicaciones sobre la llegada de nuevos dispositivos y mostrar la GUI al usuario.
Administrador de energía
Se ocupa de los eventos de energía (apagado, espera, hibernación, etc.) y notifica a los conductores afectados con IRP especiales ( Power IRP ).
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 se componen de 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]) permiso (permitir, denegar o auditar) para ese recurso. [21] [22]
GDI
La interfaz del 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 tiempo de ejecución cliente/servidor en modo de usuario , pero se trasladó al modo kernel con Windows NT 4.0 para mejorar el rendimiento de los gráficos. [23]

Núcleo

El kernel se encuentra entre HAL y Executive y proporciona sincronización multiprocesador, 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 dispositivo durante el arranque que son necesarios para que el sistema operativo esté en funcionamiento. Es decir, el kernel realiza casi todas las tareas de un microkernel tradicional ; la distinción estricta entre Executive y Kernel es el vestigio más destacado del diseño original del microkernel, y la documentación histórica del diseño se refiere constantemente al componente del kernel como "el microkernel".

El kernel 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, sólo al revés (salvo en un puñado de casos extremos, 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 micronúcleo 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 micronúcleo limitado a funciones centrales como la primera. Manejo de interrupciones a nivel, programación de subprocesos y primitivas de sincronización. Esto permite la posibilidad de utilizar llamadas directas a procedimientos o comunicación entre procesos (IPC) para comunicarse entre módulos y, por lo tanto, la posible ubicación de módulos en diferentes espacios de direcciones (por ejemplo, en el espacio del kernel o en los procesos del servidor). Otros objetivos de diseño compartidos con Mach incluyeron soporte para diversas arquitecturas, un núcleo con abstracciones lo suficientemente generales como para permitir que se implementen múltiples personalidades de sistemas operativos 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 ejecución cliente/servidor (csrss.exe). En las versiones de NT anteriores a la 4.0, este proceso de subsistema también contenía el administrador de ventanas, la interfaz del dispositivo de gráficos y los controladores del dispositivo de gráficos. 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 de gráficos internos) se ejecutan como un subsistema en modo kernel. [25]

Las aplicaciones que se ejecutan en NT se escriben en una de las personalidades del sistema operativo (normalmente la API de Windows) y no en la API nativa de NT cuya documentación no está disponible públicamente (con la excepción de las rutinas utilizadas en el desarrollo de controladores de dispositivos). Una personalidad del sistema operativo se implementa a través de un conjunto de DLL en modo de usuario (consulte Biblioteca de vínculos dinámicos ), que se asignan a los espacios de direcciones de los procesos de la 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 sistema operativo 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 atrapando en modo kernel para llamar a rutinas ejecutivas en modo kernel o realizar llamadas a procedimientos locales (LPC) a los procesos de servidor del subsistema en modo de usuario apropiados, que a su vez utilizan la API de NT para comunicarse con procesos de aplicación, los subsistemas en modo kernel y entre sí. [27]

Controladores en modo kernel

Windows NT utiliza controladores de dispositivos en modo kernel para permitirle 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. Todos los dispositivos son vistos por el código de modo de usuario como un objeto de archivo en el administrador de E/S, aunque para el propio administrador de E/S los dispositivos son vistos como objetos de dispositivo, que define como objetos de archivo, dispositivo o controlador. Los controladores del 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 de sistemas de archivos para FAT y NTFS , dependen de controladores intermedios. Los controladores intermedios consisten en controladores de funciones (o controlador principal de un dispositivo) que opcionalmente se intercalan entre controladores de filtro de nivel inferior y superior. Luego, el controlador de función depende de un controlador de autobús (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 ubica entre él y el controlador de función. Los conductores intermedios dependen de los conductores de nivel más bajo para funcionar. El modelo de controlador de Windows (WDM) existe en la capa intermedia. 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 PnP. Estos controladores de nivel inferior controlan directamente el hardware 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 entre el hardware físico de la computadora y el resto del sistema operativo. Fue diseñado para ocultar diferencias en el hardware y proporcionar una plataforma consistente en la que se ejecuta el kernel. HAL incluye código específico de hardware que controla interfaces de E/S, controladores de interrupciones y múltiples procesadores.

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

En particular, la abstracción de hardware no implica abstraer el conjunto de instrucciones, lo que generalmente cae dentro del concepto más amplio de portabilidad . La abstracción del conjunto de instrucciones, cuando es necesario (como para manejar las diversas revisiones del conjunto de instrucciones x86 o para emular un coprocesador matemático faltante), se realiza mediante el kernel o mediante virtualización de hardware .

Secuencia de inicio

La secuencia de inicio la inicia 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 ntoskrnl.exe 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 sesiones . El administrador de sesión inicia servicios cruciales en modo kernel y usuario del subsistema Win32, como el subsistema de tiempo de ejecución cliente/servidor . La sesión también ejecuta el proceso winlogon , que permite a los usuarios iniciar sesión y utilizar sus cuentas.

Ver 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 profesionales de Microsoft Windows 2000 . Microsoft . 11 de septiembre de 2008.
  3. ^ abc "Capítulo 28 del kit de recursos de la estación de trabajo Windows NT: 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 Microsoft POSIX".
  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 red de Windows NT". Microsoft. Archivado desde el original el 18 de noviembre de 2016 . Consultado el 18 de noviembre de 2016 .
  8. ^ abc romano, Steven (1999). "Arquitectura de Windows". Programación API Win32 con Visual Basic . O'Reilly y asociados, Inc. ISBN 1-56592-631-5.
  9. ^ "Informe técnico sobre GDI y usuario en modo kernel de MS Windows NT". Documentación de la estación de trabajo Windows NT . 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. ^ "Asas y objetos". Información del sistema 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 servicios y controladores en 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. ^ "Informe técnico sobre GDI y usuario en modo kernel de MS Windows NT". Microsoft. El modo Kernel de Windows NT 4.0 cambia . Consultado el 19 de enero de 2009 .
  24. ^ Salomón y Russinovich 2000, págs. 543–551.
  25. ^ ab "Informe técnico sobre GDI y usuario en modo kernel de MS Windows NT". Corporación Microsoft. 2007 . Consultado el 1 de marzo de 2007 .
  26. ^ Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2005). Conceptos de sistemas operativos; Séptima 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 los principios del sistema operativo . Investigación de Microsoft/Asia - Pekín . 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

Otras lecturas

enlaces externos