Operētājsistēma ir vissvarīgākā programmatūra un datora sirds, kas ne tikai pārvalda atmiņu un procesus datora iekšienē, bet arī ļauj lietotājiem palaist lietojumprogrammatūru. Tas ir kolektīvs programmu komplekts, kas abstrahē sistēmas aparatūru un piedāvā lietotājiem pilnu virtuālo mašīnu. Papildus pamata uzdevumiem, piemēram, failu vai direktoriju izsekošanai, perifēro ierīču kontrolei, izvades nosūtīšanai uz displeja ekrānu, OS kalpo arī augstākiem mērķiem, piemēram, daudzprogrammēšanai un daudzuzdevumu veikšanai, lai pārliecinātos, ka vienlaikus darbinātās programmas netraucē viena otru. Mūsdienu operētājsistēmas ne tikai atvieglo paralēlu apstrādi, bet arī laika dalīšanu, kas ir tikai daudzprogrammēšanas jēdziens. Daudzuzdevumu veikšana ir tikai rupjveidīga daudzprogrammēšanas forma, ko izmanto citā kontekstā.
Daudzprogrammēšana ir iespēja vairākiem lietotājiem vienlaikus izmantot datoru, izmantojot vienu centrālo procesoru. Ideja ir efektīvi izmantot procesoru, lai izveidotu vairākus gatavus darbam procesus, un katrs process pieder dažādiem lietotājiem. Ja pašreizējais process kāda iemesla dēļ apstājas, jo tam jāgaida kāds noteikts notikums, operētājsistēma piešķir CPU citam rindā esošam procesam. Visu darbību atvieglo daudzprogrammēšanas operētājsistēmas, lai maksimāli palielinātu CPU izmantošanu, lai samazinātu CPU dīkstāves laiku. Ideja ir saglabāt CPU aizņemtu pēc iespējas ilgāk.
Daudzuzdevumu veikšana nozīmē vairāku procesu vienlaicīgu izpildi, ko viens lietotājs veic vienā datorā, izmantojot vairākus CPU. Piemēram, daudzuzdevumu operētājsistēmā varat strādāt ar Word dokumentu ar vienu programmu, vienlaikus klausoties mūziku, tāpat kā ar citu programmu. Daudzuzdevumu sniegšana ir efektīva, ja datoriem paredzētajām programmām ir nepieciešama augsta paralēlisma pakāpe. Tas ir balstīts uz laika dalīšanas koncepciju, jo vairākus procesus vai uzdevumus var attiecīgi pārslēgt ar regulāru laika intervālu, lai lietotājiem rastos priekšstats, ka tie tiek veikti vienlaikus..
Termins multiprogramming ir rudimentārs paralēlās apstrādes veids, kas nozīmē, ka vairāki procesi vienlaikus notiek vienlaikus ar vienu procesoru. Šis termins tiek izmantots modernajās operētājsistēmās, kad vienā procesorā darbojas vairākas programmas vai procesi, un OS uzdevums ir efektīvi un produktīvi pārvaldīt visus procesus. Daudzuzdevumu sniegšana attiecas uz OS spēju vienlaikus izpildīt vairākus uzdevumus, izmantojot vairākus centrālos procesorus. Tas pamatā vienā sistēmā izmanto divus vai vairākus CPU, lai sadalītu uzdevumus, kuriem ir kopīgi resursi, ieskaitot CPU un atmiņu.
Daudzprogrammēšana ir balstīta uz konteksta pārslēgšanas jēdzienu, kas ir standarta procedūra, kas atvieglo CPU pārslēgšanu no viena pavediena procesa uz citu, izmantojot vienu CPU. Tas CPU aktīvā procesa stāvokli saglabā procesa vadības blokā (PCB), lai process atsāktu no tā paša stāvokļa. Savukārt vairākuzdevumu pamatā ir laika dalīšanas jēdziens, kas ir paņēmiens, ko izmanto, lai katram lietotājam nodrošinātu daļu laika dalītas sistēmas, kas lietotājiem ļauj vienlaikus dalīties ar vieniem un tiem pašiem resursiem. Tas ir daudzprogrammēšanas loģisks paplašinājums.
Abiem terminiem ir gandrīz vienāda nozīme un tie ir parastie termini, ko lieto mūsdienu operētājsistēmās, taču ar atšķirīgiem mērķiem. Daudzprogrammēšanas koncepcija ir balstīta tikai uz datora spēju uzglabāt programmas vai instrukcijas ilgāku laika periodu, lai samazinātu CPU dīkstāves laiku. Procesa sadalījums tiek veikts, izmantojot plānošanas algoritmu. OS vienlaikus izpilda vienas programmas daļu, kam seko citas programmas daļa utt. Daudzuzdevumu operētājsistēmā CPU ļauj vairākiem procesiem vienlaikus darboties, izmantojot laika dalīšanu, un tos attiecīgi izpilda.
Vairāku programmu veidošanas operētājsistēmā ideja ir nodrošināt pilnīgu caurspīdīgumu starp lietotājiem, jo vairākiem lietotājiem ir viens un tas pats CPU, kas ātri pārslēdzas no viena lietotāja uz otru, lai uzlabotu CPU izmantošanu. Tas ļauj efektīvi un lietderīgi sadalīt resursus bez lietotāja mijiedarbības ar sistēmu. OS izpilda programmas daļu, kurai seko cita programma, taču šķiet, ka visas programmas tiek izpildītas vienlaicīgi. Daudzuzdevumu operētājsistēmā lietotāji tiek aizstāti ar programmām vai procesiem, un katrs process aizņem diezgan daudz CPU laika. Process notiek tik ātri, šķiet, ka vairāki uzdevumi tiek izpildīti vienlaicīgi.
Īsumā, abi termini bieži tiek izmantoti kopā ar otru, lai attēlotu mūsdienīgas operētājsistēmas, taču ar atšķirīgiem mērķiem un funkcionalitāti. Kamēr daudzprogrammējoša operētājsistēma ļauj vairāk nekā vienai programmai darboties vienlaicīgi, izmantojot vienu CPU, daudzuzdevumu operētājsistēma ļauj vienlaikus veikt vairākus procesus vai uzdevumus, izmantojot vairākus CPU. Daudzprogrammēšana balstās uz konteksta pārslēgšanu, kas neļauj CPU sēdēt dīkstāvē, tādējādi maksimāli palielinot CPU izmantošanu, turpretī daudzuzdevumu veikšana balstās uz laika dalīšanu, jo vairākus uzdevumus var pārslēgt atbilstoši prioritātei regulāros laika intervālos, lai nodrošinātu maksimālu CPU darbību..