La '''multiprogrammazione''' è un tipo di [[programmazione]] che garantisce l'[[Esecuzione (informatica)|esecuzione]] di più [[Processo|processi]] su un [[Computer|sistema]] contemporaneamente.
Le motivazioni per cui si usa la multiprogrammazione sono che questa garantisce un aumento di prestazioni e allo stesso tempo un risparmio di risorse.
== Tipologia ==
Esistono principalmente due tipi di multiprogrammazione:
*Tipo [[batch]]: in cui non c'è [[interattività]] con l'[[utente]]. L'obiettivo di questo tipo di multiprogrammazione è la massimizzazione delle prestazioni.
*Tipo [[time-sharing]]: in cui si permette a più utenti di utilizzare contemporaneamente e interattivamente lo stesso [[Computer|sistema]], massimizzando la praticità d'uso, a scapito delle prestazioni.
Per ''grado di multiprogrammazione'' si indica la capacità di un sistema di poter eseguire più [[Processo (informatica)|processi]] in [[Memoria (informatica)|memoria]].