1.5 Estructura: Niveles o estatutos de diseño
Internamente los
sistemas operativos estructural mente de se clasifican según como se
hayan organizado internamente en su diseño, por esto la clasificación
más común de los S.O. son:
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 la 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 mas intensas o nucleo
están mas protegidas de posibles accesos indeseados desde las capas mas
externas.
Tienes un contacto mas próximo
con el hardware.
Núcleo mínimo, mas seguro y ágil.
En esta estructura
se basan prácticamente la mayoría de los SO actuales. Otra forma de ver este
tipo de sistema es la denominación de anillos concéntricos o “RINGS”
EJEMPLOS
Multics y Unix
El sistema tenía 6 estratos, estos se muestran
en la siguiente imagen:
El estrato 0 trabajaba con la distribución del procesador, cambiando
entre procesos cuando ocurrían interrupciones o los relojes expiraban. Sobre el
estrato 0, el sistema constaba de procesos secuenciales, cada uno de los cuales
podía programarse sin tener que preocuparse por el hecho de que múltiples
procesos estuvieran corriendo en un solo procesador.
En otras palabras, el estarto 0 ofrecía la multiprogramación básica de
la CPU.
El estrato 1 realizaba el manejo de memoria. Este distribuía espacio para
procesos contenidos en la memoria central y en un tambor de 512K palabras
que se usaba para contener partes de procesos (páginas) para las cuales no
había espacio en la memoria central. Sobre el estrato 1, los procesos no tenía
que preocuparse de si estaban en la memoria o en el tambor; el software del
estrato 1 se hacía cargo de asegurar que las páginas se trajeran a la memoria
siempre que se necesitaran.
El estrato 2 manejaba la comunicación entre cada proceso y la consola de
operador.
El estrato 3 se hacía cargo de manejar los dispositivos de E/S y de
separar la información en flujo que entraba y salí de ellos. Sobre el estrato 3
cada proceso podía trabajar con dispositivos de E/S abstractos con propiedades
agradables, en vez de dispositivos reales con muchas peculiaridades
El estrato 4 era donde se encontraban los
programas de los usuarios. No tenían que preocuparse por el manejo de los
procesos, memoria, consola o E/S. El proceso operador del sistema se localizaba
en el estrato 5
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.
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 vistausual 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
servidorSe puede conectar a varios servidores a la vez.
Servidor:
Esclavo, espera las solicitudes
del cliente
Aceptan conexiones desde un gran
número de clientes.
EJEMPLOS
Sistema operativo Novell NetWare
1983, plataforma más fiable para ofrecer acceso seguro.
Windows 2000
Cualquiera de este puede
compartir sus recursos con otro Windows 2000
Windows xp.
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.

Comentarios
Publicar un comentario