Un sistem de operare cu multiprogramare este unul care permite utilizatorilor finali să ruleze mai mult de un program simultan. Dezvoltarea unui astfel de sistem, primul tip care a permis această funcționalitate, a reprezentat un pas major în dezvoltarea calculatoarelor sofisticate. Tehnologia funcționează permițând unității centrale de procesare (CPU) a unui computer să comute între două sau mai multe sarcini de rulare atunci când CPU este inactiv.
Calculatoarele timpurii erau în mare parte dedicate executării unui program – sau, mai precis, a unei sarcini inițiate de un program – la un moment dat. Înțelegerea conceptului de sarcini este cheia pentru înțelegerea modului în care funcționează un sistem de operare cu multiprogramare. O „sarcină” este o secvență mică de comenzi care, atunci când sunt combinate, cuprinde execuția unui program care rulează. De exemplu, dacă programul este un calculator, o sarcină a programului ar fi înregistrarea numerelor introduse de utilizatorul final.
Un sistem de operare cu multiprogramare acționează prin analizarea activității curente a CPU din computer. Când procesorul este inactiv – când se află între sarcini – are posibilitatea de a folosi acel timp de nefuncționare pentru a rula sarcini pentru alt program. În acest fel, funcţiile mai multor programe pot fi executate secvenţial. De exemplu, atunci când CPU așteaptă ca utilizatorul final să introducă numere pentru a fi calculate, în loc să fie complet inactiv, poate rula încărcarea componentelor unei pagini web pe care o accesează utilizatorul.
Principalul beneficiu al acestei funcționalități este că poate reduce timpul pierdut în operațiunile sistemului. La fel ca într-o afacere, eficiența este cheia pentru a genera cel mai mare profit dintr-o întreprindere. Utilizarea acestui tip de sistem de operare elimină risipa în sistem, asigurându-se că CPU-ul computerului rulează la capacitate maximă mai mult timp. Acest lucru are ca rezultat o experiență de calcul mai fluidă din punctul de vedere al utilizatorului final, deoarece comenzile programului sunt executate în mod constant în fundal în orice moment, ajutând la accelerarea execuției programelor.
Sistemul de operare cu multiprogramare a fost înlocuit în mare măsură de o nouă generație de sisteme de operare cunoscute sub numele de sisteme de operare multitasking. Într-un sistem de operare multitasking, sistemul nu trebuie să aștepte finalizarea unei sarcini înainte de a trece la lucru la un program activ. În schimb, poate întrerupe un program care rulează în orice moment pentru a-și muta resursele CPU către un alt program activ. Aceasta oferă o abordare mai dinamică a gestionării programelor concurente.