Está en la página 1de 10

TEMA 1: VISIN GENERAL DE LOS SISTEMAS OPERATIVOS

1. Concepto de Sistema Operativo. Funciones


Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar el uso de la computadora y conseguir que sta se utilice eficientemente. Las funciones que realiza son bsicamente: Presentar al usuario el equivalente de una mquina extendida o mquina virtual ms fcil de programar. Ej.: Controlador de disco. Dispone de comandos que realizan operaciones tales como leer y escribir datos, mover el brazo, formatear pistas, recalibrado, ... El usuario ve el disco como una coleccin de archivos y carpetas/directorios. Gestionar los recursos del sistema (procesadores, memoria, dispositivos de E/S, ...) para que se utilicen eficientemente y se puedan resolver los conflictos derivados de la competencia entre los distintos usuarios. Ej.: La impresora. Es un recurso asignado que se debe compartir. El S.O. mantiene una lista de los archivos a imprimir y los va encauzando hacia la impresora.

2. Evolucin de los Sistemas Operativos


Primera generacin (1945-1955) No existen Sistemas Operativos. Un grupo reducido de gente diseaba, construa, programaba, mantena cada mquina. Las instrucciones se codificaban a mano. El programador insertaba su trabajo y esperaba su turno. Exista un desaprovechamiento inadecuado del computador ("tiempos muertos de la CPU"). Disparidad de tiempos de ejecucin entre la CPU y los dispositivos de E/S. En 1950 aparecen las tarjetas perforadas. Segunda generacin (1955-1965) Aparicin de los transistores. Se especializa el personal (diseadores, analistas, ...). Se desarrollan los primeros sistemas operativos. Se procesan los trabajos por lotes ("batch"). El S.O. se entiende como un programa de control que planifica los trabajos. Tercera generacin (1965-1980) Aparecen los circuitos integrados y la multiprogramacin. Existen muchas computadoras diferentes con S.O. muy diferentes. Se suministran una gran cantidad de programas de utilidad. Los S.O. son complejos. Se utilizan dispositivos virtuales como las tcnicas de SPOOL. Multiprocesamiento (sistemas compuestos de varios procesadores). Surgimiento de la Ingeniera del Software. Separacin entre la venta de hardware y software.
2

Cuarta generacin (1980-2000) Circuitos LSI (alta escala de integracin) y, posteriormente, VLSI. Relanzamiento de los ordenadores personales. Crecimiento del software para las computadoras personales. Crecimiento de las redes de computadoras que ejecutan S.O. en red y distribuidos. Quinta generacin (2000-...) Aparicin de las computadoras de bolsillo (PDA, Personal Digital Assistant) como ampliacin de las agendas electrnicas. Los S.O. se adaptan a estas nuevas computadoras y telfonos mviles (mucho ms pequeos que una computadora).

3. Tipos de S.O.
3.1. Monoprogramacin
Hasta que no finaliza la ejecucin de un programa de usuario no empieza a ejecutarse otro. Consecuencias: Tiempos muertos de CPU, perifricos, ... Desaprovechamiento de la Memoria Central (la no ocupada por el proceso).

Entre la finalizacin de un programa y el comienzo del siguiente transcurre un tiempo en el que el ncleo del sistema operativo tiene el control del procesador (CPU).

3.2. Sistemas por lotes o colas ("sistemas batch")


Un sistema por lotes realiza una secuenciacin automtica de trabajos. En l van pasando a ejecucin de uno en uno los programas en espera. La planificacin es muy simple. Los trabajos se procesan, en general, en el orden de admisin (FIFO).

Un S.O. por lotes puede servir muy bien para programas que no requieran interaccin con el usuario y aquellos con tiempos de ejecucin largos, como los programas de nminas, de anlisis estadsticos, ... Debido a los retardos en el tiempo total de ejecucin, el procesamiento por lotes no es muy conveniente para el desarrollo de programas.

3.3. S.O. de multiprogramacin


Se cargan en memoria principal varios programas que se van ejecutando concurrentemente con lo cual, en un determinado tiempo se estarn ejecutando varios programas.

Ventajas: Aprovechamiento de la memoria y mejora de los tiempos muertos del procesador. Un programa en ejecucin se conoce como proceso. El programa es, por tanto, un ente "pasivo" y el proceso un ente "activo". Un S.O. multiproceso o multitarea soporta dos o ms procesos activos simultneamente.
4

Un S.O. de multiprogramacin soporta mltiples procesos concurrentes y, adems, permite que residan simultneamente en la memoria principal las instrucciones y datos procedentes de dos o ms procesos disjuntos. La multiprogramacin implica multiproceso pero el multiproceso no implica multiprogramacin.

Tipos de multiprogramacin: Clsica Tratamiento paralelo Tiempo compartido Multiprogramacin clsica El planificador del procesador da el turno a un programa determinado. Cuando ste tiene que realizar una operacin de E/S, le da el control del procesador a otro programa y as sucesivamente. Cuando un programa finaliza una operacin de E/S, el perifrico se lo comunica a la CPU (mediante una interrupcin) para cederle el control la prxima ocasin que le toque su turno. Problema: Monopolizacin de la CPU por parte de programas con mucho clculo y poca E/S. Tratamiento paralelo A cada uno de los programas en memoria se le asigna un intervalo de tiempo fijo o periodo T llamado "cuantum" (dcimas de segundo). Al finalizar el cuantum asignado a un programa, el control de la CPU pasa al siguiente programa y as sucesivamente.
5

La cuenta del tiempo se realiza mediante un circuito contador activado por el reloj de la CPU (temporizador digital). Al transcurrir el periodo T se genera una interrupcin de la CPU. Tiempo compartido

Se asigna el control de la CPU a un nuevo programa interrumpiendo al anterior siempre que este ltimo agote su cuantum de tiempo o que entre en la ejecucin de una instruccin de E/S. La CPU trabaja el 100% en determinados intervalos segn el tipo de carga.

3.4.

S.O.

de

secuencias

mltiples

colas

paralelas

(multisecuencias)
Permiten coexistir en memoria en ejecucin concurrente distintos tipos de trabajos (organizados en colas diferentes). Los trabajos se introducen en las distintas colas las cuales contienen distintas caractersticas (tiempo de CPU, prioridades, etc.) que deben reunir los trabajos. En ejecucin concurrente habr un trabajo por cada cola que exista. Pueden existir trabajos de tipo interactivo.

3.5. Sistemas de bases de datos


Estos S.O. mantienen una gran cantidad de datos que pueden ser consultados en busca de una determinada informacin que debe suministrarse en un periodo razonable de tiempo.

La B.D. puede ser frecuentemente modificada para mantener la informacin actualizada y se evitan las operaciones simultneas sobre los mismos datos.

3.6. Sistemas en tiempo real


Un S.O. en tiempo real se caracteriza por el procesamiento de una actividad interrumpida, en la mayora de los casos, por sucesos externos aleatorios. El procesamiento de un suceso particular viene acompaado por secuencias de tareas que se deben de realizar dentro de rgidas restricciones de tiempo. Un suceso puede ser: La recepcin de un dato (procedente, por ejemplo, de un sensor). La demanda de servicio de un dispositivo en lnea. Un sistema en tiempo real monitoriza y controla el sistema con mnima intervencin humana. Slo interviene en fallos del sistema o cuando se violan algunos lmites. El sistema est completamente dedicado a la aplicacin de control y debe estar configurado para garantizar respuestas rpidas en el tiempo incluso con cargas pesadas. Los procesos suelen residir permanentemente en memoria principal para proporcionar tiempos de respuesta rpidos. El entorno es tal que la utilizacin del equipo es menos importante que la respuesta al entorno.

Ejemplos:

Lneas de produccin, semforos de trfico, equipamiento telefnico, control de vuelo, aplicaciones militares, ...

Es importante que el procesador pueda responder muy rpidamente a interrupciones externas y determinar intervalos de tiempo con una precisin muy alta.

3.7. Sistemas multiprocesador. Redes y sistemas distribuidos


Una red interconecta varias computadoras ("hosts"), cada una de las cuales puede proporcionar servicios de computacin a los usuarios de la red.

Las redes estn conectadas por subsistemas de comunicaciones y uno o varios tipos de enlaces de comunicaciones como pueden ser las lneas telefnicas, canales de satlite, cables coaxiales y enlaces de microondas.

Tipos de aplicaciones de procesamiento distribuido: Redes de recursos compartidos: Los recursos de las diferentes computadoras se ponen a disposicin de las otras computadoras. La red proporciona los mecanismos para crear la ilusin de que los dispositivos remotos estn disponibles en el sistema local. Redes de computacin distribuida: Realiza actividades de multitarea como pueden ser el control de procesos o de bases de datos, ... Ej.: Planta de fabricacin de una compaa en todo un pas. Redes de comunicacin remota: Proporcionan los medios para que los usuarios puedan acceder a instalaciones remotas de la forma ms econmica posible.

Un sistema operativo para red es una coleccin de software y protocolos asociados que permiten a varias computadoras autnomas que se encuentran interconectadas por una red de computadoras, ser utilizadas conjuntamente de una manera conveniente y econmica. Los S.O. para redes se clasifican en: S.O. en red (NOS, Network Operating System) S.O. distribuidos (DOS, Distributed Operating System) S.O. en red Cada uno de los hosts de la red utiliza su propio S.O. que no es de red. La red est controlada por los programas de usuario ejecutados en los diferentes hosts. Los usuarios conocen la existencia de mltiples computadoras y pueden conectarse a mquinas remotas y copiar archivos de una mquina a otra.

Cada mquina tiene sus propios usuarios y ejecuta su S.O. S.O. distribuidos Los S.O. individuales de los hosts quedan descartados y se implementa un nico sistema operativo para toda la red. Aparece a los usuarios como un sistema uniprocesador aunque conste de muchos procesadores. Los usuarios no saben dnde se ejecutan sus programas ni dnde se localizan sus archivos. Por ello, la caracterstica principal de un DOS es la transparencia.
9

4. Visin de los S.O. por parte de los usuarios


Bsicamente podemos dividir a los usuarios de los servicios de los sistemas operativos en dos amplias clases: usuarios del lenguaje de rdenes y usuarios de las llamadas al sistema.

Informalmente, los usuarios del lenguaje de rdenes son aquellos que obtienen los servicios del sistema operativo mediante rdenes, ya sean tecleadas en el terminal o insertadas en un archivo de procesamiento (llamados scripts o batch). Estos lenguajes de rdenes suelen ser especficos del sistema, aunque, en general, las funciones suelen ser parecidas en todos ellos. Algunas de las clases funcionales tpicas de las rdenes del sistema operativo son: las relacionadas con la conexin y desconexin, con la activacin y control de programas, con la gestin de archivos, las que muestran informacin de estado, las que permiten la comunicacin entre los usuarios y las relacionadas con la gestin del sistema. Los usuarios de las llamadas al sistema invocan los servicios del sistema operativo mediante llamadas al sistema en tiempo de ejecucin. Estos usuarios, conocidos como programadores de sistemas y aplicaciones, invocan a las llamadas al sistema desde sus programas. Adems de proporcionar la mayora de la funcionalidad accesible a los usuarios del lenguaje de rdenes, las llamadas al sistema suelen permitir un mayor control sobre las operaciones del sistema y un acceso ms directo a l s a facilidades del hardware, especialmente a las de entrada/salida; por este motivo, las llamadas al sistema representan un superconjunto de las funciones accesibles a nivel de orden.

10

También podría gustarte