1. MULTIPROGRAMACION
S
e denomina multiprogramación a la técnica que
permite que dos o más procesos ocupen la misma
unidad de memoria principal y que sean
ejecutados al "mismo tiempo" (pseudo-paralelismo, en
una única CPU sólo puede haber un proceso a la vez) en
la unidad central de proceso o CPU.
Tiene que ver con el particionamiento de la memoria
para almacenar procesos y como el procesador accede
a estos sin necesidad de esperas de entrada salida
VENTAJAS:
La ya mencionada, varios procesos en ejecución.
Permite el servicio interactivo simultáneo a varios usuarios de manera
eficiente.
Aprovecha los tiempos que los procesos pasan esperando a que se completen
sus operaciones de E/S
Aumenta el uso de la CPU.
Las direcciones de los procesos son relativas, el programador no se preocupa
por saber en dónde estará el proceso dado que el sistema operativo es el que se
encarga de convertir la dirección lógica en física.
INTERRUPCIÓN no es más que una señal eléctrica que provoca que el contador del
programa y la PSWdel programa en ejecución se salven en un lugar seguro de
memoria, para, a continuación, cargar el contador de programa con una dirección fija
de memoria donde reside un programa del sistema operativo que gestiona la
interrupción. Este programa ejecutará cierto código para indicar al programa que
esperaba la finalización de la operación de E/S que ésta ya terminó. Una vez que este
programa del sistema operativo acaba su trabajo ejecuta una instrucción de retorno
de interrupción, la cual restaura el contador de programa y la PSW del programa
interrumpido, prosiguiéndose así su ejecución sin que éste sea consciente de que ha
sido interrumpido. A esta forma de realizar la E/S se le llama E/S controlada por
interrupción.
2. CANAL es un pequeño procesador de E/S (es decir, un ordenador que sólo entiende
instrucciones de E/S), su utilidad es proporcionar DMA a varios dispositivos,
resultando más económico que tener un controlador DMA por dispositivo.
Por concurrencia se entiende la existencia de varias actividades simultáneas o
paralelas. Ejemplo de ello lo constituye la superposición de las operaciones de E/S con
el proceso de computación. Otro ejemplo lo constituye la concurrencia de varios
programas que se conmutan en un procesador. Aunque esta concurrencia no es real
en un instante dado (si sólo existe un procesador), sí es real en un intervalo más
amplio de tiempo.
Utilización de los recursos con multiprogramación