miércoles, 30 de octubre de 2013

MONOPROGRAMACION

En un sistema de monoprogramación todos los recursos del ordenador. CPU, memoria, E/S, etc. Se abocan a la ejecución de un solo programa a la vez. Esto conlleva a una baja utilización de los recursos, por ejemplo; Cuando el programa en ejecución realiza una operación de E/S se introduce la orden precisa en el registro de órdenes. El controlador responde a esto traduciendo esas órdenes al dispositivo, y poniendo a uno el bit de ocupación para indicar que el dispositivo está ocupado realizando una operación de E/S. Cuando termine la operación, el controlador pone a cero este bit para indicar que la operación concluyó, y el dispositivo está desocupado. Para saber cuándo termina la E/S, el programa, después de mandar la orden, tiene que ejecutar un ciclo del siguiente estilo:
ØLeer el registro de estado
ØMientras (el bit de ocupación esté a uno)
ØLeer el registro de estado

ØFin Mientras


Esto nos conlleva a que en un  momento dado la CPU este realizando una acción sin ocupar la E/S y esta ultima quede ociosa o bien la E/S este siendo ocupada y la CPU revisando la finalización de algún ciclo; cómo podemos ver en la imagen (grafico), donde los rectángulos rellenos a trazas representan el ciclo de comprobación. Para dar una medida de la infrautilización de los recursos que conlleva esta forma de realizar las E/S, piénsese que en el tiempo en que una impresora imprime una línea, la CPU, en lugar de ejecutar el ciclo de comprobación que aparece líneas más arriba, podría ejecutar millones de instrucciones de otro programa. A esta forma de realizar la E/S de los sistemas de monoprogramación se le llama E/S controlada por programa.


No hay comentarios:

Publicar un comentario