ESTRUCTURA DE SISTEMAS OPERATIVOS

Diseño Monolítico

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 una 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 tipo, si este proporciona cierto cálculo útil para el primero. Para construir el programa objeto del sistema mediante esta estructura, uno compila en forma individual los procedimientos o los archivos que contienen los procedimientos, y después los enlaza en un sólo archivo objeto con el ligador.Es la arquitectura más simple para un sistema operativo. Este sistema contiene todas las rutinas y funcionalidades disponibles (sistema de archivos, manejo de drivers, gestión de memoria y CPU, etc.) juntas dentro de un gran programa o núcleo. Su principal desventaja radica en que, debido a que todos los componentes del núcleo tienen acceso a todas las estructuras y rutinas internas, un error o un vulnerabilidad de seguridad puede expandirse y afectar a todo el núcleo.
Los sistemas monolíticos se describen en 3 procesos principales: un programa principal que invoca el procedimiento de servicio solicitado, un conjunto de procedemientos de servicio que llevan a cabo las llamadas del sistema y un conjunto de procedimientos de utilería que ayudan a los procedimientos del servicio. En teoria un procedimiento dado puede invocar a ciertos servicios, los cuales, a su vez, se verán ayudados por programas de utilería, los cuales, extraerán información importante para éste.


Diseño por Capas

Este modelo puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas. Este sistema sirve para toda clase de aplicaciones, por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales. Los procesos pueden ser tanto servidores como clientes.Es una generalización del modelo de estructura simple para un sistema monolítico. En esta arquitectura, el sistema operativo se divide en una jerarquía de capas, donde cada capa solamente utiliza los servicios de la capa inferior y se enfoca en ofrecerle una interfaz clara y bien definida a la capa superior. En cada capa se encapsulan funciones específicas, así cada capa se encarga de una función individual del sistema operativo. Su principal ventaja redica en poseer un diseño mucho más modular, seguro y escalable que el monolítico.En este modelo, 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 parte del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, y 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.

Diseño Máquinas Virtuale


Se separan totalmente las funciones de multiprogramacion
 y de máquina virtual. Existe un elemento central llamado monitor de la máquina virtual que:En este modelo, mediante software, se proporciona a los programas la emulación de un sistema el cual se quiere reproducir. El software emulador traduce las peticiones hechas a la maquina virtual en operaciones sobre la máquina real. Se pueden ejecutar varias máquinas virtuales al mismo tiempo, por ejemplo, mediante tiempo compartido. Los recursos reales se reparten entre las distintas máquinas virtuales.
  • Ejecuta en el hardware.
  • Realiza la multiprogramación.
  • Proporciona varias máquinas virtuales a la capa superior.
Las máquinas virtuales instrumentan copias exactas del hardware, con su modo núcleo/usuario, E/S, interrupciones y todo lo demás que posee una máquina real. Pueden ejecutar cualquier sistema operativo que se ejecute en forma directa sobre el hardware.
Las distintas máquinas virtuales pueden ejecutar distintos sistemas operativos, y en general, así lo hacen. Soportan periféricos virtuales.


Comentarios

Entradas populares de este blog

INTRODUCCION