estructura de sistemas operativos

Post on 16-Aug-2015

97 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sistemas Operativos Aplicados

Estructura o Arquitectura del Sistema Operativo

Universidad Francisco Gavidia

Conocer la Organización o arquitectura interna del

sistema operativo.

Objetivos.

En la estructura de un sistema operativo deberá considerar dos aspectos importante los cuales son:

Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.

Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

Diferentes Diseños de S.O

Sistemas MonolíticosSistemas de CapasSistema MicrokernelsSistema Cliente-ServidorSistema Maquinas virtuales.

Sistemas monolíticos.

Descripción: su organización se considera la mas común, todo el sistema operativo se ejecuta como un solo programa en modo kernel. Se componen de un conjunto de procedimientos enlazados entre sí en un solo programa binario ejecutable extenso, donde cada uno de ellos puede llamar a todos los demás.Proceso para requerir un servicio del S. O.: el programa de usuario coloca los parámetros necesarios en los lugares previamente definidos, y seguidamente ejecuta una llamada al supervisor (se cambia de modo usuario a modo supervisor), transfiriendo el control al S. O. que examina dichos parámetros y determina el procedimiento que debe invocar. Cuando se complete la llamada devuelve el control al programa de usuario.S. O. con una pequeña estructura de niveles:

Estructura básica para el S.O

1. Un programa principal que invoca el procedimiento de servicio solicitado.

2. Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.

3. Un conjunto de procedimientos utilitarios que ayudan a los procedimientos de servicio.

En este modelo, para cada llamada al sistema hay un procedimiento de servicio que se encarga de la llamada y la ejecuta.

Los procedimientos utilitarios hacen cosas que necesitan varios procedimientos de servicio, como obtener datos de los programas de usuarios.

S. O. con una pequeña estructura de niveles:

Sistema de capas

Arquitectura modular, define capas o niveles de abstracción, cada uno de los cuáles aprovecha el servicio de la capa inferior.

se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía que él.

Núcleo:

•Dividido en múltiples niveles, capas de una cebolla•El más alto la interfaz de llamadas

•Cada nivel usa únicamente servicios del inferior y da servicio al superior

•Comunicación entre capas vía traps

ventajas

Modularidad:

Depuración y verificación: una vez depurada la primer capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa

Mantenimiento: Es posible por ejemplo cambiar las rutinas de bajo nivel siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada

desventajas

problema: definición apropiada de las distintas capas.

Tienden a ser menos eficientes.

Llamada entre capaz … paso de parámetros En definitiva cada capa implica un gasto extra Tendencia: equilibrio, menos capas con más

funcionalidad: Ventajas de la modularidad Evitan los problemas de definición e interacción entre

capas.

Microkernels

Micronúcleo (en inglés: microkernel) es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica.

La idea básica detrás del diseño de microkernels es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños y bien definidos, sólo uno de los cuales (el microkernels) se ejecuta en modo kernels y el resto se ejecuta como procesos de usuario ordinarios, sin poder relativamente.

Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.

En informática, el núcleo es el programa informático que se asegura de:

La comunicación entre los programas que solicitan recursos y el hardware.

Gestión de los distintos programas informáticos (tareas) de una máquina.

Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)

La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo. La existencia de un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el programa informático, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de la memoria.

ventajas

Reducción de la complejidad

La descentralización de los fallos (un fallo en una parte del sistema no lo colapsaría por completo).

facilitación para crear y depurar controladores de dispositivos

Desventajas.

complejidad en la sincronización de todos los módulos que componen el micronúcleo.

Dificultad en el acceso a la memoria

La anulación de las ventajas de Zero Copy

Dificultad para la integración con las aplicaciones

Modelo Cliente-Servidor.

El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que 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.

El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.”

Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar

MAQUINAS VIRTUALES

Descripción: Es un software que emula a una computadora y que permite ejecutar programas como si fuese una computadora real.El programa de control es el que se ejecuta directamente sobre el propio hardware yofrece al nivel inmediatamente superior varias máquinas virtuales.

Una característica esencial es que los procesos que ejecutan están limitados a los recursos y abstracciones proporcionados por ellas.Estos procesos no pueden escaparse de esta computadora virtual.

El uso mas habitual es la instalación de sistema operativo para probar su funcionamiento para que este no afecte la configuración original de la máquina.

Tipos de máquinas virtuales

Maquina virtual

de sistema

Maquina virtual

de proceso

Maquina virtual de sistema:Se le conoce también como máquinas virtuales de hardware, permiten a la quina física subyacente multiplicarse entre varias máquinas virtuales, cada una de ellas ejecutando su propio SO.Al software que permite la virtualización se llama Monitor de máquina virtual o hypervisor. Este programa puede ejecutarse directamente sobre el hardware o bien sobre el sistema operativo.

Aplicaciones de las maquinas virtuales de sistema: Varios sistemas operativos instalados sobre

la misma computadora aislados el uno de los otros.

Proporciona arquitectura de instrucciones (ISA) , permite simular hardware.

Varias máquinas virtuales con su propio sistema operativo, pueden ser utilizadas para consolidar servidores.

Maquinas virtuales de sistema .

Microsoft virtual PcVmwareVirtualBoxVirtual IronVirtual Operating SystemVM de IBM

Maquina virtual de proceso: conocida también como máquina virtual de aplicación se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso.La quina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando éste finaliza.

Su objetivo es proporcionar un entorno de ejecución independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma.

Ejemplo: La maquina virtual de java (JVM) Common Lenguage Runtime ( CLR)

inconvenientes

Uno de los inconvenientes es la lentitud del sistema, es decir el programa no alcanzará la misma velocidad de ejecución que si se instalara directamente en el sistema operativo. (host) o directamente sobre la plataforma de hardware.

Maquinas virtuales de proceso

Java Virtual Machine (JVM)Common Language RuntimeForth Virtual MachineGlulx – Glulx, HarbourMacromedia Flash Player (SWF)

Máquinas virtuales a nivel de sistema Operativo

Open VZVirtuozzoFreeVPSLinux-VserverFreeBSD JailsSolaris Containers

Gracias.

top related