Você está na página 1de 19

Instituto Tecnolgico de Las Amricas

Estructura de los Sistemas Operativos (Modulo 2)

Autor: Frank de Jess Portorreal 2012-1212.

Asignatura: Sistemas Operativos 1

Profesor: Jos Do

22 de Mayo del ao 2013

ndice
Introduccin.3 Estructura de un sistema operativo.....3 Componentes de un sistema operativo..5 Funciones de un sistema operativo.9 Sistemas monolticos...10 Sistemas con capas.13 Mquinas virtuales...15 Modelo cliente-servidor...17 Conclusin19 Bibliografa19

Estructura de los Sistemas Operativos


Como ya vimos anteriormente podramos definir un sistema operativo como un programa grande y complejo que est compuesto por una serie de componentes con funciones bien definidas. Cada sistema operativo estructura estos componentes de formas distintas. Durante el desarrollo de este documente veremos algunas estructuras y su composicin, a fin de tener una idea de la variedad de posibilidades. stas no son de ninguna manera las nicas estructuras posibles, pero nos darn una idea de algunos diseos que se han llevado a la prctica. Algunos diseos principales son los sistemas monolticos, los sistemas por capas, las mquinas virtuales y los sistemas cliente-servidor.

Estructura del sistema


La estructura interna de los sistemas operativos pueden ser muy diferentes. Se deben tener en cuenta: Metas de los usuarios: ser amigable, intuitivo, confiable, seguro, rpido, etc. Metas del sistema: fcil de disear, implementar y mantener, tambin flexible, confiable y eficiente.

Diseo del sistema: Sistema monoltico. Sistema en capas. Sistema con Micro ncleo (microkernel). Modelo Cliente-Servidor Mquinas virtuales.

La estructura u organizacin interna de un sistema puede variar de acuerdo a su tipo, aunque puede variar, generalmente estn compuestos de por:
3

Cargador:

Cualquier programa en el cual sea necesaria la ejecucin en una computadora, tendr que ser trasladado desde su localizacin en el espacio fsico a la memoria principal.

Cargador para el sistema operativo:

Es aquel que se encarga de transferir los programas del sistema operativo a la memoria principal desde algn medio de almacenamiento externo como los discos, cintas, USB, entre otros, estos programas tienen como finalidad establecer el ambiente de trabajo del equipo de cmputo. Existe un programa especial almacenado en memoria ROM que se encarga de permitir el acceso a este programa cargador; cuando el sistema operativo est cargado en la memoria toma el control absoluto de las operaciones del sistema.

Cargador incluido en el sistema operativo:

Cumple la funcin de cargar a la memoria todos los archivos necesarios para la ejecucin de un determinado proceso.

Supervisor (ejecutivo o monitor):

Es el administrador del sistema, se encarga de controlar todo el proceso de la informacin por medio de un gran nmero de rutinas que entran en accin cuando son requeridos. Funciona como enlace entre los programas del usuario y todas las rutinas que controlan los recursos requeridos por el programa para posteriormente continuar con su ejecucin; tambin realiza las funciones de administrar la memoria, administrar las rutinas que controlan el funcionamiento de los recursos de la computadora, manejar los archivos, administrar y controlar la ejecucin de los programas.

Lenguaje de comunicacin:

Permite la interaccin del usuario con el sistema operativo, est formado por comandos que son introducidos a travs de algn dispositivo.
4

Un comando generalmente est comprendido por dos partes: la primera formada por una palabra que identifica el comando y la accin a realizar y la segunda parte por un conjunto de valores o parmetros que permiten seleccionar diversas operaciones de entre los que dispone el comando.

Utilera de sistema:

Son programas o rutinas del Sistema Operativo que realizan diversas funciones de uso comn o aplicacin frecuente como son: clasificar, copiar e imprimir informacin.

Componentes del sistema operativo


El sistema operativo est compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software: El ncleo, que representa las funciones bsicas del sistema operativo, como por ejemplo, la gestin de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicacin.

El intrprete de comandos, que posibilita la comunicacin con el sistema operativo a travs de un lenguaje de control, permitiendo al usuario controlar los perifricos sin conocer las caractersticas del hardware utilizado, la gestin de las direcciones fsicas y otras funciones.

Sistema de Interprete de Comandos, El programa que lee e interpreta la proposiciones de control es llamado de varias formas: Interprete de tarjetas de control (como en JCL) Interprete de comandos en lnea (como en DOS) Shell (como en UNIX)

Su funcin es conseguir y ejecutar la siguiente proposicin de comando.


5

El sistema de archivos, que permite que los archivos se registren en una estructura arbrea. Administrador de Procesos, El sistema operativo es responsable de las siguientes actividades en relacin con la administracin de procesos:

Creacin y muerte del proceso. Suspensin y reanudacin del proceso. Provisin de mecanismos para: Sincronizacin de procesos. Comunicacin de procesos. Manejo de Bloqueos Mutuos.

Memoria-Principal, es una lista grande de palabras, cada una con su propia direccin: Es un depsito de datos rpidamente accesibles que comparten el CPU y los dispositivos de E/S. Memoria-Principal es un dispositivo de almacenamiento voltil. Pierde su contenido en el caso de una falla del sistema.

Administrador de Memoria-Principal

El sistema operativo es responsable de las siguientes actividades en relacin con la administracin de memoria: Mantener una relacin de las partes de la memoria que estn siendo usadas actualmente y por quien. Decidir cuales procesos cargar cuando un espacio de memoria se encuentra disponible. Distribuir y redistribuir espacios de memoria segn sea necesario.

Almacenamiento-Secundario, La memoria-principal es voltil y muy pequea para acomodar todos los datos y programas permanentemente. El sistema de cmputo debe de contar con un almacenamiento-secundario que respalde a la memoria-principal. La mayora de las computadoras modernas usan discos como el principal medio de almacenamiento en lnea, para programas y datos.

El sistema operativo es responsable de las siguientes actividades en relacin con el administrador del disco: Administracin de espacio libre Asignacin de almacenamiento Planificacin del disco

Sistema de E/S, el sistema consiste en: Un sistema de administracin de buffer-cach y spooling. Una interface general de device-drivers (Software). Controladores para dispositivos especficos de hardware.

Administrador de Archivos, el sistema operativo es responsable de las siguientes actividades en relacin con el administrador de archivos: Creacin y eliminacin de archivos. Creacin y eliminacin del Directorio. Proveer de primitivas para la manipulacin de archivos y directorios. Archivo de mapas de accesibilidad del almacenamiento secundario. Respaldo de archivos sobre medios de almacenamiento estables (novoltiles).

Aplicaciones de usuario, coleccin de herramientas que utilizan los usuarios en sus quehaceres. (The Gimp, Firefox, Inkscape, Apache, GCC...)

Llamados al sistema, o system calls se clasifican en distintos tipos:

Control de procesos: Cargar, ejecutar, finalizar, abortar, conseguir atributos, cargar atributos, esperar por tiempo, esperar por un evento o seal, conseguir o liberar memoria, etc. Gestin de archivos: Crear, borrar, abrir, cerrar, leer, escribir, conseguir o cargar atributos, etc. Gestin de dispositivos: Requerir o liberar un dispositivo, leer o escribir, buscar o cargar atributos de un dispositivo, etc. Gestin de informacin del sistema: Conseguir o cargar la hora del sistema, datos del sistema, de procesos, etc. Comunicaciones: Crear o destruir conexiones, enviar o recibir mensajes, etc.

HAL Hardware Abstraction Layer, se encarga de independizar los detalles de la arquitectura hardware para el resto de los componentes. Forma parte del ncleo, de manera que la migracin a una nueva arquitectura no suponga reescribir todo el ncleo.

Funciones del sistema operativo


El sistema operativo cumple varias funciones:

Administracin del procesador: el sistema operativo administra la distribucin del procesador entre los distintos programas por medio de un algoritmo de programacin. El tipo de programador depende

completamente del sistema operativo, segn el objetivo deseado.

Gestin de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicacin y para cada usuario, si resulta pertinente. Cuando la memoria fsica es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho ms lenta.

Gestin de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a travs de los drivers (tambin conocidos como administradores perifricos o de entrada/salida).

Gestin de ejecucin de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignndoles los recursos que stas necesitan para funcionar. Esto significa que si una aplicacin no responde correctamente puede "sucumbir".

Administracin de autorizaciones: el sistema operativo se encarga de la seguridad en relacin con la ejecucin de programas garantizando que los recursos sean utilizados slo por programas y usuarios que posean las autorizaciones correspondientes.

Gestin de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.

Gestin de la informacin: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

Los Sistemas Monolticos

Programa Programa Programa

Llamadas al Sistemas

Hardware

Los sistemas Monolticos son la estructura ms simple para un Sistema Operativo. Tambin llamados de Estructura Modular, fue escrito para proporcionar una mxima funcionalidad dentro del menor espacio posible. Se caracteriza porque no tienen una estructura totalmente clara, con esto nos referimos a que sus rutinas y funcionalidades se encuentran agrupados en un solo programa (el Sistema Operativo). El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede invocar a cualquiera de los otros cuando necesita hacerlo. Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados, y cada uno est en libertad de invocar a cualquier otro, si este ltimo realiza algn clculo til que el primero necesita. Esta organizacin sugiere una estructura bsica para el sistema operativo: 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 de utilera que ayudan a los procedimientos de servicio.
10

En este modelo, para cada llamada al sistema hay un procedimiento de servicio que se ocupa de ella. Los procedimientos de utilera hacen cosas que varios procedimientos de servicio necesitan, como obtener datos de los programas de usuario.

Esta organizacin sugiere una estructura bsica del sistema operativo: Un programa principal que llama al procedimiento del servicio solicitado. Un conjunto de procedimientos de servicio que lleva a cabo las llamadas al sistema. Un conjunto de procedimientos de utilidades que ayudan a los procedimientos de servicio. En este modelo, para cada llamada al sistema existe un procedimiento de servicio que se encarga de ella. Los procedimientos de utilidad hacen cosas necesarias para varios procedimientos de servicio, como por ejemplo, buscar los datos del programa del usuario.

11

Caractersticas: No se tiene una estructura definida. El sistema es escrito como una coleccin de procedimientos, que pueden ser invocados por cualquier otro. No existe ocultacin de informacin, ya que cualquier procedimiento puede invocar a otro. Si bien todo procedimiento es pblico y accesible a cualquiera, es posible tener buenos diseos y lograr, de esa forma, buena eficiencia en el sistema. EJEMPLOS SISTEMAS MONOLTICOS: Los ejemplos tpicos de este sistema son Unix, MS-DOS y Mac OS hasta Mac OS 8.6. Otros ejemplos son:

Linux Syllable Ncleos tipo DOS DR-DOS Familia Microsoft Windows

Modelo de estructuracin sencillo para un sistema monoltico.

12

Sistema en Capas

Interfaz de Usuario

Programas de Usuario

Gestion de E/S
Gestion de Procesos

Gestion de Memoria

HW

En esta estructura el Sistema Operativo queda definido modularmente por divisiones en capas o niveles, cuya organizacin est dada como una jerarqua de capas donde cada una de ellas ofrece una interfaz clara y bien definida, la capa superior solamente utiliza los servicios y funciones que ofrece la capa inferior, es decir, la capa n slo se comunica para obtener lo requerido con la capa n-1, donde la capa inferior es la ms privilegiada. El encargado de que solamente haya comunicacin entre capas adyacentes es el procesador. El primer sistema que tuvo esta estructura fue el sistema THE construido en la Technische Hogeschool Eindhoven de los Pases Bajos por E. W. Dijkstra (1968) y sus estudiantes. El sistema THE era un sencillo sistema por lotes para una computadora holandesa, la Electrologica X8, que tena 32K de palabras de 27 bits. La capa ms interna o inferior (capa 0) corresponde al Hardware, mientras que la ms alta o externa corresponde a la interfaz de usuario.

13

La capa 0: Se ocupaba del reparto del procesador, conmutando entre procesos cuando ocurran interrupciones o expiraban temporizadores. Ms arriba de la capa 0, el sistema consista en procesos secuenciales, cada uno de los

cuales poda programarse sin tener que preocuparse por el hecho de que mltiples procesos se estuvieran ejecutando en un solo procesador. En otras palabras, la capa 0 se encargaba de la multiprogramacin bsica del CPU. La capa 1: Administraba la memoria, repartiendo espacio para los procesos en la memoria principal y en un tambor de 512K palabras que serva para contener partes de los procesos (pginas) para las que no haba espacio en la memoria principal. Ms arriba de la capa 1, los procesos no tenan que preocuparse por si estaban en la memoria o en el tambor; el software de esa capa se encargaba de que se colocaran en la memoria las pginas en el momento en que se necesitaban. La capa 2: Manejaba la comunicacin entre cada proceso y la consola del operador. Por encima de esta capa cada proceso tena efectivamente su propia consola de operador. La capa 3: Se encargaba de administrar los dispositivos de E/S y de colocar en buffers las corrientes de informacin provenientes de y dirigidas a ellos. Ms arriba de la capa 3 cada proceso poda tratar con dispositivos de E/S abstractos con propiedades bonitas, en lugar de dispositivos reales con muchas peculiaridades. En la capa 4: Se encontraban los programas de usuario, los cuales no tenan que preocuparse por la administracin de procesos, memoria, consola o E/S. El proceso del operador del sistema estaba en la capa 5. Caractersticas: Se organiza el diseo en una jerarqua de capas construidas una encima de la otra. Los servicios que brinda cada capa son expuestos en una interface pblica y son consumidos solamente por los de la capa de arriba.

14

Tabla de jerarqua del sistema en capas: Capa 5 4 3 2 1 0 Funcin El Operador Programas de Usuario Administracin de E/S Comunicacin Operador-Proceso Administracin de Memoria Reparto del procesador y multiprogramacin

Ventajas: Modularidad. Depuracin y verificacin de cada capa por separado. Desventajas: Alto costo de definicin de cada capa en la etapa de diseo. Menos eficiente frente al sistema monoltico ya que sufre de overhead al pasar por cada capa. EJEMPLOS DE SISTEMAS POR CAPAS: THE (Technische Hogeschool Eindhoven) Venus MULTICS (Multiplexed Information and Computing Service)

Mquinas Virtuales
Se refiere a la abstraccin de los recursos de un computador, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstraccin entre el hardware de la mquina fsica (host) y el sistema operativo de la mquina virtual, siendo un medio para crear una versin virtual de un dispositivo o recurso, como un servidor, un dispositivo de almacenamiento, una red o incluso un sistema operativo, donde se divide el recurso en uno o ms entornos de ejecucin.
15

Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Red, Almacenamiento) y as podr repartir dinmicamente dichos recursos entre todas las mquinas virtuales definidas en el computador central. De modo que nos permite Las mquinas virtuales se pueden ver como una extensin de los sistemas multiprogramados pero a ms bajo nivel. Los procesos no solamente trabajan sobre el sistema operativo como si fueran el nico proceso en el sistema sino que tienen una copia virtual del hardware de la CPU. Las mquinas virtuales corren como procesos a nivel de usuario y el administrador de MVs (hypervisor) implementa un modo usuario virtual y un modo administrador virtual. Tambin se implementan discos virtuales sobre los discos reales para las mquinas virtuales. Ventajas:

Seguridad: Los procesos en cada mquina virtual son completamente independientes de los procesos en las otras

Facilidad de desarrollo: Se pude correr un sistema operativo de test en una mquina virtual sin correr riesgos con el sistema real

Flexibilidad: Correr un sistema operativo de una arquitectura en una mquina diferente

Alta disponibilidad: En caso de falla de una MV se puede levantar otra rpidamente en otro hardware.

Desventajas: Los tiempos de las operaciones pueden tardar ms que en un sistema real Tiempo adicional por traducir las operaciones Tiempo de respuesta de la mquina muy poco predecible por uso del sistema operativo de base u otras MVs. No apropiado para sistemas de tiempo real
16

Sistema Cliente-Servidor:

En los sistemas operativos modernos, los sistemas cliente-servidor nacen con la finalidad de minimizar el ncleo (kernel), trasladando el cdigo de todos sus servicios a las capas superiores; y el ncleo slo deber controlar la comunicacin, que se realiza mediante mensajes, entre clientes y servidores o servidores y hardware. El objetivo es desarrollar la mayora de las funciones del sistema operativos como procesos de usuario. Un proceso de usuario, llamado en este caso proceso cliente, enva una solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta.

El

sistema

operativo

se

divide en partes donde cada una controla una faceta del sistema, entre ellos servicios a archivos, servicios servicios a a

procesos,

terminales, o servicios a la memoria, donde cada una es pequea y controlable, as al ejecutar los procesos en

modo usuario y no en modo ncleo si hay algn error en algn servidor, este afectar slo a dicha parte y no a toda la mquina, ya que no se tiene acceso al hardware.

17

Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso en sistemas distribuidos. Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local, en su mquina, o si se enva por medio de una red a un servidor en una mquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se recibi una respuesta. Caractersticas: En la arquitectura cliente-servidor el remitente de una solicitud es conocido como cliente. Sus caractersticas son:

Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicacin (dispositivo maestro o amo).

Espera y recibe las respuestas del servidor. Por lo general, puede conectarse a varios servidores a la vez. Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica de usuario.

Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexin que le otorga al cliente y el tipo de cable que utiliza, por ejemplo: cable de cobre ronda entre 1 ms y 50 ms.

Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus caractersticas son:

Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempean entonces un papel pasivo en la comunicacin (dispositivo esclavo).

Tras la recepcin de una solicitud, la procesan y luego envan la respuesta al cliente.

Por lo general, aceptan conexiones desde un gran nmero de clientes (en ciertos casos el nmero mximo de peticiones puede estar limitado).

No es frecuente que interacten directamente con los usuarios finales.

18

En conclusin, hemos visto lo complejo que es la estructura de un sistema, y las diferentes formas que pueden tomar. Los sistemas evolucin de acuerdo a nuestras necesidades y cambios en la informtica, y as seguir siendo hasta que se construya el sistema ideal, o siendo futurista, que se auto estructure. Cada arquitectura de sistemas no brinda ventajas y desventajas, el haber conocido acerca de estos nos permite saber escoger bien que sistema usar para determinada tarea y ampli nuestro conocimiento con respecto a un campo que usamos ms que a menudo y sin darnos cuenta de su complejidad.

Bibliografa:

Facultad de Ingeniera Universidad de la Repblica Uruguay Sistemas Operativos | Curso 2013 | Estructura de los sistemas operativos Carretero J., Garca F., y Prez F. (2002). Prcticas de Sistemas Operativos: de la base al diseo (1a ed.). Espaa: McGraw-Hill. Silberschatz, A., y Galvin, B. P. (1999). Sistemas Operativos (5a ed.). Mxico: Addison Wesley Longman. Abraham Silberschatz, Greg Gagne, Peter Baer Galvin (2006). Fundamentos de sistemas operativos (7 edicin). Mcgraw-hill. http://wiki.inf.utfsm.cl/index.php?title=Estructura_de_un_sistema_operativo http://www.vmars.tuwien.ac.at/courses/akti12/journal/04ss/article_04ss_Roch.p df https://sites.google.com/site/osupaep2010/sistemas-operativos/3-1-estructurade-los-sistemas-operativos

19