Multiprogramación

La multiprogramación es una forma rudimentaria de procesamiento paralelo en el que se ejecutan varios programas al mismo tiempo en un monoprocesador. Dado que solo hay un procesador, no puede haber una verdadera ejecución simultánea de diferentes programas. En cambio, el sistema operativo ejecuta parte de un programa, luego parte de otro y así sucesivamente. Para el usuario, parece que todos los programas se ejecutan al mismo tiempo.

Si la máquina tiene la capacidad de causar una interrupción después de un intervalo de tiempo específico, entonces el sistema operativo ejecutará cada programa durante un período de tiempo determinado, recuperará el control y luego ejecutará otro programa durante un período de tiempo determinado, y así sucesivamente. En ausencia de este mecanismo, el sistema operativo no tiene más remedio que comenzar a ejecutar un programa con la expectativa, pero no la certeza, de que el programa finalmente devolverá el control al sistema operativo.

Si la máquina tiene la capacidad de proteger la memoria, entonces es menos probable que un error en un programa interfiera con la ejecución de otros programas. En un sistema sin protección de memoria, un programa puede cambiar el contenido del almacenamiento asignado a otros programas o incluso el almacenamiento asignado al sistema operativo. Los fallos del sistema resultantes no solo son perjudiciales, sino que pueden ser muy difíciles de depurar, ya que puede que no sea obvio cuál de varios programas es el culpable.

Ver también: multiproceso, multitarea, multiprocesamiento