Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Profesor: Jos Do
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
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.
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.
Cumple la funcin de cargar a la memoria todos los archivos necesarios para la ejecucin de un determinado proceso.
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.
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)
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...)
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.
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
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.
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:
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
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).
Por lo general, aceptan conexiones desde un gran nmero de clientes (en ciertos casos el nmero mximo de peticiones puede estar limitado).
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