Sistemas operativos modernos

11.3 ESTRUCTURA DEL SISTEMA En las secciones anteriores examinamos Windows 2000 desde el punto de vista del programa­ dor. Ahora miraremos la organización interna del sistema, qué hacen los distintos componen­ tes y cómo interactúan entre sí y con los programas de usuario. Aunque existen muchos hbros acerca de cómo usar Windows 2000, son muchos menos los que explican cómo funciona. Por mucho, el mejor lugar para buscar información adicional sobre este tema es Inside Windows 2000, 3a. ed., por Solomon y Russinovich (2000). Una parte del material del presente capítulo se basa en información de ese libro y en información de sus autores. Microsoft fue otra fuente clave. 11.3.1 Estructura del sistema operativo Windows 2000 consta de dos componentes principales: el sistema operativo en sí, que se eje­ cuta en modo de kernel, y los subsistemas de entomo, que se ejecutan en modo de usuario. El kernel es tradicional en el sentido de que se encarga de la administración de procesos, la admi­ nistración de memoria, los sistemas de archivos, etc. Los subsistemas de entomo se salen un poco de lo común, en cuanto a que son procesos individuales que ayudan a los programas de usuario a realizar ciertas funciones del sistema. En las secciones que siguen examinaremos ca­ da una de estas partes. Una de las muchas mejoras de NT respecto a Windows 3.x fue su estmctura modular. Con­ sistía en un kernel moderadamente pequeño que se ejecutaba en modo de kemel, más algunos procesos de servidor que se ejecutaban en modo de usuario. Los procesos de usuario interac- tuaban con los procesos de servidor empleando el modelo cliente-servidor: un cliente enviaba un mensaje de solicitud a un servidor y éste efectuaba el trabajo y devolvía el resultado al clien­ te en un segundo mensaje. Tal estmctura modular facilitaba el traslado a varias computadoras no pertenecientes a la línea Intel, como DEC Alpha, IBM PowerPC y SGI MIPS. También pro­ tegía al kernel contra errores de programación en el código del servidor. Sin embargo, por ra­ zones de desempeño, a partir de NT 4.0 casi todo el sistema operativo (por ejemplo, el manejo de las llamadas al sistema y todos los gráficos de pantalla) volvió a ponerse en modo de ker­ nel. Este diseño se perpetuó en Windows 2000. No obstante, sigue habiendo cierta estmctura en Windows 2(K)0. El sistema está dividido en varias capas, cada una de las cuales usa los servicios de las que están abajo. La estmctura se ilustra en la figura 11-7. Una de las capas está dividida de manera horizontal en muchos mó­ dulos. Cada módulo tiene una función específica y una interfaz bien definida con los otros. Las dos capas de software más bajas, HAL y el kemel, están escritas en C y en lenguaje ensamblador y dependen en parte de la máquina. Las capas superiores están escritas en su to­ talidad en C y son independientes de la máquina casi por completo. Los controladores están es­ critos en C, o en unos pocos casos en C++. A confinuación examinaremos primero los diversos componentes del sistema, comenzando por abajo y avanzado hacia arriba.

RkJQdWJsaXNoZXIy MjI4NDcx