Contenido Checked

Arquitectura de Windows NT

Temas relacionados: Software

Acerca de este escuelas selección Wikipedia

SOS Children han producido una selección de artículos de la Wikipedia para escuelas desde 2005. SOS Children ha cuidado de niños en África durante cuarenta años. ¿Puedes ayudar a su trabajo en África ?

La familia del sistema operativo Windows NT arquitectura consta de dos capas ( modo de usuario y modo de núcleo), con muchos módulos diferentes dentro de estas dos 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, modo de usuario y modo de núcleo. Es un preventiva, sistema operativo reentrante, que ha sido diseñado para trabajar con monoprocesador y simétrica de múltiples procesadores (SMP) a base de computadoras. Para procesar de entrada / salida (I / O) de solicitudes, utilizamos el paquete impulsado por I / O, que utiliza Los paquetes de solicitud de E / S (IRP) y E / S asíncrona. A partir de Windows 2000 , Microsoft comenzó a hacer Versiones de 64 bits de Windows disponibles antes de esto, estos sistemas operativos sólo existían en Versiones de 32 bits.

Programas y subsistemas en modo de usuario son limitados en términos de lo que los recursos del sistema que tienen acceso a, mientras que el modo de núcleo tiene acceso sin restricciones a la memoria del sistema y los dispositivos externos. El Windows NT kernel se conoce como una kernel híbrido. La arquitectura comprende un núcleo sencillo , capa de abstracción de hardware (HAL), los conductores, y una gama de servicios (colectivamente llamado Ejecutivo ), que todos existen en modo kernel.

Modo de usuario en Windows NT es de subsistemas capaces de transmitir las solicitudes de E / S en el modo kernel apropiado controladores de software mediante el Administrador de E / S. Dos subsistemas forman la capa de modo de usuario de Windows NT: el subsistema de Medio Ambiente (que se ejecuta aplicaciones escritas para muchos tipos diferentes de sistemas operativos), y el subsistema Integral opera las funciones específicas del sistema en nombre del subsistema de entorno. Modo de núcleo en Windows NT tiene pleno acceso a los recursos de hardware y del sistema de la computadora. El modo kernel detiene los servicios de modo de usuario y aplicaciones accedan a las áreas críticas del sistema operativo que no deberían tener acceso.

Las interfaces de Ejecutivos, con todos los subsistemas del modo usuario, se ocupa de E / S, la gestión de objetos, la seguridad y la gestión de procesos. El núcleo se encuentra entre la capa de abstracción de hardware y el Ejecutivo para proporcionar sincronización multiprocesador, hilo e interrumpir la programación y despacho, y la manipulación y trampa excepción de despacho. El núcleo también se encarga de la inicialización de los controladores de dispositivos en el arranque. Existen controladores en modo kernel en tres niveles: los conductores de más alto nivel, controladores intermedios y los controladores de bajo nivel. Existe controlador de Windows Model (WDM) en la capa intermedia y fue diseñado principalmente para ser binarios y fuente compatible entre Windows 98 y Windows 2000 . Los controladores de nivel más bajo o son heredados controladores de dispositivos de Windows NT que controlan un dispositivo directamente o puede ser una Bus de hardware PnP.

Modo de usuario

El modo de usuario se compone de subsistemas que pueden pasar a las peticiones de E / S para los controladores en modo kernel apropiados por medio del administrador de E / S (que existe en modo kernel). Dos subsistemas forman la capa de modo de usuario de Windows NT: el subsistema de Medio Ambiente y el subsistema Integral.

El subsistema de entorno fue diseñado para ejecutar aplicaciones escritas para muchos tipos diferentes de sistemas operativos. Ninguno de los subsistemas de entorno puede acceder directamente al hardware, y debe solicitar el acceso a los recursos de memoria a través del Administrador de memoria virtual que se ejecuta en modo de núcleo. Además, las aplicaciones se ejecutan con una prioridad más baja que los procesos en modo kernel.

Hay tres principales subsistemas de entorno: el Subsistema Win32, una OS 2 subsistema / y una Subsistema POSIX.

  • El entorno de subsistema Win32 puede ejecutar aplicaciones de Windows de 32 bits. Contiene la consola así como el apoyo ventana de texto, el apagado y gastos de envío para todos los demás subsistemas de entorno difíciles de error. También es compatible con Máquinas virtuales DOS (VDM), que permiten MS-DOS y 16-bit de Windows ( Win16) que las aplicaciones se ejecutan en Windows NT. Hay un MS-DOS VDM específico que se ejecuta en su propio espacio de direcciones y que emula un Intel 80486 con MS-DOS 5.0. Programas Win16, sin embargo, se ejecutan en un Win16 VDM. Cada programa, por defecto, se ejecuta en el mismo proceso, por lo tanto usando el mismo espacio de direcciones, y el Win16 VDM da a cada uno su propio programa hilo para correr. Sin embargo, Windows NT sí permite a los usuarios ejecutar un programa Win16 en Win16 VDM independiente, lo que permite que el programa sea preventivamente multitarea como Windows NT adelantarse a todo el proceso VDM, que sólo contiene una aplicación en ejecución. El proceso de subsistema de entorno Win32 ( csrss.exe) también incluye la funcionalidad de gestión de ventanas, a veces referido como un " gestor de ventanas ". Se ocupa de los eventos de entrada (como el teclado y el ratón), a continuación, pasa los mensajes a las aplicaciones que necesitan recibir esta entrada. Cada aplicación es responsable de dibujo o actualizar sus propias ventanas y menús, en respuesta a estos mensajes .
  • El / 2 ambiente subsistema OS soporta 2 aplicaciones del SO basados en caracteres de 16 bits / y emula OS 2 1.x /, pero no de 32 bits o 2 aplicaciones gráficas OS / como se usan con OS / 2 2.x o posterior.
  • El entorno de subsistema POSIX soporta aplicaciones que están estrictamente escriben bien el estándar POSIX.1 o la relacionada ISO / Normas IEC. El subsistema POSIX ha sido un área de desarrollo activo reciente y es una característica importante de Windows Compute Cluster Server 2003.

El subsistema integral se ocupa de las funciones específicas del sistema operativo en nombre del subsistema de entorno. Se compone de un subsistema de seguridad, un servicio de estación de trabajo y un servicio de servidor. Las ofertas de los subsistemas de seguridad con los tokens de seguridad, concede o deniega el acceso a las cuentas de usuario basados en permisos de recursos, trata las solicitudes de inicio de sesión e inicia la autenticación de inicio de sesión, y determina qué sistema necesitan recursos para ser auditados por Windows NT. También se ocupa de Directorio Activo. El servicio de estación de trabajo es una API para el redirector de red, que proporciona el equipo acceda a la red. El servicio de servidor es una API que permite a la computadora para proporcionar servicios de red.

Modo de núcleo

Windows NT modo de núcleo tiene pleno acceso a los recursos de hardware y del sistema del código informático y se ejecuta en una zona de memoria protegida. Se controla el acceso a la programación, priorización hilo, gestión de memoria y la interacción con el hardware. El modo kernel detiene los servicios de modo de usuario y las aplicaciones accedan a las áreas críticas del sistema operativo que no deberían tener acceso a; procesos de modo de usuario debe solicitar al modo kernel para realizar este tipo de operaciones en su nombre.

Mientras que la arquitectura x86 soporta cuatro niveles de privilegio diferentes (numerados de 0 a 3), sólo se usan los dos niveles de privilegio extremas. Programas usermode se ejecutan con CPL 3, y el kernel se ejecuta con CPL 0. Estos dos niveles se refieren a menudo como "anillo de 3" y "anillo 0", respectivamente. Tal decisión de diseño se ha hecho para lograr la portabilidad del código a Plataformas RISC que sólo admiten dos niveles de privilegio, aunque esto rompe la compatibilidad con 2 aplicaciones de OS / que contienen I / O segmentos de privilegio que intentan acceder directamente al hardware.

Modo de núcleo consiste en servicios ejecutivos, que es a su vez compuesto por varios módulos que realizan tareas específicas, los controladores del núcleo, un núcleo y una capa de abstracción de hardware o HAL.

Ejecutivo

Los servicios Windows Ejecutivos conforman la parte en modo kernel de bajo nivel, y están contenidos en el archivo NTOSKRNL.EXE. Se trata de E / S, la gestión de objetos, la seguridad y la gestión de procesos. Estos se dividen en varios subsistemas, entre los cuales están el Administrador de caché, el Gestor de configuración de E / S Manager, Llamada a procedimiento local (LPC), Administrador de memoria, Administrador de objetos, Estructura de procesos y monitor de referencia de seguridad (SRM). Agrupados, los componentes pueden ser llamados servicios de Ejecutivos (nombre interno Ex). Servicios del sistema (nombre interno Nt), es decir, llamadas al sistema, se implementan en este nivel, también, salvo muy pocos que llame directamente a la capa de núcleo para un mejor rendimiento.

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

Administrador de objetos
La Administrador de objetos (nombre interno Ob) es un subsistema ejecutivo que todos los demás subsistemas ejecutivos, especialmente las llamadas al sistema, deben pasar a través de ganar acceso a los recursos-esencialmente de Windows NT por lo que es un servicio de infraestructura para el manejo de recursos. El administrador de objetos se utiliza para reducir la duplicación de la funcionalidad de gestión de los recursos objeto en otros subsistemas ejecutivos, lo que podría dar lugar a errores y hacer desarrollo de Windows NT más difícil. Para el administrador de objetos, cada recurso es un objeto, si ese recurso es un recurso físico (tal como un sistema de archivos o periférica) o un recurso lógico (tal como un archivo). Cada objeto tiene una estructura u objeto tipo que el administrador de objetos debe conocer.
Creación de objetos es un proceso en dos fases, la creación e inserción. Creación hace que la asignación de un objeto vacío y la reserva de los recursos requeridos por el administrador de objetos, como una (opcional) nombre en el espacio de nombres. Si la creación se ha realizado correctamente, el subsistema responsable de la creación rellena el objeto vacío. Por último, si el subsistema considere la inicialización exitosa, indica al administrador de objetos para insertar el objeto, lo que hace que sea accesible a través de su (opcional) nombre o un cookie denominada un mango. A partir de entonces, la vida útil del objeto es manejado por el administrador de objetos, y le toca al subsistema de mantener el objeto en una condición de trabajo hasta que fue señalado por el administrador de objetos para disponer de él.
Los mangos son identificadores que representan una referencia a un recurso kernel a través de un valor opaco. Del mismo modo, la apertura de un objeto a través de su nombre está sujeto a los controles de seguridad, pero actuando a través de un mango abierto existente es limitada para el nivel de acceso solicitado cuando se abre o se crea el objeto.
Los tipos de objeto definen los procedimientos de objeto y los datos específicos para el objeto. De esta manera, el administrador de objetos permite a Windows NT para ser un sistema operativo orientado a objetos, como los tipos de objetos pueden ser considerados como polimórficos clases que definen objetos. La mayoría de los subsistemas, sin embargo, con una notable excepción en el administrador de E / S, se basan en la aplicación por defecto para todos los procedimientos de tipo de objeto.
Cada instancia de un objeto que se crea almacena su nombre, los 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 objeto y un recuento de referencia para decirle al administrador de objetos cuántos otros objetos en el sistema de referencia que el objeto y por lo tanto determina si el objeto puede ser destruido cuando se envía una petición cerca de ella. Existe Cada objeto con nombre en un objeto jerárquico espacio de nombres.
Controlador caché
En estrecha coordinación con el Administrador de memoria, I / O Manager y los controladores de E / S para proporcionar una memoria caché común para archivo normal de E / S. Excepcionalmente, el Administrador de caché de Windows funciona en bloques de archivos (en lugar de bloques de dispositivos), para un funcionamiento coherente entre los archivos locales y remotos, y garantiza un cierto grado de coherencia con vistas asignados en memoria de archivos, desde bloques de caché son un caso especial de visitas asignados en memoria caché y echa de menos un caso especial de fallos de página.
Configuration Manager
Implementa el Registro de Windows.
I Gerente / O
Permite que los dispositivos se comuniquen entre subsistemas en modo de usuario. Se traduce en modo usuario leer y escribir comandos en leer o escribir IRP que pasa a los controladores de dispositivos. Acepta sistema de archivos solicitudes de E / S y los traduce en convocatorias específicas de dispositivos y puede incorporar controladores de dispositivos de bajo nivel que manipulan directamente al hardware ya sea leer la entrada o salida de escribir. También incluye un gestor de caché para mejorar el rendimiento del disco de almacenamiento en caché peticiones de lectura y escritura en el disco en el fondo.
Llamada a procedimiento local (LPC)
Proporciona puertos de comunicación entre procesos con la semántica de conexión. Puertos LPC son utilizados por los subsistemas de modo de usuario para comunicarse con sus clientes, por subsistemas Ejecutivas para comunicarse con subsistemas en modo de usuario, y como base para el transporte local para MSRPC.
Administrador de memoria
Administra memoria virtual, el control de 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 propósito general de la memoria física. También implementa un analizador de los archivos ejecutables que permite a un ejecutable ser asignada o no asignada en un solo paso, atómica.
A partir de Windows NT Server 4.0 Terminal Server Edition, el administrador de memoria implementa el llamado espacio de sesión, una gama de memoria de modo de núcleo que está sujeta a cambio de contexto como la memoria de modo de usuario. Esto permite que varias instancias del modo de núcleo subsistema Win32 y los controladores GDI lado a lado correr, a pesar de las deficiencias en su diseño inicial. Cada espacio de sesión es compartido por varios procesos, denominados colectivamente como una "sesión".
Para asegurar un grado de aislamiento entre las sesiones sin la introducción de un nuevo tipo de objeto, la asociación entre los procesos y sesiones es manejado por el monitor de referencia de seguridad, como un atributo de un tema de seguridad (token), y sólo se puede cambiar mientras mantiene privilegios especiales .
La naturaleza relativamente poco sofisticado y ad-hoc de sesiones se debe al hecho de que no eran parte del diseño inicial, y tuvo que ser desarrollado, con una interrupción mínima de la línea principal, por un tercero ( Citrix) como requisito previo para su producto de servidor de terminal para Windows NT, llamado WinFrame. A partir de Windows Vista, sin embargo, las sesiones finalmente se convirtió en un aspecto adecuado de la arquitectura de Windows. Ya no es un administrador de construcción de memoria que se arrastra en modo de usuario indirectamente a través de Win32, que se expandió a una abstracción generalizada que afecta a los subsistemas más ejecutivos. Como cuestión de hecho, el uso regular de Windows Vista siempre resulta en un entorno multi-sesión.
Estructura de Procesos
Manijas proceso y la creación del hilo y terminación, y se implementa el concepto de trabajo, un grupo de procesos que puede ser terminado en su totalidad, o ser incluidas en las restricciones compartidas (un máximo tales total de memoria asignada, o tiempo de CPU). Objetos de trabajo fueron introducidas en Windows 2000 .
PnP Gerente
Manijas Plug and Play y apoya la detección y la instalación de dispositivos en el arranque. También tiene la responsabilidad de detener y comenzar a dispositivos en la demanda que esto puede suceder cuando un autobús (como USB o FireWire) gana un nuevo dispositivo y necesita tener un controlador de dispositivo cargado para apoyarlo. Su mayor se aplica realmente en modo de usuario, en el servicio Plug and Play, que se ocupa de las a menudo complejas tareas de instalación de los controladores adecuados, notificando a los servicios y aplicaciones de la llegada de los nuevos dispositivos, y la visualización gráfica para el usuario.
Power Manager
Se ocupa de los eventos de energía (apagado, en espera, hibernación, etc.) y notifica a los conductores afectados con IRP especiales (Poder IRP).
Monitor de referencia de seguridad (SRM)
La autoridad principal de hacer cumplir las normas de seguridad del subsistema integral de seguridad. Se determina si se puede acceder a un objeto o de recursos, mediante el uso de listas de control de acceso (ACL), que son ellos mismos componen de entradas de control de acceso (ACE). ACE contienen una identificador de seguridad (SID) y una lista de las operaciones que el ACE da un selecto grupo de custodios de una cuenta de usuario, cuenta de grupo, o identifícate sesión de permiso (permitir, denegar o auditoría) a ese recurso.
GDI
La Interfaz de dispositivo gráfico se encarga de tareas como dibujar líneas y curvas, las fuentes de representación y gastos de paletas. La Serie 3.x de Windows NT de comunicados había colocado el componente GDI en el modo de usuario Client / Server Runtime Subsystem pero esto se mudaron a modo de núcleo con Windows NT 4.0 para mejorar el rendimiento de los gráficos.

Núcleo

El núcleo se encuentra entre el HAL y el Ejecutivo y proporciona sincronización multiprocesador, hilo e interrumpir la programación y despacho, y la manipulación y trampa excepción expedidor; también es responsable de inicializar los controladores de dispositivo en el arranque que son necesarios para que el sistema operativo y en funcionamiento arriba. Es decir, el núcleo realiza casi todas las tareas de un tradicional microkernel; la distinción estricta entre Ejecutivo y Kernel es el remanente más prominente del diseño original microkernel, y la documentación histórica del diseño se refiere constantemente al componente del núcleo como "el microkernel".

El kernel menudo interactúa con el gestor de procesos. El nivel de abstracción es tal que el kernel nunca llama al gestor de procesos, sólo al revés (con excepción de un puñado de casos de esquina, todavía nunca hasta el punto de una dependencia funcional).

Controladores en modo kernel

Windows NT utiliza en modo kernel controladores de dispositivos necesarios para que pueda interactuar con dispositivos de hardware. Cada uno de los conductores ha rutinas del sistema y rutinas internas que exporta al resto del sistema operativo bien definido. Todos los dispositivos son vistos por código de modo de usuario como un objeto de archivo en el administrador de I / O, aunque a la propia / gerente I O los dispositivos se consideran como objetos de dispositivo, que define como cualquiera de los archivos, dispositivo o los objetos de controlador. Existen controladores en modo kernel en tres niveles: los conductores de más alto nivel, controladores intermedios y los controladores de bajo nivel. Los pilotos del más alto nivel, como controladores de sistema de archivos para FAT y NTFS, confían en los conductores intermedios. Los controladores intermedios consisten conducen o función principal motor para un dispositivo que están opcionalmente intercalado entre controladores de filtro de nivel inferior y superior. El controlador de función continuación se basa en un conductor o un conductor de autobús que da servicio a una controlador de bus, adaptador, o un puente-que puede tener un controlador de filtro de bus opcional que se sitúa entre sí mismo y el controlador de función. Los controladores intermedios dependen de los conductores más bajos de nivel a la función. La Existe Modelo de controlador de Windows (WDM) en la capa intermedia. Los controladores de nivel más bajo son o legado controladores de dispositivos de Windows NT que controlan un dispositivo directamente o pueden ser un bus de hardware PnP. Estos controladores de bajo nivel controlan directamente el hardware y no se basan en ningún otro controlador.

Capa de abstracción de hardware

El Windows NT capa de abstracción de hardware, o HAL, es una capa entre el hardware físico de la computadora y el resto del sistema operativo. Fue diseñado para ocultar las diferencias de hardware y, por tanto, proporcionar una plataforma consistente en que se ejecuta el kernel. El HAL incluye código específico del hardware que controla las interfaces de E / S, interrumpir controladores y múltiples procesadores.

Sin embargo, a pesar de su propósito y lugar designado dentro de la arquitectura, el HAL no es una capa que se encuentra totalmente por debajo del núcleo, la forma en que el kernel está por debajo del Ejecutivo: todas las implementaciones de HAL conocidas dependen en alguna medida en el núcleo, o incluso la Ejecutivo. En la práctica, esto significa que el núcleo y HAL variantes entran en juego sistemas que se han diseñado específicamente para trabajar juntos.

En hardware en particular abstracción no implica abstraer el conjunto de instrucciones, que generalmente cae bajo el concepto más amplio de portabilidad. Haciendo abstracción del conjunto de instrucciones, cuando sea necesario (por ejemplo, para el manejo de las varias revisiones de la conjunto de instrucciones x86, o la emulación de un coprocesador matemático que falta), se lleva a cabo por el núcleo, o por medio de virtualización de plataforma.

Recuperado de " http://en.wikipedia.org/w/index.php?title=Architecture_of_Windows_NT&oldid=526841565 "