1.4 Estructura de un S.O.
La primer estructura que se encuentra es la de un Sistema Monolítico, la cual es la más común. La estructura consiste en un 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 utiliza 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 éste último proporciona cierto cálculo útil para el primero.
La
segunda estructura que se encuentra es la de un sistema con capas, la
cual 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. Dijkstra (1968) y sus estudiantes. Este era un sistema
sencillo de procesamiento por lotes para una pc holandesa, con 32K de palabras
de 27 bits. El sistema tenia 6 capas: capa 0: Asignación del procesador
y multiprogramación, capa 1: Administración de la memoria y del disco, capa
2: comunicación operador–proceso, capa 3: Control de
entrada/salida, capa 4: Programas del usuario, capa 5: El
operador. Una generalización más avanzada de este concepto se presentó en el
sistema MULTICS. En lugar de capas, estaba organizado como una serie de
anillos concéntricos, siendo los anillos interiores los privilegiados.
La
tercera estructura que se encuentra es la de máquinas virtuales las
cuales no son máquinas extendidas con
archivos u otras características adecuadas, en lugar de esto, son copias
exactas del hardware simple, con su modo núcleo/usuario, E/S, interrupciones y
todo lo demás que posee la máquina real. Puesto que cada máquina virtual es
idéntica al hardware real, cada una puede ejecutar cualquier sistema operativo
que se ejecute en forma directa sobre el hardware. Las distintas máquinas
virtuales pueden ejecutar distintos sistemas operativos. Algunos ejecutan uno de
los descendientes de OS/360 para el procesamiento por lotes, mientras que otras
ejecutan un sistema interactivo para un solo usuario, llamado CMS (Conversational
Monitor System), para los usuarios del tiempo compartido.
Por último se tiene el modelo cliente servidor donde 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, servicio a procesos, servicio a terminales o servicio a la memoria , donde cada parte es pequeña y controlable. Además, puesto que 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 de este modelo es su capacidad de adaptación para su uso en los sistemas distribuidos