Windows 2000

1.3.1 Ediciones de Windows 2000

  • Windows 2000 profesional
  • Windows 2000 Server
  • Windows 2000 Advanced Server, y
  • Windows 2000 Datacenter Server.

Se diferencian en el número de procesadores y memoria física soportados, el número de conexiones de red, y servicios (RAID, AD, DHCP, DNS, DFS, etc.)

1.3.2 Objetivos de diseño

-Extensibilidad. Debe poder crecer y cambiar confortablemente según las necesidades de mercado.

-Transportabilidad. El sistema debe ser capaz de ejecutarse sobre múltiples plataformas hardware y debe moverse a aquellas que aparezcan. Incluídos multiprocesadores.

-Fiabilidad y robustez. El sistema debe protegerse él mismo de malfuncionamientos internos y ataques externos. Las aplicaciones no deben poder dañar al sistema o a otras aplicaciones.

-Compatibilidad. Su API debe ser compatible con viejas versiones de Windows y MS-DOS. Debería poder interoperar con Unix, OS/2 y Netware.

-Rendimiento. Dentro de las restricciones de los otros objetivos de diseño, el sistema debe ser tan rápido y responsivo como sea posible sobre cada plataforma.

1.3.3 Modelos usados en implementación

Cliente-servidor. Ciertos servicios del SO están implementados como procesos de usuario.

De capas. En el Ejecutivo, y la gestión de E/S.

Orientado a objetos. Si bien no es un SOOO, trata algunos elementos como objetos: procesos, hebras, archivos, puertos, semáforos, mutantes, etc.

Estructura microkernel. No un modelo puro, por razones de eficiencia.

Multiprocesamiento simétrico. Tanto la ejecución del SO como de varias hebras de una tarea se puede realizar en diferentes procesadores.

1. El Ejecutivo (Executive)

El Ejecutivo contiene los componentes sensibles en rendimiento que se ejecutan en modo kernel, donde pueden interaccionar con el hardware, y entre ellos, sin incurrir en la sobrecarga de cambios de contexto y cambios de modo.

El programa NTOSKRNL.EXE contiene todos los componentes del Ejecutivo (excepto el subsistema Win32 -que está en WIN32K.SYS), y el kernel. Se carga en la mitad superior de memoria en la fase de arranque del sistema.

Funciones del ejecutivo

Exportadas y llamadas desde modo usuario (servicios del sistema). Exportadas por ntdll.dll.
Llamadas desde modo kernel pero exportadas y documentadas por Windows 2000 DDK (Device Driver Kit) o IFS Kit (Installable File System).

Subsistemas del Ejecutivo

Gestor de objetos. Crea, gestiona, y borra objetos del ejecutivo y TAD que representan recursos: procesos, hebras, etc.

Monitor de referencia de seguridad. Asegura la política de seguridad del computador local. Guarda losrecursos realizando protección y auditoría en tiempo de ejecución.

Gestor de memoria virtual. Implementa memoria virtual, y soporte de base para el gestor de caché.

Gestor de E/S. Implementa E/S independientes del dispositivo.

Gestor de caché. Implementa una caché global de archivos.

Mecanismo LPC. Suministra paso de mensajes entre clientes y servidores de la misma máquina (una RPC eficiente y optimizada)

Gestor de configuraciones. Responsable de implementar y gestiona el Registro del sistema.

Gestor de procesos y hebras. Exporta procesos y hebras a través de la API.

Win32 Implementa funciones de mensajes y dibujo de Win32.

Gestor de Potencia. Controla el estado de potencia de la máquina.

Gestor de Plug-and-Play. Notifica a los gestores de dispositivos la puesta en línea o desconexión de los dispositivos.

Despachador de servicios del sistema.

El Kernel contiene:

  • Planificador de hebras.
  • Primitivas de sincronización (mutex, semáforos, eventos y cerrojos espera ocupada (spin locks)
  • Despacho de interrupciones y excepciones.
  • Rutinas y objetos base usados por el Ejecutivo.
  • Este módulo nunca es paginado fuera de memoria y su ejecución nunca es apropiada por una hebra.

Capa Abstracción Hardware (HAL)

La HAL (archivo Hall.dll) aísla al kernel, manejadores de dispositivos y al resto del ejecutivo de las diferencias hardware de la plataforma.

HAL exporta un modelo de procesador común. Los gestores de dispositivos utilizan este procesador común más que una CPU específica. La existencia de diferentes placas para el mismo procesador (por ejemplo multiprocesador) base se asegura mediante la escritura de una HAL personalizada por el propio fabricante.

Sistema gráfico y de ventanas

El sistema gráfico y de ventanas implementa las funciones de la interfaz gráfica de usuario (GUI), tales como las que tratan con ventanas, control de la interfaz de usuario, y dibujo.

Implementado por los archivos Win32.dll, Kernel32.dll, Advapi32.dll, User32.dll y Gdi32.dll.

Este sistema estaba en la versión de NT 3.5 en modo usuario, y de introdujo en NT 4.0 en modo kernel por razones de eficiencia.

Procesos de usuario

Procesos de soporte del sistema, tales como logon y el gestor de sesiones, que no son servicios Win 2000(no iniciados por el gestor de control de servicios).

Procesos servidores, son servicios 2000 (equivalentes a demonios UNIX) tales como el Event Logger, Microsoft SQL Server y Microsoft Exchage Server.

Subsistemas de entorno, que exponen los servicios nativos del SO a las aplicaciones de usuario y suministran un entorno de SO: Win32, Posix, y OS/2.

Aplicaciones de usuario, que pueden ser de los tipos: Win32, Windows 3.1, MSDOS, Posix, ó OS/2 1.2.

Subsistemas: entorno y DLLs

Un ejecutable se liga en tiempo de enlace a un único subsistema. Al ejecutarse, se examina el tipo de subsistema (cabecera de la imagen) para notificar al correspondiente subsistema de la creación del proceso. Por ejemplo un programa Win32 se enlaza con las DLLs del lado-cliente de Win32 (kernel32.dll, gdi32. dll, y user32.dll); uno POSIX lo hace con psxdll.dll, etc.

La aplicaciones no invocan llamadas nativas directamente; en su lugar, utilizan las DLLs de los subsistemas para traducir una función documentada en la no documentada apropiada nativa de Windows 2000.

Entornos de sistema operativo

La DLL cliente se ejecuta en beneficio de su servidor.

Ofrece una API completa, o invoca al servidor (modificar información del entorno).

DLLs y servidor pueden usar los servicios nativos. La API de entorno de SO aumenta la funcionalidad o semántica que le son específicas.

Servicios de sistema nativos

La API nativa es similar a la API de Win32, y no da a la aplicación más privilegios que el subsistema de entorno.

Las aplicaciones y subsistemas de entorno acceden a la API nativa a través de la ntdll.dll,(contiene entre otras cosas los puntos de entrada a los servicios del sistema).

Existen más de 200 llamadas nativas.

Manejadores de dispositivos

Los manejadores de dispositivos son módulos en modo kernel cargables que hace de interfaz entre el Gestor de E/S y el hardware.

Se ejecutan en modo kernel en uno de los tres contextos siguientes:

  • Contexto de la hebra que inicio la E/S
  • Contexto de una hebra de sistema en modo kernel.
  • Como resultado de una interrupción, en cuyo caso no utiliza el contexto de ninguna hebra.

Tipos de manejadores

-Hardware. Manipulan el hardware para realizar E/S, por ejemplo driver de bus, de disco, etc.

-Sistemas de archivos. Aceptan solicitudes de E/S orientadas a archivos y las traducen a solicitudes E/S ligadas al correspondiente dispositivo.

-Filtros de sistemas de archivos. Interceptan E/S y le dan un valor añadido antes de pasarla a la capa siguiente, por ejemplo mirroring, encriptación.

-Redirectores de red. Manejadores de sistemas de archivos que transmiten/reciben operaciones de E/S de sistemas de archivos a otra máquina.

-Protocolos. Implementan los protocolos de red, tales como TCP/IP, NetBUI, e IPX/SPX.

-Filtros de flujo kernel. Se encadenan para realizar procesamiento de señales sobre flujos de datos, tales como grabar y reproducir vídeo/audio.

Procesos de sistema

Proceso ocioso (hay uno por CPU).

Proceso de sistema. Contiene gran parte de hebras de sistema en modo kernel, por ejemplo, la hebra Balance Set Manager, control de dispositivos.

Gestor de sesiones (smss.exe). Primer proceso en modo usuario; gestiona parte de la inicialización del sistema, y lanza csrss, y winlogon.

Subsistema Win32 (csrss.exe).

Proceso Logon (winlogon.exe). Maneja las entradas/salidas de usuarios interactivos. Se activa con la secure attention sequence (SAS).

 

Fuente:

MÓDULO
SISTEMAS OPERATIVOS
Primera Edición
Autor: Pilar Alexandra Moreno
Universidad Nacional Abierta y a Distancia