Multiprogramiranje protiv sistema za dijeljenje vremena
Multiprogramiranje je dodjela više od jednog istovremenog programa na računarskom sistemu i njegovim resursima. Multiprogramiranje omogućava efikasno korišćenje CPU-a omogućavajući različitim korisnicima da efikasno koriste CPU i I/O uređaje. Multiprogramiranje osigurava da CPU uvijek ima nešto za izvršavanje, čime se povećava iskorištenost CPU-a. S druge strane, dijeljenje vremena je dijeljenje računarskih resursa između nekoliko korisnika istovremeno. Budući da će to omogućiti velikom broju korisnika da istovremeno radi u jednom računarskom sistemu, to bi smanjilo troškove pružanja računarskih mogućnosti.
Šta je multiprogramski sistem?
Multiprogramiranje je brzo prebacivanje CPU-a između nekoliko programa. Program se uglavnom sastoji od nekoliko zadataka. Zadatak se obično završava sa nekim zahtjevom za premještanje podataka koji bi zahtijevao neke I/O operacije da se izvrše. Multitasking se obično obavljao da bi se CPU održao zauzetim, dok trenutno pokrenuti program radi I/O operacije. U poređenju sa drugim izvršnim instrukcijama, I/O operacije su izuzetno spore. Čak i ako program sadrži vrlo mali broj I/O operacija, većina vremena potrebnog za program se troši na te I/O operacije. Stoga će korištenje ovog vremena mirovanja i dopuštanje drugom programu da koristi CPU u to vrijeme povećati iskorištenost CPU-a. Multiprogramiranje je prvobitno razvijeno kasnih 1950-ih kao karakteristika operativnih sistema i prvi put je korišćeno u mainframe računarstvu. Uvođenjem tehnologije virtuelne memorije i virtuelnih mašina poboljšana je upotreba multiprogramiranja.
Šta je sistem podjele vremena?
Time sharing, koji je uveden 1960-ih, je dijeljenje računarskih resursa između nekoliko korisnika u isto vrijeme. U sistemima za podjelu vremena, nekoliko terminala je spojeno na jedan namjenski server koji ima vlastiti CPU. Akcije/naredbe koje izvršava operativni sistem sistema za podjelu vremena imaju vrlo kratak vremenski raspon. Stoga se CPU dodjeljuje korisnicima na terminalima na kratak vremenski period, tako da korisnik na terminalu ima osjećaj da iza svog terminala ima CPU posvećen sebi. Kratak vremenski period u kojem se naredba izvršava na sistemu za podjelu vremena naziva se vremenski odsječak ili vremenski kvantum. Sa razvojem interneta, sistemi za podjelu vremena postali su popularniji jer skupe farme servera mogu ugostiti vrlo veliki broj korisnika koji dijele iste resurse. Budući da web stranice funkcionišu uglavnom u naletima aktivnosti praćene periodima neaktivnosti, vrijeme mirovanja jednog korisnika mogao bi efikasno koristiti drugi, a da niko od njih ne primijeti kašnjenje.
Koja je razlika između sistema multiprogramiranja i sistema za podjelu vremena?
Glavna razlika između multiprogramiranja i dijeljenja vremena je u tome što je multiprogramiranje efektivno korištenje procesorskog vremena, dozvoljavajući nekoliko programa da koriste CPU u isto vrijeme, ali je podjela vremena dijeljenje računarskog objekta od strane nekoliko korisnika koji žele koristiti isti objekat u isto vrijeme. Svaki korisnik na sistemu za podjelu vremena dobija svoj terminal i ima osjećaj da sam koristi CPU. Zapravo, sistemi za podjelu vremena koriste koncept multiprogramiranja da dijele CPU vrijeme između više korisnika u isto vrijeme.