SISTEMAS OPERATIVOS DE MULTIPROGRAMACIN (O SISTEMAS OPERATIVOS DE
MULTITAREA)
CARACTERISTICAS
Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos
activos al mismo tiempo. Mejora productividad del sistema y utilizacin de recursos.
Generalmente soportan mltiples usuarios (multiusuario).
Proporcionan facilidades para mantener el entorno de usuarios individuales.
DESCRIPCION
FUNCION
6.3. Multiprogramacin.
La multiprogramacin es un modo de trabajo distinto en el que se pueden ejecutar varios
programas simultneamente con el fin de aprovechar al mximo los recursos de la
computadora.
Los trabajos realizados en una computadora, desde el punto de vista de ocupacin de
tiempo
de procesador y de los dispositivos perifricos, se pueden agrupar en dos bloques:
- Trabajos limitados por procesos: aquellos que consumen la mayor parte de su tiempo en
el tratamiento de la informacin y muy poco en operaciones de entrada/salida.
- Trabajos limitados por operaciones de E/S: aquellos que dedican la mayor parte del
tiempo a operaciones de E/S, haciendo poco uso del procesador, que se mantiene inactivo
durante grandes perodos de tiempo.
Obviamente, un proceso particular puede estar decantado hacia un lado u otro, o bien
situado en una situacin intermedia.
El segundo tipo de procesos dio lugar a una nueva tcnica denominada multiprogramacin.
Esta tcnica consiste en aprovechar la inactividad del procesador durante la ejecucin de
una
operacin de E/S de un proceso, para atender a otro proceso. Desde el punto de vista del
usuario,
los procesos que se estn ejecutando en la computadora estn corriendo en paralelo, en
realidad
lo que sucede es que se estn utilizando pequeos tiempo de CPU (rfagas) para cada uno
de los
procesos que se ejecutan. En estas condiciones nos encontraremos con varios problemas:
El acceso al procesador deber seguir algn tipo de reglas, o polticas de trabajo, que
permitan la realizacin de las distintas tareas que implica la ejecucin de los programas.
Se hace necesario algn tipo de administracin de la memoria, ya que tiene que ser
compartida por los distintos trabajos que se estn ejecutando.
Varios trabajos pueden necesitar la utilizacin de un mismo recurso al mismo tiempo,
dando
lugar a un problema de concurrencia conocido como abrazo mortal.
Multiprogramacin:
Gracias al spooling (reserva de trabajos en el
disco), el
sistema operativo escoge qu trabajo ejecutar a
continuacin con el criterio de mejorar el
aprovechamiento de la CPU, planificacin de
trabajos.
El aspecto ms importante de la planificacin
es la
multiprogramacin, aumentando el
aprovechamiento de
la CPU.
Siempre habr varios trabajos en memoria, el
sistema
operativo escoger de entre ellos y lo ejecutar,
de tal
forma que siempre haya un trabajo en
ejecucin.
Caractersticas de la multiprogramacin:
Si un proceso se bloquea, esperando por la E/S, en la CPU
ejecutamos instrucciones de otro proceso.
Ejecucin entrelazada de procesos: concurrencia.
Mayor rendimiento, finalizacin de ms trabajos en menos
tiempo.
Mayor complejidad de los stmas
multiprogramados:
Planificacin de la CPU: Qu proceso elegimos al
quedar
libre la CPU.
Planificacin de dispositivos: Conflictos por
acceso
simultneo a la E/S.
Gestin de memoria: Decisiones de carga en
memoria
entre varios trabajos que estn listos para subirse.
Situaciones de interbloqueo: Entre procesos por
los
recursos.
Proteccin.
Sistema operativo multiprogramacin
Se denomina multiprogramacin a la tcnica que permite
que dos o ms procesos ocupen la misma unidad de memoria
principal. Multiprogramacin implica multiproceso, sin
embargo multiproceso no implica multiprogramacin.
Aporta las siguientes ventajas:
Aumenta el uso de la CPU.
Las direcciones de los procesos son relativas, el
programador no se preocupa por saber en dnde estar el
proceso dado que el sistema operativo es el que se encarga
de convertir la direccin lgica en fsica.
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.
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.
6
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.