El término multiprogramación es una forma rudimentaria de procesamiento paralelo que significa que varios procesos se ejecutan simultáneamente al mismo tiempo en un solo procesador. El término se usa en los sistemas operativos modernos cuando se ejecutan varios programas o procesos en un solo procesador y es tarea del sistema operativo administrar todos los procesos de manera efectiva y eficiente.
La multitarea se refiere a la capacidad del sistema operativo para ejecutar múltiples tareas a la vez utilizando múltiples CPU. Básicamente, utiliza dos o más CPU en un solo sistema para la asignación de tareas que comparten recursos comunes, incluidos el CPU y la memoria.
Ambos términos comparten casi el mismo significado y son los términos comunes utilizados en los sistemas operativos modernos, pero con objetivos diferentes. El concepto de multiprogramación se basa únicamente en la capacidad de la computadora para almacenar programas o instrucciones durante un período de tiempo más prolongado para reducir el tiempo de inactividad de la CPU. La asignación del proceso se realiza a través del algoritmo de programación. El sistema operativo ejecuta parte de un programa a la vez, seguido de una parte de otro programa y así sucesivamente. En un sistema operativo multitarea, la CPU permite que múltiples procesos se ejecuten simultáneamente a través del tiempo compartido y los ejecuta en consecuencia.