La multiprogramación permite que varios procesos compartan la memoria principal y la CPU de forma pseudo-paralela, aprovechando los tiempos de espera de E/S de cada proceso para ejecutar otros. Esto aumenta la utilización de los recursos e incrementa la eficiencia al permitir el servicio simultáneo a múltiples usuarios. Las interrupciones transfieren el control de la CPU entre procesos cuando uno realiza una operación de E/S, pasando la ejecución a otro proceso en espera.