La '''multiprogrammazione''' è un tipo di programmmazione che garantisce l'esecuzione di più processi su un 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:
1. la multiprogrammazione di tipo [[batch]] in cui non c'è interattività con l'[[utente]]. L'obiettivo di questo tipo di multiprogrammazione è la massimizzazione delle prestazioni.
2. la multiprogrammazione di 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.