Subido por Luis Antonio Diaz Rosales

1.5 Estructura de SO

Anuncio
1.5 ESTRUCTURA: NIVELES O ESTRATOS DE DISEÑO
Internamente los sistemas operativos estructuralmente 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:
1. 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
2. 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 estrato 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ían 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 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 "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 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.
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 los
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.
Descargar