1.5 Estructura: niveles o estratos de diseño
Sistemas monolíticos:
En estos sistemas operativos se escriben como un
conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de
los otros siempre que lo necesite. Cuando se emplea esta técnica, cada
procedimiento del sistema tiene una interfaz bien definida en términos de
parámetros y resultados, y cada una tiene la libertad de llamar a cualquiera
otra, si la última ofrece algún cálculo útil que la primera necesite.
Características:
Construcción
de programa final a base de módulos compilados separadamente que se une a
través del editor de enlaces.
- Buena definición de parámetros de enlace entre las rutinas existentes.
- Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
- Generalmente están hechos a la medida.
- Por ejemplo, los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
Para construir el programa objeto real del sistema
operativo cuando se usa este método, se compilan todos los procedimientos
individuales a archivos que contienen los procedimientos y después se combinan
todos en un solo archivo objeto con el enlazador.
En términos de ocultamiento de información,
esencialmente no existe ninguno; todo procedimiento es visible para todos (al
contrario de una estructura que contiene módulos o paquetes, en los cuales
mucha información es local a un módulo y sólo pueden llamar puntos de registro
designados oficialmente del exterior del módulo)
Esta organización sugiere una estructura básica del
sistema operativo:
1.- Un programa central que invoque el
procedimiento de servicio solicitado (Shell o Kernel)
2.- Un conjunto de procedimientos de servicios que
realice las llamadas al sistema.
3.- Un conjunto de procedimientos de uso general
que ayude a los procedimientos de servicio
Sistemas en
estratos
Estos sistemas operativos se organizan como una
jerarquía de estratos, cada uno construido arriba del que está debajo de él. El
primer sistema construido en esta forma fuel el sistema THE que se fabricó en
Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra (1968) y sus
alumnos. El sistema THE era un sistema de lote para una computadora alemana, la
Electrológica X8, que tenía 32K de palabras de 27 bits (los bits eran costosos
en aquellos días)
Características:
- Las zonas más intensas o núcleo están más protegidas de posibles accesos indeseados desde las capas más externas.
- Tienes un contacto más próximo con el hardware.
- Núcleo mínimo, más seguro y ágil.
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 intérprete 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 "Shell" 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.
Estructura cliente – servidor
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.
Otra de las ventajas del modelo cliente-servidor es
su capacidad de adaptación para su uso en los sistemas distribuidos
Si
un cliente se comunica con un servidor mediante mensajes, el cliente no
necesita saber si el mensaje se maneja en forma local, en su máquina, o si se
envía por medio de una red a un servidor en una máquina remota. En lo que
respecta al cliente, lo mismo ocurre en ambos casos: se envió una solicitud y
se recibió una respuesta
Características:
- Coordina, permite el trabajo entre iguales. Cliente; inicia las solicitudes o peticiones (maestro)
- Espera y recibe respuesta del servidor Se puede conectar a varios servidores a la vez.
- Servidor:
- Esclavo, espera las solicitudes del cliente
- Aceptan conexiones desde un gran número de clientes.
Máquina Virtual
Se trata de un tipo de sistemas operativos que
presentan una interface a cada proceso, mostrando una máquina que parece
idéntica a la máquina real subyacente. Estos sistemas operativos separan dos
conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación
y la máquina extendida. El objetivo de los sistemas operativos de máquina
virtual es el de integrar distintos sistemas operativos dando la sensación de
ser varias máquinas diferentes.
El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario
Características:
- Se puede hacer varios sistemas operativos sin necesidad de crear particiones.
- Se puede simular el hardware Gran capacidad de disco duro-memoria ram.
- Protección cada máquina virtual está aislada de las otras y no puede inferir.
Comentarios
Publicar un comentario