You are on page 1of 7

E S T RU C T U R A

( N I V E L E S O E S T R AT O S D E D I S E O )

Estructura (Niveles o estratos de Diseo) En esta unidad examinaremos cuatro estructuras distintas que ya han sido probadas, con el n de tener una idea ms extensa de cmo esta estructurado el sistema operativo. Veremos brevemente algunas estructuras de diseos de sistemas operativos. Estructura modular. Este tipo de organizacin es, con diferencia, la ms comn. El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede llamar a los dems cada vez que as lo requiera. Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien denida en trminos de parmetros y resultados, y cada uno de ellos es libre de llamar a cualquier otro, si ste ltimo proporciona un clculo til para el primero. Para construir el programa objeto real del sistema operativo siguiendo este punto de vista, se compilan de forma individual los procedimientos, o los cheros que contienen los procedimientos, y despus se enlazan en un slo chero objeto con el enlazador. En trminos de ocultacin de la informacin, sta es prcticamente nula: cada procedimiento es visible a los dems (en contraste con una estructura con mdulos o paquetes, en la que la mayora de la informacin es local a un mdulo, y donde slo los datos sealados de forma expresa pueden ser llamados desde el exterior del mdulo). Los servicios (mediante llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parmetros en lugares bien denidos, como los registros o la pila, para despus ejecutar una instruccin especial de trampa, a veces referida como llamada al ncleo o llamada al supervisor. Esta instruccin cambia la mquina del modo usuario al modo ncleo (tambin conocido como modo supervisor), y transere el control al sistema operativo, lo que se muestra en el evento (1) de la gura (abajo). El sistema operativo examina entonces los parmetros de la llamada para determinar cual de ellas se desea realizar, como se muestra en (2) de la gura (abajo). A continuacin, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que implementa la k-sima llamada al sistema. Esta operacin, que se muestra en (3) de la gura (abajo), identica el procedimiento de servicio, al cual se llama. Por ltimo, la llamada al sistema termina y el control vuelve al programa del usuario.

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

Esta organizacin sugiere una estructura bsica del sistema operativo: En este modelo, para cada llamada al sistema existe un procedimiento de servicio que se encarga de ella. Los procedimientos de utilidad hacen cosas necesarias para varios procedimientos de servicio, como por ejemplo, buscar los datos del programa del usuario. Esta divisin de los procedimientos en tres capas se muestra en la gura (abajo). Un programa principal que llama al procedimiento del servicio solicitado. Un conjunto de procedimientos de servicio que lleva a cabo las llamadas al sistema. Un conjunto de procedimientos de utilidades que ayudan a los procedimientos de servicio.

Pgina 2

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

Estructura por microkernel. Las funciones centrales de un SO son controladas por el ncleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte ms importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el cdigo mquina de bajo nivel para manejar la administracin de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos. Las funciones de bajo nivel del SO y las funciones de interpretacin de comandos estn separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de lnea de comandos con una interfaz grca del usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versin 5.0 incluy un Shell llamado DOS SHELL.

Pgina 3

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

Estructura por anillos concntricos (capas). El sistema por "capas" consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema tenia 6 capas, como se muestra en la gura 3. La capa 0 trabaja con la asignacin del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros. Sobre la capa 0, el sistema consta de procesos secunciales, cada uno de los cuales se podra programar sin importar que varios procesos estuvieran ejecutndose en el mismo procesador, la capa 0 proporcionaba la multiprogramacin bsica de la CPU. La capa 1 realizaba la administracin de la memoria. Asignaba el espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (pginas) para las que no exista lugar en la memoria principal. Por encima de la capa 1, los procesos no deban preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las pginas llegaran a la memoria cuando fueran necesarias. La capa 2 se encargaba de la comunicacin entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador.

Pgina 4

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los ujos de informacin entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. La capa 4 es donde estaban los programas del usuario, estos no tenan que preocuparse por el proceso, memoria, consola o control de E/S. el proceso operador del sistema se localizaba en la capa 5 Una generalizacin mas avanzada del concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debi hacer el equivalente a una llamada al sistema Mientras que el esquema de capas de THE era en realidad un apoyo al diseo, debido a que todas las partes del sistema estaban ligadas entre si en un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente durante el tiempo de ejecucin y era reforzado por el hardware. La ventaja del mecanismo de anillos es su facilidad de extensin para estructurar subsistemas del usuario.

Estructura del sistema operativo THE. Estructura cliente servidor Una tendencia de los sistema operativos modernos es la de trasladar el cdigo a capas superiores, y eliminar la mayor parte posible del sistema operativo para mantener un ncleo mnimo. El punto de vista usual es el implantar la mayora de las funciones del sistema operativo como procesos de usuario. Para solicitar un servicio, como la lectura de un bloque de cierto chero, un proceso de usuario (denominado en este caso proceso cliente) enva la solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta.
Pgina 5

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

En este modelo, que se muestra en la gura (arriba), lo nico que hace el ncleo es controlar la comunicacin entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a cheros, servicio a procesos, servicio a terminales o servicio a la memoria; cada parte es pequea y controlable. Adems, puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en modo ncleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el servidor de cheros ste puede fallar, pero esto no afectar en general a toda la mquina. Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso en sistemas distribuidos (vase la gura abajo). Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local, en su mquina, o si se enva por medio de una red a un servidor en una mquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se recibi una respuesta.

La idea anterior de un ncleo que slo controla el transporte de mensajes de clientes a servidores, y viceversa, no es totalmente real. Algunas funciones del sistema operativo (como la introduccin de rdenes en los registros fsicos de los controladores de E/S) son difciles, si no es que imposible de realizar, a partir de
Pgina 6

OMAR ALFREDO GALICIA HERRERA

E S T RU C T U R A
( N I V E L E S O E S T R AT O S D E D I S E O )

programas de usuario. Existen dos formas de afrontar este problema. Una es hacer que algunos procesos de servidores crticos (por ejemplo, los gestores de los dispositivos de E/S) se ejecuten en realidad en modo ncleo, con acceso total al hardware, pero de forma que se comuniquen con los dems procesos mediante el mecanismo normal de mensajes. La otra forma es construir una cantidad mnima de mecanismos dentro del ncleo, pero manteniendo las decisiones de poltica relativos a los usuarios dentro del espacio de los usuarios. Por ejemplo, el ncleo podra reconocer que cierto mensaje enviado a una direccin especial indica que se tome el contenido de ese mensaje y se cargue en los registros del controlador de algn disco, para iniciar la lectura del disco. En este ejemplo, el ncleo ni siquiera inspeccionara los bytes del mensaje para ver si son vlidos o tienen algn sentido; slo los copiara ciegamente en los registros del controlador del disco. Es evidente que debe utilizarse cierto esquema para limitar tales mensajes slo a los procesos autorizados. La separacin entre mecanismos y poltica es un concepto importante, aparece una y otra vez en diversos contextos de los sistemas operativos.

Pgina 7

OMAR ALFREDO GALICIA HERRERA

You might also like