Está en la página 1de 1

1.2.

Procesos y Multiprogramación

Las computadoras actuales son capaces de realizar varias actividades a la vez.


Mientras se ejecuta una tarea de un usuario, el sistema puede estar leyendo una
unidad de disco o escribiendo en una impresora, gracias a las posibilidades que
ofrecen los circuitos de acceso directo a memoria (DMA) y las interrupciones
generadas por los órganos de L/E (Lectura/Escritura). Además, siempre que existan
esas interrupciones, se pueden ejecutar varios procesos de usuario de forma
alternada, solapándose con las operaciones de L/E. Así, en el método de
multiprogramación conocido como Foreground/Background, un proceso delantero o
prioritario, el proceso Foreground (FG), se ejecuta con preferencia sobre los demás.
Cuando este proceso solicita una operación de L/E, y mientras ésta se realiza el
sistema operativo puede aprovechar el tiempo del procesador haciendo que se
ejecute el primer proceso trasero o Background (BG 1); si éste a su vez llega a una
detención por L/E, se pasa a ejecutar el siguiente (BG 2), y así sucesivamente.
Cuando termina la operación de L/E de un proceso más delantero que el que se
está ejecutando, el sistema operativo en cuestión congela la ejecución de éste, y
reanuda la de aquel. De este modo, en la multiprogramación FG/BG los procesos
traseros utilizan el procesador mientras están inactivos los delanteros, mejorando
así el aprovechamiento del procesador.

Igualmente, si el ordenador tiene un reloj que genere interrupciones periódicas, se


puede usar para forzar el cambio de un proceso a otro; con esta actuación, el tiempo
del procesador se distribuye más equitativamente entre los procesos, llegando así
al tiempo compartido