2.1.- Estructura General 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 calculo ú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 jerárquica.
A medida que fueron creciendo las necesidades de los
usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor
organización del software, del sistema operativo, donde una parte del sistema
contenía subpartes y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interfaz con el resto de elementos.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interfaz con el resto de elementos.

·
Máquina Virtual.
Se trata de un tipo de sistemas operativos que
presentan una interfaz 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 .
·
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.

·
Estructura por anillos concéntricos (capas).
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.

·
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.
