Višeprogramski operativni sustav je onaj koji krajnjim korisnicima omogućuje pokretanje više od jednog programa istovremeno. Razvoj takvog sustava, prvog tipa koji je omogućio ovu funkcionalnost, bio je veliki korak u razvoju sofisticiranih računala. Tehnologija radi tako što dopušta središnjoj procesorskoj jedinici (CPU) računala da prelazi između dva ili više pokrenutih zadataka kada je CPU u stanju mirovanja.
Rana računala su uglavnom bila posvećena izvršavanju jednog programa – ili, točnije, jednog zadatka pokrenutog programom – u isto vrijeme. Razumijevanje koncepta zadataka ključno je za razumijevanje funkcioniranja operacijskog sustava s više programa. “Zadatak” je mali slijed naredbi koje, kada se kombiniraju, sadržavaju izvršavanje pokrenutog programa. Na primjer, ako je program kalkulator, jedan zadatak programa bio bi snimanje brojeva koje unosi krajnji korisnik.
Višeprogramski operativni sustav djeluje tako što analizira trenutnu aktivnost CPU-a u računalu. Kada je CPU u stanju mirovanja – kada je između zadataka – ima priliku iskoristiti to vrijeme zastoja za pokretanje zadataka za drugi program. Na taj se način funkcije nekoliko programa mogu izvršavati uzastopno. Na primjer, kada CPU čeka da krajnji korisnik unese brojeve za izračunavanje, umjesto da bude potpuno neaktivan, može pokrenuti učitavanje komponenti web stranice kojoj korisnik pristupa.
Glavna prednost ove funkcionalnosti je da može smanjiti izgubljeno vrijeme u radu sustava. Kao iu poslu, učinkovitost je ključ za generiranje najveće dobiti od poduzeća. Korištenje ove vrste operacijskog sustava eliminira gubitak u sustavu osiguravajući da CPU računala radi na maksimalnom kapacitetu veći dio vremena. To rezultira lakšim računalnim iskustvom s gledišta krajnjeg korisnika, budući da se programske naredbe stalno izvode u pozadini u svakom trenutku, čime se ubrzava izvođenje programa.
Višeprogramski operativni sustav uvelike je zamijenjen novom generacijom operacijskog sustava poznatog kao operativni sustavi za više zadataka. U operacijskom sustavu s više zadataka, sustav ne mora čekati dovršetak zadatka prije nego što pređe na rad na aktivnom programu. Umjesto toga, može prekinuti pokrenuti program u bilo kojem trenutku kako bi prebacio svoje CPU resurse na drugi aktivni program. To omogućuje dinamičniji pristup rukovanju istodobnim programima.