La multiprogramación es 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.
Con la multiprogramación, la ejecución de los procesos se va solapando en el
tiempo a tal velocidad, que causa la impresión de realizarse en paralelo (simultáneamente). Se trata de un paralelismo simulado, dado que la CPU sólo puede trabajar con un proceso cada vez (el proceso activo). De ahí que, en rigor, se diga que la CPU ejecuta concurrentemente (no simultáneamente) varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal.
En la imagen vemos como hay un determinado tiempo para cada proceso.