190 likes | 498 Views
Estructura de un Sistema Operativo. Sistemas operativos en capas.
E N D
Sistemas operativos en capas • En un sistema por capas, el sistema operativo se organiza como una jerarquía de capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior. • La principal ventaja que ofrece este modelo es la modulación y la ocultación de la información, ya que una capa no necesita saber cómo fue implementada la capa sobre la que se construye, sino la interfaz que esta le ofrece. • En cada capa se encapsulan funciones especificas, así cada capa se encarga de una parte específica del sistema operativo.
Ventajas • Depuración y verificación simplificados: Una vez depurada la primera capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa. • Cada capa se codifica y prueba de modo independiente, para luego hacer las pruebas de integración y de conjunto. • Mantenimiento y escalabilidad: Es posible cambiar las rutinas de bajo nivel siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada, lo cual permite al S.O. evolucionar fácilmente. • Algunas capas pueden ser transparentes si sus servicios no son necesarios.
Máquinas virtuales • La idea: mediante software, se proporciona a los programas la emulación de un sistema que nos interesa reproducir. • El sistema emulado puede ser una máquina, un sistema operativo, una red de computadores… • El software emulador traduce las peticiones hechas a la máquina virtual en operaciones sobre la máquina real. • Se pueden ejecutar varias máquinas virtuales al mismo tiempo (ej. Mediante tiempo compartido). • Los recursos reales se reparten entre las distintas máquinas virtuales.
Máquinas virtuales: pros y contras • Protección: cada máquina virtual está aislada de las otras y no puede interferir. • Independencia de la plataforma (Ej.: Java) • Pervivencia de sistemas antiguos (Ej.: emuladores MS-DOS) • Experimentación: se puede desarrollar y ejecutar un hardware que no tenemos. • Sin embargo, el rendimiento de la máquina virtual puede ser muy lento.
Ejemplo: Arquitectura General Máquina no virtual Máquina virtual
Modelo 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.
Modelo cliente-servidor 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 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.