Operativni sustav je najvažniji softver i srce računala koje ne samo da upravlja memorijom i procesima unutar računala, već omogućava korisnicima pokretanje aplikacijskog softvera. To je skupni skup programa koji apstraktno hardver sustava i korisnicima predstaviti kompletni virtualni stroj. Osim osnovnih zadataka kao što su praćenje datoteka ili mapa, kontrola perifernih uređaja, slanje izlaza na zaslon, OS služi i višim svrhama kao što su višeprogramiranje i više zadataka kako bi se osiguralo da se programi koji se izvode istovremeno ne ometaju. Moderni operativni sustavi ne samo da omogućuju paralelnu obradu, već i zajedničko korištenje vremena što je samo koncept višeprogramiranja. Multitasking je samo rudimentarni oblik multiprograma koji se koristi u različitom kontekstu.
Višeprogramiranje je mogućnost da više računala može koristiti računalo odjednom koristeći jedan CPU. Ideja je učinkovito iskoristiti procesor za stvaranje više gotovih postupaka, pri čemu svaki postupak pripada drugom korisniku. Ako se trenutni proces zaustavi iz nekog razloga, jer mora čekati neki određeni događaj, operativni sustav dodjeljuje CPU drugom procesu u redu. Čitava operacija je omogućena višeprogramiranjem operativnih sustava za maksimalno korištenje CPU-a tako da se smanji vrijeme mirovanja CPU-a. Ideja je CPU zauzeti što je duže moguće.
Multitasking znači istodobno izvršavanje više procesa od strane jednog korisnika na istom računalu koristeći više CPU-a. Na primjer, u operacijskom sustavu za obavljanje više zadataka možete raditi s riječnim dokumentom s jednim programom dok istovremeno slušate glazbu s drugim programom. Multitasking je učinkovit kada programi na računalu zahtijevaju visok stupanj paralelizma. Temelji se na konceptu dijeljenja vremena jer se više postupaka ili zadataka može prebacivati u skladu s tim u pravilnom intervalu, tako da korisnici dobivaju ideju da se izvode istovremeno.
Izraz multiprogramiranje rudimentaran je oblik paralelne obrade, što znači da se više procesa odvija istovremeno u jednom procesoru. Izraz se koristi u modernim operativnim sustavima kada se više programa ili procesa pokreće na jednom procesoru, a posao OS-a je da svim procesima upravlja učinkovito i učinkovito. Multitasking se odnosi na sposobnost OS-a da izvršava više zadataka odjednom koristeći više CPU-a. U osnovi koristi dva ili više CPU-a unutar jednog sustava za raspodjelu zadataka koji dijele zajedničke resurse, uključujući CPU i memoriju.
Multiprogramiranje se temelji na konceptu zamjene konteksta, što je standardni postupak koji olakšava prebacivanje CPU-a iz jednog procesa u drugi koristeći jedan procesor. Pohranjuje stanje aktivnog procesa za CPU u bloku upravljačkog procesa (PCB) tako da se postupak nastavlja iz istog stanja. S druge strane, multitasking se temelji na konceptu dijeljenja vremena, što je tehnika koja se koristi da se svakom korisniku pruži dio vremenski podijeljenog sustava koji omogućava korisnicima istodobno dijeljenje istih resursa. To je logično proširenje multiprograma.
Oba termina imaju gotovo isto značenje i uobičajeni su izrazi koji se koriste u modernim operativnim sustavima, ali s različitim ciljevima. Koncept višeprogramiranja temelji se isključivo na mogućnosti računala da pohranjuje programe ili upute za duže vremensko razdoblje kako bi se smanjilo vrijeme neaktivnosti CPU-a. Raspodjela procesa vrši se algoritmom planiranja. OS istodobno izvršava dio jednog programa, a slijedi dio drugog programa i tako dalje. U operacijskom sustavu za obavljanje više zadataka, CPU omogućuje pokretanje više procesa istovremeno dijeljenjem vremena i izvršava ih u skladu s tim.
U operacijskom sustavu s više programa, ideja je osigurati potpunu transparentnost između korisnika jer više korisnika dijeli isti CPU koji se brzo prebacuje s jednog korisnika na drugog kako bi se poboljšala upotreba CPU-a. Omogućuje učinkovito i učinkovito raspodjelu resursa bez interakcije korisnika sa sustavom. OS izvršava dio programa i drugi program, ali čini se da se svi programi izvršavaju istovremeno. U operacijskom sustavu za obavljanje više zadataka, korisnici se zamjenjuju programima ili procesima, a svaki postupak zauzima prilično vremena CPU-a. Proces se odvija tako brzo da se čini da se istovremeno izvršavaju više zadataka.
Ukratko, oba se termina često zajedno upotrebljavaju za predstavljanje modernih operativnih sustava, ali s različitim ciljevima i funkcionalnošću. Dok operativni sustav s više programa omogućuje istovremeno pokretanje više programa pomoću jednog procesora, operativni sustav s više zadataka omogućuje istovremeno izvršavanje više procesa ili zadataka koristeći više CPU-a. Multiprogramiranje se temelji na kontekstnom prebacivanju koje ne dopušta CPU da radi u stanju mirovanja, čime se maksimizira korištenje CPU-a, dok se više zadataka temelji na dijeljenju vremena, jer se više zadataka može prebacivati prema prioritetu u redovitim intervalima za maksimalno postizanje performansi CPU-a.