NOMBRE DE LA ASIGNATURA:
TALLER DE SISTEMAS OPERATIVOS
TEMA DE LA ACTIVIDAD:
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
4
estructuras distintas para la creación de un sistema operativo:
Estructura modular.
También llamados
sistemas monolíticos. Este tipo de organización es con mucho la mas común; bien podría recibir el
subtitulo de "el gran embrollo". La estructura consiste en que no
existe estructura alguna. El sistema operativo se escribe como una colección
de procedimientos, cada uno de los cuales puede llamar a los demás
cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento
del sistema tiene una interfaz bien definida en términos de parámetros y
resultados y cada uno de ellos es libre de llamar a cualquier otro, si este
ultimo proporciona cierto cálculo útil para el primero. Sin embargo incluso en este tipo
de sistemas es posible tener al menos algo de estructura. Los servicios
(llamadas al sistema) que proporciona el sistema operativo se solicitan
colocando los parámetros en lugares bien definidos, como en los registros o en
la pila, para después ejecutar una instrucción especial de trampa de nombre "llamada
al núcleo" o "llamada al supervisor".
Estructura por microkernel.
Las
funciones centrales de un SO son controladas por el núcleo (kernel) mientras
que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo,
la parte más 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 código máquina de bajo nivel
para manejar la administración 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 interpretación de comandos están
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 línea de comandos con
una interfaz gráfica 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 versión 5.0 incluyó un Shell llamado DOS SHELL.

El
sistema por "capas" consiste en organizar el sistema operativo como
una jerarquía 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 figura 3. La capa 0 trabaja con la
asignación del procesador y alterna entre los procesos cuando ocurren las
interrupciones o expiran los cronómetros. Sobre la capa 0, el sistema consta de
procesos secuénciales, cada uno de los cuales se podría programar sin importar
que varios procesos estuvieran ejecutándose en el mismo procesador, la capa 0
proporcionaba la multiprogramación básica de la CPU.
5
|
El
operador
|
4
|
Programas
del usuario
|
3
|
Control
de entrada/salida
|
2
|
Comunicación
operador-proceso
|
1
|
Administración
de la memoria y del disco
|
0
|
Asignación
del procesador y multiprogramación
|
Una
tendencia de los sistemas operativos modernos es la de explotar la idea de
mover el código a capas superiores y eliminar la mayor parte posible del
sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el
de implantar la mayoría de las funciones del sistema operativo en los procesos
del usuario. Para solicitar un servicio, como la lectura de
un bloque de cierto archivo, un proceso del usuario (denominado proceso
cliente) envía la solicitud a un proceso servidor,
que realiza entonces el trabajo y regresa la respuesta. En este modelo, que se
muestra en la figura 4, lo único que hace el núcleo es controlar la
comunicación 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 archivos, servicios a procesos, servicio a
terminales o servicio a la memoria, cada parte es pequeña y controlable. Además
como todos los servidores se ejecutan como procesos en modo usuario y no en
modo núcleo, no tienen acceso directo al hardware. En consecuencia si hay un
error en el servidor de archivos, éste puede fallar, pero esto no afectará en
general a toda la máquina.
(Para
ver el gráfico faltante haga click en el menú superior "Bajar
Trabajo")
No hay comentarios:
Publicar un comentario