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 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 comando.
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.
No hay comentarios:
Publicar un comentario