Un sistema operativo multiprogrammazione è quello che consente agli utenti finali di eseguire più di un programma alla volta. Lo sviluppo di un tale sistema, il primo tipo a consentire questa funzionalità, è stato un passo importante nello sviluppo di computer sofisticati. La tecnologia funziona consentendo all’unità di elaborazione centrale (CPU) di un computer di passare da due o più attività in esecuzione quando la CPU è inattiva.
I primi computer erano in gran parte dedicati all’esecuzione di un programma o, più precisamente, di un’attività avviata da un programma alla volta. Comprendere il concetto di attività è la chiave per capire come funziona un sistema operativo multiprogrammazione. Un “task” è una piccola sequenza di comandi che, quando combinati, comprende l’esecuzione di un programma in esecuzione. Ad esempio, se il programma è una calcolatrice, un’attività del programma sarebbe la registrazione dei numeri immessi dall’utente finale.
Un sistema operativo multiprogrammazione agisce analizzando l’attività corrente della CPU nel computer. Quando la CPU è inattiva, quando si trova tra le attività, ha l’opportunità di utilizzare quel tempo di inattività per eseguire attività per un altro programma. In questo modo è possibile eseguire in sequenza le funzioni di più programmi. Ad esempio, quando la CPU è in attesa che l’utente finale inserisca i numeri da calcolare, invece di essere completamente inattiva, può eseguire il caricamento dei componenti di una pagina Web a cui l’utente sta accedendo.
Il vantaggio principale di questa funzionalità è che può ridurre il tempo sprecato nelle operazioni del sistema. Come in un’azienda, l’efficienza è la chiave per generare il massimo profitto da un’impresa. L’utilizzo di questo tipo di sistema operativo elimina gli sprechi nel sistema garantendo che la CPU del computer funzioni alla massima capacità per la maggior parte del tempo. Ciò si traduce in un’esperienza di elaborazione più fluida dal punto di vista dell’utente finale, poiché i comandi del programma vengono costantemente eseguiti in background in ogni momento, contribuendo a velocizzare l’esecuzione dei programmi.
Il sistema operativo multiprogrammazione è stato ampiamente soppiantato da una nuova generazione di sistemi operativi noti come sistemi operativi multitasking. In un sistema operativo multitasking, il sistema non deve attendere il completamento di un’attività prima di passare a lavorare su un programma attivo. Invece, può interrompere un programma in esecuzione in qualsiasi momento per spostare le sue risorse della CPU su un altro programma attivo. Ciò fornisce un approccio più dinamico alla gestione dei programmi concorrenti.