Conceptos básicos sobre sistemas operativos.
Definimos sistema operativo como un conjunto de programas implementados tanto en software como en firmware que hacen asequible el hardware, de forma que lo hacen disponible de la manera más adecuada al usuario y aumentan su rendimiento total, es decir, su rendimiento específico o throughput (volumen de trabajo por unidad de tiempo) y su disponibilidad (tiempo de respuesta mínimo).
Un ordenador no es una máquina dedicada sino que esta construido para un propósito general con el fin de ejecutar aplicaciones de diversa índole. En líneas generales el ordenador dispone además de una unidad central de proceso y de la memoria, de diversos periféricos (pantallas, impresoras, teclados, etc) que son compartidos en gran medida por todas las aplicaciones porque todas las aplicaciones de un computador utilizan los mismos recursos físicos y los mismos recursos lógicos.
Los sistemas operativos nacen porque sería extremadamente complejo que cada una de las aplicaciones soportadas por el ordenador contuviese todos los programas necesarios para manejar el hardware y el software que comparten muchas aplicaciones.
Además el sistema operativo hace de intermediario entre el hardware y el usuario creando un entorno adecuado que se adapte a los diferentes usuarios y aplicaciones.
Figura 4.1. Descripción interna del S.O.
Por tanto el sistema operativo es un gestor de recursos, tratando de sacar de ellos el mayor rendimiento posible, por lo que debe poseer las siguientes funciones; organiza los archivos en diversos dispositivos de almacenamiento; supervisa y gestiona ejecuciones, errores hardware y la pérdida de datos; coordina y manipula el hardware de la computadora y tiene que evitar usos inadecuados además de responder a cualquier evento que se produzca.
4.1.1- Clasificación de los sistemas operativos.
Existen muchas clasificaciones diferentes de sistemas operativos dependiendo del criterio en el que se basen. Nosotros los clasificaremos basándonos en dos criterios:
1º- Según el punto de vista del usuario:
Existen los SISTEMAS MONOUSUARIO en los cuales la máquina virtual (la presentada por el S.O. al usuario) tiene un solo usuario y generalmente está dedicada a una sola función. Por tanto el interface del S.O. constará básicamente de un gestor de ficheros sencillo, utilidades que proporcionen facilidades de E/S y un intérprete de comandos sencillo, es decir un OSCL(Lenguaje de Control del S.O.); y sus cualidades son fiabilidad, eficacia, sencillez de uso y facilidad de extensión.
Se puede representar de las siguientes maneras según el modo en que se trabaje:
Figura 4.2. Representaciones Batch y On-Line de sistemas monousuario.
También existen los SISTEMAS DE TIEMPO REAL que tienen en común la necesidad de dar respuestas a unas entradas con un tiempo de proceso informático limitado. Por los que sus funciones principales serán interactuar con dispositivos externos (sensores, válvulas,...), reacción inmediata ante cualquier suceso externo, registrar la información (fichero registro), tener noción de tratamientos prioritarios y realizar una planificación eficiente, siempre teniendo en cuenta el tiempo físico (tiempo real)
Su cualidad principal debe ser la fiabilidad de forma que garantice la seguridad del sistema en cualquier caso (tolerancia a fallos) debiendo ofrecer unos servicios mínimos (disponibilidad) Los sistemas en tiempo real se utilizan en muchos campos como gestión de centralitas telefónicas, pilotaje de aviones, seguimiento de trayectorias, vigilancia médica, control de robots, ..., y control de procesos en general..
En general responden al siguiente esquema:
Figura 4.3. Esquema de un sistema de tiempo real.
Como evolución de los sistemas operativos aparecieron los SISTEMAS TRANSACCIONALES que se caracterizan por poseer las siguientes funciones; gestionar un gran volumen de información (Bases de Datos) desde distintos y numerosos puntos de acceso y de transacciones desarrollándose simultáneamente (de forma paralela concurrencia) y por la ejecución de operaciones predefinidas, muy a menudo interactivas.
Sus cualidades son fiabilidad y disponibilidad.(servicios mínimos)
Son ejemplos de sistemas transaccionales los sistemas de reservas de plazas en líneas aéreas, gestión de cuentas bancarias, consulta de documentos, etc...
Más tarde aparecieron los SISTEMAS TS/MULTIPROGRAMADOS, donde los sistemas Time-Sharing se caracterizan por prestar servicio a un conjunto de usuarios simultáneamente, dividiendo el tiempo de utilización de la máquina en quantums para cada usuario.
Mientras que los sistemas multiprogramados se caracterizan por la ejecución simultanea de varios programas (procesamiento concurrente). En ambos sistemas el S.O. será el encargado de conmutar los recursos entre los diversos procesos y/o usuarios.
Por tanto las funciones que debe proporcionar el S.O. serán todas las de los sistemas monousuario y las de los sistemas transaccionales: definición de la máquina virtual a presentar a cada usuario, ofrecer la utilización compartida y asignación de los recursos físicos comunes (conmutación), gestión de la información compartida. Sus cualidades serán: disponibilidad, fiabilidad y seguridad, facilidad de extensión y adaptación a los diferentes usuarios, facilidad de uso y eficacia.
También existen los SISTEMAS MULTIPROCESADOR que se caracterizan por la existencia de varios procesadores centrales compartiendo a veces memoria y periféricos en la ejecución de instrucciones en paralelo (concurrencia real).
Sus funciones son todas las de los sistemas TS/Mutiprogramados, las de los sistemas de tiempo real y además las de gestión de los ‘n’ procesadores: asignación, conmutación, comunicación, etc... Por otro lado, si estos procesadores están a cierta distancia y se comunican por las líneas de transmisión de datos (sistemas distribuidos) tendrán como función la gestión teleinformática.
Sus cualidades serán todas las de los tipos anteriores, pero haciendo especial hincapié en la fiabilidad.
2º- Según la arquitectura del computador:
Existen los SISTEMAS MONOLÍTICOS que están diseñados como un conjunto de rutinas (rutinas de servicio y rutinas de utilidad o auxiliares) compiladas por separado, que pueden llamarse entre sí y que se montan para formar el S.O., que será la rutina principal (gestor de interrupciones).
El principal problema de los sistemas operativos monolíticos es su diseño poco apropiado para sistemas operativos grandes, ya que es muy difícil de especificar, codificar, probar y depurar. La solución sería introducir estructura en el S.O.
Como ejemplos de S.O. monolíticos están DOS/VS 360 y UNIX.
También se desarrollaron los SISTEMAS POR NIVELES O CAPAS en los cuales los sistemas operativos están diseñados como una jerarquía de niveles, en la que cada nivel hace uso de las facilidades que le proporcionan el hard y los niveles inferiores a él, sin necesidad de conocer los detalles de operación de dichos niveles.
Por tanto el S.O. está constituido por una serie de módulos pequeños y fáciles de manejar, cada uno de ellos especializado en una única función y con interfaces con otros módulos.(ocultamiento de información) Son ejemplos de S.O. por niveles MINIX y THE :
La principal ventaja de estos sistemas es su facilidad de mantenimiento que incrementa la fiabilidad del sistema, y su principal problema reside en la dificultad de elegir las funciones que deben asignarse a cada nivel.
Figura 4.4. Representación gráfica de un sistema por capas
Como extensión del enfoque de capas surgieron los SISTEMAS DE MÁQUINA VIRTUAL en los cuales se separa la parte del S.O. que proporciona la máquina virtual (la máquina adaptada al usuario) de la parte que posibilita la compartición de recursos.
Se pueden instalar diferentes S.O.s sobre las máquinas virtuales, lo cual proporciona gran flexibilidad al sistema y la posibilidad de experimentar y reducir tiempos de desarrollo con nuevo S.O.s sin interferir con el trabajo habitual.
Ejemplo : VM de IBM
Figura 4.5. Representación gráfica de un sistema máquina Virtual VM de IBM
El principal problema de estos sistemas es la dificultad de implementación.(proporcionar duplicados exactos de las máquinas)
Por último también existen los SISTEMAS BASADOS EN MICROKERNELS que incluyen en el núcleo sólo las funciones esenciales del S.O., estando el resto de funciones implementadas en módulos a nivel de usuario sobre el núcleo, que hace de base común para los procesos de usuario y el resto de servicios del S.O.
Por tanto estos sistemas tienen un núcleo mínimo pero con un número suficiente de mecanismos eficientes, que le capacitan básicamente para gestionar mensajes y controlar los accesos al hardware.
Las principales ventajas de este tipo de S.O.s son su fácil adaptabilidad a los sistemas distribuidos; su alta fiabilidad (por tener un núcleo pequeño); su facilidad de idear; implementar y mantener; además de su facilidad con la que los servicios implementados pueden modificarse, recompilarse y cargarse sin afectar al resto.
La principal dificultad consiste en decidir qué funciones deben incluirse en el núcleo: las que necesiten rapidez o deban ejecutarse muy a menudo. En general habrá que lograr un equilibrio entre servicios rápidos e inflexibles, ya que cuanto menos se sobrecargue el núcleo más fácil será su mantenimiento.
4.1.2-Requisitos del sistema operativo multitarea.
Los sistemas operativos que soportan la multitarea manejan una lista de tareas pendientes de ser procesadas, que se ordena y organiza en función de diversos criterios, o bien, como sucede en los sistemas operativos de tiempo real, de acuerdo con la aparición de factores externos.
Para ello debe poseer ciertos requisitos. Un requisito imprescindible para la multitarea es la asignación de una zona exclusiva de memoria a cada tarea, en la que se almacenan su código y sus datos. Dicha zona de memoria recibe el nombre de área local.
Por otra parte, también deberá existir una zona de memoria común y compartida por todas las tareas, a la cual se denomina área global.
Cada tarea tendrá derecho a acceder a su propia área local y al área global; pero tendrá prohibido el acceso a las áreas locales de las restantes tareas.
En cada momento, el sistema operativo pone a disposición de la tarea en curso los recursos de la máquina, incluyendo los espacios de memoria adecuados.
Como se ha mencionado anteriormente, cada tarea tiene un tiempo asociado para su ejecución (“quantum”), pasado este tiempo, el sistema operativo provoca una conmutación de tareas poniendo la máquina a disposición de otra tarea.
Sebastián Cintes, Daiana Lis Gimenez 2 "B"
No hay comentarios:
Publicar un comentario