El documento compara tres estructuras internas principales de los sistemas operativos: monolíticos, por capas y cliente-servidor. Los sistemas monolíticos no tienen una estructura clara y cualquier rutina puede invocar a otra, mientras que los sistemas por capas organizan al SO en una jerarquía de capas donde cada capa ofrece servicios a la de arriba. Los sistemas cliente-servidor separan el SO en procesos cliente que solicitan servicios de procesos servidor.
1. Cuadro comparativo de la estructura interna de los sistemas operativos
Estructura Modular También llamados
sistemas monolíticos: son la estructura
más simple para un Sistema Operativo.
Estos sistemas no tienen una estructura
definida, sino que son escritos como
una colección de procedimientos donde
cualquier procedimiento puede invocar
a otro.
En esta estructura el Sistema Operativo
queda definido modularmente por
divisiones en capas o niveles, cuya
organización está dada como una
jerarquía de capas donde cada una de
ellas ofrece una interfaz clara y bien
definida, donde los servicios que brinda
una capa son consumidos solamente
por la capa superior. La capa 0 es del
Hardware y la N es la de los procesos
de Usuario.
Definición Monolíticos: Definición Por capas: Definición Cliente-Servidor
Es aquel que puede ser ejecutado en
la mayoría de las computadoras, ya
sean grandes o pequeñas.
Se podría definir como la realización
de un trabajo donde se regresa la
respuesta ,por otra parte el servidor
ejecuta procesos en modo de usuario
implantando la mayoría de funciones
del sistema operativo pero sin tener el
acceso directo al hardware .Los
registros físicos de entrada y salida son
ejecutados en modo de núcleo para
tener acceso total al hardware siendo
este el controlador de la
comunicación entre los clientes y
servidores.
2. Cuadro comparativo de la estructura interna de los sistemas operativos
Se caracteriza porque no tienen una estructura totalmente
clara, con esto nos referimos a que sus rutinas y
funcionalidades (ej. manejo de drivers, sistemas de
archivos, gestión de memoria, etc.), se encuentran
agrupados en un solo programa (el Sistema Operativo).
Todo sistema operativo se ejecuta en modo supervisor.
Difícil de modificar en tiempo de ejecución.
Cualquier cambio a realizar requiere el reinicio del sistema
para que este se haga efectivo.
Construcción del programa final a base de módulos
compilados separadamente que se unen a través del
ligador.
Buena definición de parámetros de enlace entre las
distintas rutinas existentes, que puede provocar mucho
acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que
manejan diferentes aspectos de los recursos de la
computadora, como memoria, disco, etc.
Generalmente están hechos a medida, por lo que son
eficientes y rápidos en su ejecución y gestión, pero por lo
mismo carecen de flexibilidad para soportar diferentes
ambientes de trabajo o tipos de aplicaciones.
Es una generalización del modelo de estructura
simple para un sistema monolítico.
Consiste en organizar el s. o. como una jerarquía
de capas, cada una construida sobre la inmediata
inferior.
El Cliente y el Servidor pueden actuar como una sola
entidad y también pueden actuar como entidades
separadas, realizando actividades o tareas independientes.
Las funciones de Cliente y Servidor pueden estar en
plataformas separadas, o en la misma plataforma.
Cada plataforma puede ser escalable independientemente.
Los cambios realizados en las plataformas de los Clientes o
de los Servidores, ya sean por actualización o por
reemplazo tecnológico, se realizan de una manera
transparente para el usuario final.
La interrelación entre el hardware y el software están
basados en una infraestructura poderosa, de tal forma que
el acceso a los recursos de la red no muestra la
complejidad de los diferentes tipos de formatos de datos y
de los protocolos.
Su representación típica es un centro de trabajo (PC), en
donde el usuario dispone de sus propias aplicaciones de
oficina y sus propias bases de datos, sin dependencia
directa del sistema central de información de la
organización.
Características Monolíticos: Características Por capas: Características Cliente-Servidor
3. Las capas se seleccionan de tal manera
que cada una utilice unas funciones y
servidores exclusivamente de capas de
niveles inferiores.
El programa de usuario coloca los
parámetros necesarios en los lugares
previamente definidos, y seguidamente
ejecuta una llamada al supervisor (se
cambia de modo usuario a modo
supervisor), transfiriendo el control al S.
O. que examina dichos parámetros y
determina el procedimiento que debe
invocar
La capa superior solamente utiliza los
servicios y funciones que ofrece la capa
inferior. El encargado de que solamente
haya comunicación entre capas
adyacentes es el procesador.
Capa 0:Controla y ofrece junto con el
procesador la multiprogramación
básica.
Capa 1:Se aseguran que los procesos
siempre lleguen a la memoria.
Capa 2:Administra los procesos del
operador (la comunicación ).
Capa 3:Controla las entrada y las salidas
almacenando la información .
Capa 4:Guarda todos los programas del
usuario..
Capa 5:Controla los anillos interiores
para así poder realizar llamadas al
sistema.
Es minimizar el kernel desplazando el
código de todos sus servicios a estratos
lo más superiores posibles. Para ello, la
mayoría de sus funciones se
implementan como procesos de
usuario, denominados procesos
servidores, de forma que cuando un
proceso de usuario llamado proceso
cliente, necesita un servicio del S.O. lo
que hace es enviar un mensaje al
proceso servidor correspondiente, que
realiza el trabajo y devuelve la
respuesta. El kernel lo único que hace es
implementar la comunicación entre
clientes y servidores y entre servidores y
el hardware.
Función Cliente-ServidorFunción Por capas:Función Monolíticos:
Cuadro comparativo de la estructura interna de los sistemas operativos
4. Los ejemplos típicos de este sistema
son Unix, MS-DOS y Mac OS hasta Mac
OS 8.6. Otros ejemplos son:
• Linux
• Syllable
• Núcleos tipo DOS
• DR-DOS
• Familia Microsoft Windows 9x (95,
98, 98SE, Me)
THE (Technische Hogeschool
Eindhoven)
Venus
MULTICS (Multiplexed Information and
Computing Service)
Un programa de aplicación normal es
un cliente que llama al servidor
correspondiente para acceder a un
archivo o realizar una operación de
entrada/salida sobre un dispositivo
concreto. A su vez, un proceso cliente
puede actuar como servidor para
otro." [Alcal92].
Ejemplo Monolíticos: Ejemplo Por capas: Ejemplo Cliente-Servidor