fbpx
Wikipedia

Arquitectura de Windows NT

La familia de los sistemas operativos Windows NT de Microsoft está constituida por versiones como Windows 10 (10.0), Windows 8.1 (6.3.9600), Windows 8 (6.2.9200), Windows 7 (6.1.7601), Windows Server 2008, Windows Vista (6.0.6002), Windows Server 2003 (5.2.3790), Windows XP (5.1.2600), Windows 2000 (5.0.2195) y Windows NT. Todos tienen multitarea apropiativa y son sistemas operativos reentrantes que han sido diseñados para trabajar tanto con computadoras con un sólo procesador como computadoras de multiprocesamiento simétrico que en inglés es el Symmetrical Multi Processor o SMP. Para procesar las peticiones de entrada/salida (en inglés Input/Output, I/O) acude a una dirección de paquetes de E/S que utiliza peticiones E/S (IRPs) y E/S asíncrona. A partir de Windows XP, Microsoft comenzó a desarrollar sistemas operativos que soportaban 64-bits. Antes sus sistemas operativos estaban basados en un modelo de 32-bits.

La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas, (modo usuario y modo núcleo), con distintos módulos dentro de éstas capas.

La arquitectura de Windows NT es altamente modular y se basa en dos capas principales:

  • Modo usuario: Cuyos programas y subsistemas están limitados a los recursos del sistema a los que tienen acceso.
  • Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos como núcleos híbridos, aunque hay que aclarar que este término está en discusión ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo de un micronúcleo. La arquitectura dentro del modo núcleo se compone de lo siguiente:[1]
  1. Un núcleo híbrido.
  2. Una Capa de Abstracción de Hardware (HAL).
  3. Controladores o drivers.
  4. Executive: Sobre el cual son implementados todos los servicios de alto nivel.

El modo núcleo de la línea de Windows NT está compuesto por subsistemas capaces de pasar peticiones de E/S a los controladores apropiados usando el gestor de E/S. Dos subsistemas crean la capa del modo usuario de Windows 2000: el subsistema de Entorno (ejecuta aplicaciones escritas para distintos tipos de sistemas operativos), y el subsistema Integral (maneja funciones específicas de sistema de parte del subsistema de Entorno). El modo núcleo en Windows 2000 tiene acceso total al hardware y a los recursos del sistema de la computadora. El modo núcleo impide a los servicios del modo usuario y las aplicaciones acceder a áreas críticas del sistema operativo a las que no deberían tener acceso.

El Executive se relaciona con todos los subsistemas del modo usuario. Se ocupa de la entrada/salida, 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 Executive para proporcionar sincronización multiprocesador, hilos y programación y envío de interrupciones, y envío de excepciones.

El núcleo también es responsable de la inicialización de los controladores de dispositivos al arrancar. Hay tres niveles de controladores en el modo núcleo: controladores de alto nivel, controladores intermedios y controladores de bajo nivel. El Modelo de controladores de Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa intermedia y fue diseñado principalmente para mantener la compatibilidad en binario y en código fuente entre Windows 98 y Windows 2000. Los de más bajo nivel también son un legado de los controladores de dispositivos de Windows NT que controlan directamente un dispositivo, o pueden ser un bus hardware PnP.

Modo Usuario

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ándar POSIX.1 o los estándares 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 la computadora. El servicio de servidor es una API que permite a la computadora proporcionar servicios de red.

Modo núcleo

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. En lugar de ello, 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.

Executive

El Executive se relaciona con todos los subsistemas del modo usuario. Se encarga de la Entrada/Salida, la gestión de objetos, la seguridad y la gestión de procesos. Está dividido informalmente en varios subsistemas, entre los que se encuentran el Gestor de Caché, el Gestor de Configuración, el Gestor de Entrada/Salida, las Llamadas a Procedimientos Locales, el Gestor de Memoria, el Gestor de Objetos, la Estructura de Procesos, y el Monitor de Referencias de Seguridad. Todos juntos, los componentes pueden ser llamados Servicios Executive (nombre interno Ex). Los Servicios del Sistema (nombre interno Nt), por ejemplo las llamadas al sistema, se implementan en este nivel también, excepto unas pocas que son llamadas directamente dentro de la capa del núcleo para obtener un mejor rendimiento.

El Gestor de Objetos (nombre interno Ob) es un subsistema especial del Executive por el cual todos los otros subsistemas del Executive, especialmente las llamadas al sistema, deben pasar para obtener acceso a los recursos de Windows 2000. Esto hace que sea esencialmente un servicio de infraestructuras de gestión de recursos.

El gestor de objetos se usa para evitar la duplicación de la funcionalidad de la gestión de objetos de recursos en los otros subsistemas del executive, que potencialmente podría llevar a errores y complicar el diseño de Windows 2000.[2]​ Para el gestor de objetos, cada recurso es un objeto, independientemente de si el recurso es 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 gestor de objetos debe conocer.

La creación de objetos es un proceso realizado en dos fases, creación e inserción. La creación provoca la asignación de un objeto vacío y la reserva de los recursos necesarios por el gestor de objetos, como por ejemplo un nombre (opcional) en el espacio de nombres. Si la creación se realiza correctamente, el subsistema responsable de la creación rellena los datos del objeto.[3]​ Finalmente, si el subsistema considera que la inicialización fue correcta, avisa al gestor de objetos para que inserte el objeto, inserción que hace que sea accesible a través de su nombre (opcional) o una cookie llamada puntero. Desde ese momento, la vida del objeto es controlada por el gestor de objetos, y es obligación del subsistema mantener el objeto en funcionamiento hasta que sea marcado por el gestor de objetos para su liberación.

El propósito de los punteros es similar al de los descriptores de archivo de UNIX, en los que cada uno representa una referencia a un recurso del núcleo a través de un valor oscuro. De forma similar, abrir un objeto a partir de su nombre está sujeto a comprobaciones de seguridad, pero trabajar a través de uno ya existente sólo está limitado al nivel de acceso necesario cuando el objeto es abierto o creado. De manera diferente a los descriptores de archivo de UNIX, múltiples punteros de Windows pueden referenciar al mismo objeto (mientras que los descriptores de archivo pueden ser duplicados, los duplicados referencian al mismo nodo de archivo, pero a una única descripción de archivo).

Los tipos de objeto definen los procedimientos de los mismos y sus datos específicos. De esta forma, el gestor de objetos permite a Windows 2000 ser un sistema operativo orientado a objetos, ya que los tipos de objetos pueden ser considerados como clases polimórficas que definen objetos. Sin embargo, la mayoría de los subsistemas confían en la implementación por defecto para todos los tipos de objeto de los procedimientos.

Cada uno de los objetos que se crean guardan 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 para cerrarlo y un contador de referencias para indicar al gestor de objetos cuántos objetos lo referencian. De esta forma, el gestor de objetos, determina si el objeto puede ser destruido cuando se le envía una petición para borrar el objeto.[4]​ Todos los objetos nombrados se encuentran en el objeto jerárquico del espacio de nombres.

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é esta 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 utilizado para cambiar 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 naturaleza 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. Desde la versión Windows Vista, las sesiones finalmente se han convertido en un aspecto propio de la arquitectura de Windows. A partir de ahora un gestor de memoria que entró furtivamente en modo usuario a través de Win32, fue expandido 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 driver para acceder a él. En 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 se puede acceder a un objeto o recurso, 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]


Núcleo

El núcleo del sistema operativo se encuentra entre el HAL y el Executive y proporciona sincronización multiprocesador, hilos y envío y planificación de interrupciones, gestión de interrupciones y envío de excepciones. También es responsable de la inicialización de controladores de dispositivos que son necesarios en el arranque para mantener el sistema operativo funcionando. Esto es, el núcleo realiza casi todas las tareas de un micronúcleo tradicional. La distinción estricta entre el Executive y el núcleo consiste en que quedan más restos en este último del diseño original del micronúcleo, (la documentación histórica del diseño se refiere al componente del núcleo como "el micronúcleo").

El núcleo a menudo interactúa con el gestor de procesos.[10]​ El nivel de abstracción es tal que el núcleo nunca llama al gestor de procesos: únicamente se permite lo contrario (salvo para un puñado de casos, sin llegar aún hasta el punto de una dependencia funcional).

Controladores del modo Núcleo

Windows 2000 utiliza cada controlador de dispositivo del modo núcleo para permitirle interactuar con los dispositivos hardware. Cada uno de los controladores tiene rutinas de sistema bien definidas y rutinas internas que exporta al resto de sistemas operativos. Todos los dispositivos son vistos por el modo usuario como un objeto archivo en el gestor de Entrada/Salida. A través del propio gestor de E/S, los dispositivos son vistos como objetos de dispositivo, que él define tanto como objetos archivo, dispositivo o driver. Los controladores del modo núcleo se encuentran en tres niveles: controladores de alto nivel, controladores intermedios y controladores de bajo nivel. Los controladores de alto nivel, como controladores de sistemas de archivos para FAT y NTFS, dependen de controladores intermedios. Los controladores intermedios se componen de funciones controladores — o controladores principales para un dispositivo — que opcionalmente son intercalados entre filtros de controladores de bajo y alto nivel. Las funciones driver dependen de un driver de bus — o un driver que sirve a un controlador de bus, adaptador o puente — que puede tener un filtro driver de bus opcional que se encuentra entre él mismo y la función driver. El Modelo de controladores de Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa intermedia. El nivel más bajo de controladores es también una herencia de los controladores de dispositivo de Windows NT que controlan un dispositivo directamente o que pueden ser un bus hardware PnP. Esos controladores de bajo nivel controlan directamente el hardware y no se basan en otros.

Capa de Abstracción Hardware

La Capa de Abstracción de Hardware, o HAL (en inglés Hardware Abstraction Layer), es una capa que se encuentra 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 proporciona una plataforma consistente en la cual se puedan ejecutar las aplicaciones. La HAL incluye código dependiente del hardware que controla las interfaces de E/S, controladores de interrupciones y múltiples procesadores.

En particular, la "abstracción hardware" no implica abstraer el conjunto de instrucciones, que generalmente se engloban bajo el concepto más amplio de portabilidad. La abstracción del conjunto de instrucciones, cuando es necesario (como para gestionar varias revisiones del conjunto de instrucciones del x86, o la emulación de un coprocesador matemático inexistente), es realizada por el núcleo.

A pesar de su propósito y su posición dentro del diseño de la arquitectura, el HAL no es una capa que se encuentre completamente debajo del núcleo de la misma forma que el núcleo se encuentra debajo del Executive: todas las implementaciones conocidas del HAL dependen de alguna manera del núcleo, o incluso del Executive. En la práctica, esto significa que el núcleo y las variaciones del HAL se distribuyen conjuntamente, generados específicamente para trabajar juntos.

Referencias

  1. Examen MCSE 70-215, Microsoft Windows 2000 Server. Capítulo 1, Introducción a Microsoft Windows 2000, pp. 7-18.
  2. Mark Russinovich (Octubre de 1997). Dentro del Gestor de Objetos de NT. Introducción (en inglés).
  3. Mark Russinovich (Octubre de 1997). Dentro del Gestor de Objetos de NT. Tipos de Objetos (en inglés).
  4. Mark Russinovich (Octubre de 1997). Dentro del Gestor de Objetos de NT. Objetos (en inglés).
  5. Microsoft. "Impacto del Aislamiento de Sesión 0 en Servicios y controladores en Windows Vista" (en inglés).
  6. Microsoft. Almacenamiento de datos en el Directorio Activo (en inglés).
  7. MSDN. Definición de confianza (en inglés).
  8. Siyan, Kanajit S. (2000). "Windows 2000 Referencia Profesional". Nuevos Jinetes (en inglés). ISBN 0-7357-0952-1.
  9. MSDN. Definición de ACE (en inglés).
  10. Dentro de Microsoft Windows 2000 (Tercera Edición). Microsoft Press. Páginas 543-551 (en inglés).

Bibliografía

  • Finnel, Lynn (2000). Examen MCSE 70-215, Microsoft Windows 2000 Server. Microsoft Press. ISBN 1-57231-903-8.
  • Russinovich, Mark (octubre de 1997). (en inglés). Windows IT Pro. Archivado desde el original el 17 de mayo de 2013. Consultado el 23 de febrero de 2007. 
  • Salomon, David y Russinovich, Mark E. (2000). (en inglés) (tercera edición). Microsoft Press. ISBN 0-7356-1021-5. Archivado desde el original el 23 de marzo de 2005. 

Enlaces externos

  • Página oficial de Microsoft Windows 2000 (en inglés).
  • Arquitectura Plug and Play de Windows 2000 (en inglés).
  • Arquitectura del SO Windows NT
  •   Datos: Q2596419

arquitectura, windows, sugerido, este, artículo, sección, fusionado, windows, para, más, información, véase, discusión, hayas, realizado, fusión, contenidos, pide, fusión, historiales, aquí, este, aviso, puesto, febrero, 2018, familia, sistemas, operativos, wi. Se ha sugerido que este articulo o seccion sea fusionado con Windows NT Para mas informacion vease la discusion Una vez que hayas realizado la fusion de contenidos pide la fusion de historiales aqui Este aviso fue puesto el 19 de febrero de 2018 La familia de los sistemas operativos Windows NT de Microsoft esta constituida por versiones como Windows 10 10 0 Windows 8 1 6 3 9600 Windows 8 6 2 9200 Windows 7 6 1 7601 Windows Server 2008 Windows Vista 6 0 6002 Windows Server 2003 5 2 3790 Windows XP 5 1 2600 Windows 2000 5 0 2195 y Windows NT Todos tienen multitarea apropiativa y son sistemas operativos reentrantes que han sido disenados para trabajar tanto con computadoras con un solo procesador como computadoras de multiprocesamiento simetrico que en ingles es el Symmetrical Multi Processor o SMP Para procesar las peticiones de entrada salida en ingles Input Output I O acude a una direccion de paquetes de E S que utiliza peticiones E S IRPs y E S asincrona A partir de Windows XP Microsoft comenzo a desarrollar sistemas operativos que soportaban 64 bits Antes sus sistemas operativos estaban basados en un modelo de 32 bits La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas modo usuario y modo nucleo con distintos modulos dentro de estas capas La arquitectura de Windows NT es altamente modular y se basa en dos capas principales Modo usuario Cuyos programas y subsistemas estan limitados a los recursos del sistema a los que tienen acceso Modo nucleo Tiene acceso total a la memoria del sistema y los dispositivos externos Los nucleos de los sistemas operativos de esta linea son todos conocidos como nucleos hibridos aunque hay que aclarar que este termino esta en discusion ya que este nucleo es esencialmente un nucleo monolitico que esta estructurado al estilo de un micronucleo La arquitectura dentro del modo nucleo se compone de lo siguiente 1 Un nucleo hibrido Una Capa de Abstraccion de Hardware HAL Controladores o drivers Executive Sobre el cual son implementados todos los servicios de alto nivel El modo nucleo de la linea de Windows NT esta compuesto por subsistemas capaces de pasar peticiones de E S a los controladores apropiados usando el gestor de E S Dos subsistemas crean la capa del modo usuario de Windows 2000 el subsistema de Entorno ejecuta aplicaciones escritas para distintos tipos de sistemas operativos y el subsistema Integral maneja funciones especificas de sistema de parte del subsistema de Entorno El modo nucleo en Windows 2000 tiene acceso total al hardware y a los recursos del sistema de la computadora El modo nucleo impide a los servicios del modo usuario y las aplicaciones acceder a areas criticas del sistema operativo a las que no deberian tener acceso El Executive se relaciona con todos los subsistemas del modo usuario Se ocupa de la entrada salida la gestion de objetos la seguridad y la gestion de procesos El nucleo se situa entre la Capa de Abstraccion de Hardware y el Executive para proporcionar sincronizacion multiprocesador hilos y programacion y envio de interrupciones y envio de excepciones El nucleo tambien es responsable de la inicializacion de los controladores de dispositivos al arrancar Hay tres niveles de controladores en el modo nucleo controladores de alto nivel controladores intermedios y controladores de bajo nivel El Modelo de controladores de Windows en ingles Windows Driver Model WDM se encuentra en la capa intermedia y fue disenado principalmente para mantener la compatibilidad en binario y en codigo fuente entre Windows 98 y Windows 2000 Los de mas bajo nivel tambien son un legado de los controladores de dispositivos de Windows NT que controlan directamente un dispositivo o pueden ser un bus hardware PnP Indice 1 Modo Usuario 2 Modo nucleo 2 1 Executive 2 2 Nucleo 2 3 Controladores del modo Nucleo 2 4 Capa de Abstraccion Hardware 3 Referencias 4 Bibliografia 5 Enlaces externosModo Usuario EditarEl modo usuario esta formado por subsistemas que pueden pasar peticiones de E S a los controladores apropiados del modo nucleo a traves del gestor de E S que se encuentra en el modo nucleo Dos subsistemas forman la capa del modo usuario de Windows 2000 el subsistema de Entorno y el subsistema Integral El subsistema de entorno fue disenado 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 traves del Gestor de Memoria Virtual que se ejecuta en modo nucleo Ademas las aplicaciones se ejecutan a menor prioridad que los procesos del nucleo 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 ademas de soporte para ventanas de texto apagado y manejo de errores graves para todos los demas subsistemas de entorno Tambien soporta Maquinas Virtuales de DOS en ingles 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 especifica 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 asi que usa el mismo espacio de direcciones y el VDM de Win16 proporciona a cada programa su propio hilo de ejecucion 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 unicamente una aplicacion en ejecucion 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 grafico como se hace en OS 2 2 x y posteriores El subsistema de entorno de POSIX solo soporta aplicaciones que cumplan estrictamente el estandar POSIX 1 o los estandares de ISO IEC asociados El subsistema integral se encarga de funciones especificas 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 basandose en los permisos de los recursos gestiona las peticiones de comienzo de sesion e inicia la autenticacion y determina que recursos de sistema necesitan ser auditados por Windows 2000 Tambien se encarga del Directorio Activo en ingles Active Directory El servicio de terminal es una API al redirector de red que proporciona el acceso a la red a la computadora El servicio de servidor es una API que permite a la computadora proporcionar servicios de red Modo nucleo EditarEl modo nucleo de Windows 2000 tiene un acceso completo al hardware y a los recursos del sistema de la computadora y ejecuta su codigo en un area de memoria protegida Controla el acceso a la planificacion priorizacion de hilos gestion de memoria y la interaccion con el hardware El modo nucleo impide que los servicios y las aplicaciones del modo usuario accedan a areas criticas del sistema operativo a las que no deberian tener acceso En lugar de ello deben pedir al nucleo que realice esas operaciones en su nombre El modo nucleo esta formado por servicios executive que a su vez estan formados por varios modulos que realizan tareas especificas controladores de nucleo un nucleo y una Capa de Abstraccion del Hardware o HAL Executive Editar El Executive se relaciona con todos los subsistemas del modo usuario Se encarga de la Entrada Salida la gestion de objetos la seguridad y la gestion de procesos Esta dividido informalmente en varios subsistemas entre los que se encuentran el Gestor de Cache el Gestor de Configuracion el Gestor de Entrada Salida las Llamadas a Procedimientos Locales el Gestor de Memoria el Gestor de Objetos la Estructura de Procesos y el Monitor de Referencias de Seguridad Todos juntos los componentes pueden ser llamados Servicios Executive nombre interno Ex Los Servicios del Sistema nombre interno Nt por ejemplo las llamadas al sistema se implementan en este nivel tambien excepto unas pocas que son llamadas directamente dentro de la capa del nucleo para obtener un mejor rendimiento El Gestor de Objetos nombre interno Ob es un subsistema especial del Executive por el cual todos los otros subsistemas del Executive especialmente las llamadas al sistema deben pasar para obtener acceso a los recursos de Windows 2000 Esto hace que sea esencialmente un servicio de infraestructuras de gestion de recursos El gestor de objetos se usa para evitar la duplicacion de la funcionalidad de la gestion de objetos de recursos en los otros subsistemas del executive que potencialmente podria llevar a errores y complicar el diseno de Windows 2000 2 Para el gestor de objetos cada recurso es un objeto independientemente de si el recurso es un recurso fisico como un sistema de archivos o un periferico o un recurso logico como un archivo Cada objeto tiene una estructura o tipo de objeto que el gestor de objetos debe conocer La creacion de objetos es un proceso realizado en dos fases creacion e insercion La creacion provoca la asignacion de un objeto vacio y la reserva de los recursos necesarios por el gestor de objetos como por ejemplo un nombre opcional en el espacio de nombres Si la creacion se realiza correctamente el subsistema responsable de la creacion rellena los datos del objeto 3 Finalmente si el subsistema considera que la inicializacion fue correcta avisa al gestor de objetos para que inserte el objeto insercion que hace que sea accesible a traves de su nombre opcional o una cookie llamada puntero Desde ese momento la vida del objeto es controlada por el gestor de objetos y es obligacion del subsistema mantener el objeto en funcionamiento hasta que sea marcado por el gestor de objetos para su liberacion El proposito de los punteros es similar al de los descriptores de archivo de UNIX en los que cada uno representa una referencia a un recurso del nucleo a traves de un valor oscuro De forma similar abrir un objeto a partir de su nombre esta sujeto a comprobaciones de seguridad pero trabajar a traves de uno ya existente solo esta limitado al nivel de acceso necesario cuando el objeto es abierto o creado De manera diferente a los descriptores de archivo de UNIX multiples punteros de Windows pueden referenciar al mismo objeto mientras que los descriptores de archivo pueden ser duplicados los duplicados referencian al mismo nodo de archivo pero a una unica descripcion de archivo Los tipos de objeto definen los procedimientos de los mismos y sus datos especificos De esta forma el gestor de objetos permite a Windows 2000 ser un sistema operativo orientado a objetos ya que los tipos de objetos pueden ser considerados como clases polimorficas que definen objetos Sin embargo la mayoria de los subsistemas confian en la implementacion por defecto para todos los tipos de objeto de los procedimientos Cada uno de los objetos que se crean guardan su nombre los parametros que se pasan a la funcion de creacion del objeto los atributos de seguridad y un puntero a su tipo de objeto El objeto tambien contiene un procedimiento para cerrarlo y un contador de referencias para indicar al gestor de objetos cuantos objetos lo referencian De esta forma el gestor de objetos determina si el objeto puede ser destruido cuando se le envia una peticion para borrar el objeto 4 Todos los objetos nombrados se encuentran en el objeto jerarquico del espacio de nombres Otros subsistemas executive son los siguientes Controlador de Cache en ingles Cache Controller nombre interno Cc esta estrechamente relacionado con el Gestor de Memoria el Gestor de Entrada Salida y los controladores de Entrada Salida para proporcionar una cache comun para archivos frecuentes de E S El Gestor de Cache de Windows opera unicamente con bloques de archivo mas que con bloques de dispositivo para realizar operaciones consistentes entre archivos locales y remotos y asegurar un cierto grado de coherencia con las paginas en memoria de los archivos ya que los bloques de cache son un caso especial de las paginas en memoria y los fallos cache son un caso especial de los fallos de pagina Un tema pendiente desde hace tiempo sobre la implementacion existente es por que esta no libera explicitamente los bloques que no han sido utilizados durante mucho tiempo dependiendo en cambio del algoritmo de asignacion de paginas del gestor de memoria para que las descarte finalmente de la memoria fisica Como efecto algunas veces la cache crece indiscriminadamente obligando a otra memoria a ser paginada muchas veces reemplazando al proceso que comenzo la E S que termina gastando la mayor parte de su tiempo de ejecucion atendiendo fallos de pagina Esto es mas visible cuando se copian archivos grandes Gestor de Configuracion en ingles Configuration Manager nombre interno Cm implementa el registro de Windows Gestor de E S en ingles 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 envia a los controladores de los dispositivos Tambien acepta peticiones de E S del sistema de archivos y las traduce en llamadas especificas a los dispositivos Puede incorporar controladores de dispositivo de bajo nivel que manipulan directamente el hardware para leer la entrada o escribir una salida Tambien incluye un gestor de cache para mejorar el rendimiento del disco guardando las peticiones de lectura y escribiendo a disco en segundo plano Llamada a Procedimientos Locales en ingles Local Procedure Call LPC nombre interno Lpc proporciona comunicacion entre procesos a traves de puertos con conexion semantica 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 ingles Memory Manager nombre interno Mm gestiona la memoria virtual controlando la proteccion de memoria y el paginado de memoria fisica al almacenamiento secundario e implementa un gestor de memoria fisica de proposito general Tambien implementa un parser de Ejecutables Portables en ingles Portable Executable PE que permite a un ejecutable ser mapeado o liberado en un paso unico y atomico Comenzando en Windows NT Server 4 0 Terminal Server Edition el gestor de memoria implementa el llamado espacio de sesion un rango de la memoria del modo nucleo que es utilizado para cambiar 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 diseno inicial Cada espacio de sesion es compartido por varios procesos denominado conjuntamente como sesion 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 solo puede ser cambiado si se tienen privilegios especiales La naturaleza relativamente poco sofisticada y ad hoc de las sesiones es debida al hecho de que no fueron parte del diseno inicial y tuvieron que ser desarrolladas con minima interrupcion a la linea principal por un tercer grupo Citrix como requisito para su producto de terminal server para Windows NT llamado WinFrame Desde la version Windows Vista las sesiones finalmente se han convertido en un aspecto propio de la arquitectura de Windows A partir de ahora un gestor de memoria que entro furtivamente en modo usuario a traves de Win32 fue expandido en una abstraccion dominante afectando a la mayoria de los subsistemas Executive En realidad el uso habitual de Windows Vista siempre da como consecuencia un entorno multi sesion 5 Estructura de Procesos en ingles Process Structure nombre interno Ps gestiona la creacion y finalizacion 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 maximo de memoria asignada o tiempo de CPU Gestor de PnP en ingles PnP Manager nombre interno Pnp gestiona el servicio de Plug and Play mantiene la deteccion de dispositivos y la instalacion en el momento del arranque Tambien 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 driver para acceder a el En su mayor parte esta implementada en modo usuario en el Servicio Plug and Play que gestiona las tareas a menudo complejas de instalacion de los controladores apropiados avisando a los servicios y aplicaciones de la llegada de nuevos servicios y mostrando el GUI al usuario Gestor de Energia en ingles Power Manager nombre interno Po se ocupa de los eventos de energia apagado modo en espera hibernacion etc y notifica a los controladores afectados con IRPs especiales IRPs de Energia Monitor de Referencias de Seguridad en ingles Security Reference Monitor SRM nombre interno Se es la autoridad principal para hacer cumplir las reglas del subsistema de seguridad integral 6 Determina cuando se puede acceder a un objeto o recurso a traves del uso de listas de control de acceso en ingles Access Control List ACL que estan formadas por entradas de control de acceso en ingles Access Control Entries ACE Los ACEs contienen un identificador de seguridad en ingles 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 sesion 7 permiso permitir denegar o auditar a ese recurso 8 9 Nucleo Editar El nucleo del sistema operativo se encuentra entre el HAL y el Executive y proporciona sincronizacion multiprocesador hilos y envio y planificacion de interrupciones gestion de interrupciones y envio de excepciones Tambien es responsable de la inicializacion de controladores de dispositivos que son necesarios en el arranque para mantener el sistema operativo funcionando Esto es el nucleo realiza casi todas las tareas de un micronucleo tradicional La distincion estricta entre el Executive y el nucleo consiste en que quedan mas restos en este ultimo del diseno original del micronucleo la documentacion historica del diseno se refiere al componente del nucleo como el micronucleo El nucleo a menudo interactua con el gestor de procesos 10 El nivel de abstraccion es tal que el nucleo nunca llama al gestor de procesos unicamente se permite lo contrario salvo para un punado de casos sin llegar aun hasta el punto de una dependencia funcional Controladores del modo Nucleo Editar Windows 2000 utiliza cada controlador de dispositivo del modo nucleo para permitirle interactuar con los dispositivos hardware Cada uno de los controladores tiene rutinas de sistema bien definidas y rutinas internas que exporta al resto de sistemas operativos Todos los dispositivos son vistos por el modo usuario como un objeto archivo en el gestor de Entrada Salida A traves del propio gestor de E S los dispositivos son vistos como objetos de dispositivo que el define tanto como objetos archivo dispositivo o driver Los controladores del modo nucleo se encuentran en tres niveles controladores de alto nivel controladores intermedios y controladores de bajo nivel Los controladores de alto nivel como controladores de sistemas de archivos para FAT y NTFS dependen de controladores intermedios Los controladores intermedios se componen de funciones controladores o controladores principales para un dispositivo que opcionalmente son intercalados entre filtros de controladores de bajo y alto nivel Las funciones driver dependen de un driver de bus o un driver que sirve a un controlador de bus adaptador o puente que puede tener un filtro driver de bus opcional que se encuentra entre el mismo y la funcion driver El Modelo de controladores de Windows en ingles Windows Driver Model WDM se encuentra en la capa intermedia El nivel mas bajo de controladores es tambien una herencia de los controladores de dispositivo de Windows NT que controlan un dispositivo directamente o que pueden ser un bus hardware PnP Esos controladores de bajo nivel controlan directamente el hardware y no se basan en otros Capa de Abstraccion Hardware Editar La Capa de Abstraccion de Hardware o HAL en ingles Hardware Abstraction Layer es una capa que se encuentra entre el hardware fisico de la computadora y el resto del sistema operativo Fue disenado para ocultar las diferencias de hardware y por tanto proporciona una plataforma consistente en la cual se puedan ejecutar las aplicaciones La HAL incluye codigo dependiente del hardware que controla las interfaces de E S controladores de interrupciones y multiples procesadores En particular la abstraccion hardware no implica abstraer el conjunto de instrucciones que generalmente se engloban bajo el concepto mas amplio de portabilidad La abstraccion del conjunto de instrucciones cuando es necesario como para gestionar varias revisiones del conjunto de instrucciones del x86 o la emulacion de un coprocesador matematico inexistente es realizada por el nucleo A pesar de su proposito y su posicion dentro del diseno de la arquitectura el HAL no es una capa que se encuentre completamente debajo del nucleo de la misma forma que el nucleo se encuentra debajo del Executive todas las implementaciones conocidas del HAL dependen de alguna manera del nucleo o incluso del Executive En la practica esto significa que el nucleo y las variaciones del HAL se distribuyen conjuntamente generados especificamente para trabajar juntos Referencias Editar Examen MCSE 70 215 Microsoft Windows 2000 Server Capitulo 1 Introduccion a Microsoft Windows 2000 pp 7 18 Mark Russinovich Octubre de 1997 Dentro del Gestor de Objetos de NT Introduccion en ingles Mark Russinovich Octubre de 1997 Dentro del Gestor de Objetos de NT Tipos de Objetos en ingles Mark Russinovich Octubre de 1997 Dentro del Gestor de Objetos de NT Objetos en ingles Microsoft Impacto del Aislamiento de Sesion 0 en Servicios y controladores en Windows Vista en ingles Microsoft Almacenamiento de datos en el Directorio Activo en ingles MSDN Definicion de confianza en ingles Siyan Kanajit S 2000 Windows 2000 Referencia Profesional Nuevos Jinetes en ingles ISBN 0 7357 0952 1 MSDN Definicion de ACE en ingles Dentro de Microsoft Windows 2000 Tercera Edicion Microsoft Press Paginas 543 551 en ingles Bibliografia EditarFinnel Lynn 2000 Examen MCSE 70 215 Microsoft Windows 2000 Server Microsoft Press ISBN 1 57231 903 8 Russinovich Mark octubre de 1997 Dentro del Gestor de Objetos de NT en ingles Windows IT Pro Archivado desde el original el 17 de mayo de 2013 Consultado el 23 de febrero de 2007 Salomon David y Russinovich Mark E 2000 Dentro del Gestor de Objetos de NT en ingles tercera edicion Microsoft Press ISBN 0 7356 1021 5 Archivado desde el original el 23 de marzo de 2005 Enlaces externos EditarPagina oficial de Microsoft Windows 2000 en ingles Arquitectura Plug and Play de Windows 2000 en ingles Arquitectura del SO Windows NT Arquitectura interna de Windows NT Datos Q2596419 Obtenido de https es wikipedia org w index php title Arquitectura de Windows NT amp oldid 137930082, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos