Diferența dintre sistemele de multiprogramare și de partajare a timpului

Anonim

Multiprogramare vs sisteme de partajare a timpului

Multiprogramarea este alocarea a mai multor programe concurente pe un sistem informatic și resursele sale. Multiprogramarea permite utilizarea eficientă a procesorului, permițând diferiților utilizatori să utilizeze eficient dispozitivele CPU și I / O. Multiprogramarea asigură că procesorul are întotdeauna ceva de executat, astfel crește utilizarea procesorului. Pe de altă parte, partajarea de timp este partajarea resurselor de calcul între mai mulți utilizatori în același timp. Deoarece acest lucru va permite unui număr mare de utilizatori să lucreze simultan într-un singur sistem de calcul, ar reduce costul de furnizare a capacităților de calcul.

Ce este Sistemul de multiprogramare?

Multiprogramarea este comutarea rapidă a procesorului între mai multe programe. Un program este în general compus din mai multe sarcini. De obicei, o sarcină se încheie cu o anumită solicitare de mutare a datelor, ceea ce ar necesita executarea unor operații de I / O. Multitasking-ul a fost făcut în mod obișnuit pentru a menține CPU-ul ocupat, în timp ce programul care rulează în prezent efectuează operații I / O. În comparație cu alte instrucțiuni de executare, operațiile I / O sunt extrem de lente. Chiar dacă un program conține un număr foarte mic de operații I / O, cea mai mare parte a timpului necesar programului este cheltuit pentru acele operații I / O. Prin urmare, utilizarea acestui timp de inactivitate și permiterea unui alt program de a utiliza CPU-ul în acel moment va crește utilizarea procesorului. Multiprogramarea a fost inițial dezvoltată la sfârșitul anilor 1950 ca o caracteristică a sistemelor de operare și a fost folosită pentru prima dată în computerele mainframe. Odată cu introducerea tehnologiilor de memorie virtuală și mașini virtuale, utilizarea multiprogramării a fost îmbunătățită.

Ce este sistemul de distribuire a timpului?

Partajarea de timp, introdusă în anii 1960, este împărțirea resurselor de calcul între mai mulți utilizatori în același timp. În sistemele de partajare a timpului, mai multe terminale sunt atașate unui singur server dedicat care are propriul CPU. Acțiunile / comenzile executate de sistemul de operare al unui sistem de partajare a timpului au un interval de timp foarte scurt. Prin urmare, procesorul este atribuit utilizatorilor la terminale pentru o perioadă scurtă de timp, astfel că un utilizator dintr-un terminal are sentimentul că are un CPU dedicat ei în spatele terminalului. Perioada scurtă de timp în care o comandă este executată pe un sistem de partajare a timpului se numește o secvență de timp sau un cuantum de timp. Odată cu dezvoltarea internetului, sistemele de partajare a timpului au devenit mai populare, din moment ce fermele de servere costisitoare ar putea găzdui un număr foarte mare de clienți care au aceleași resurse. Dat fiind că site-urile web operează în principal în explozii de activitate urmate de perioade de timp de așteptare, timpul de ralanti al unui client ar putea fi folosit eficient de celălalt, fără ca nici unul dintre aceștia să observe întârzierea.

Care este diferența dintre sistemul de multiprogramare și sistemul de partajare a timpului?

Diferența principală între multiprogramare și partajarea timpului este că multiprogramarea este utilizarea eficientă a timpului CPU, permițând mai multor programe să utilizeze CPU-ul în același timp, dar partajarea de timp este partajarea unei facilități de calcul de către mai mulți utilizatori care doresc să folosească aceeași facilitate în același timp. Fiecare utilizator pe un sistem de partajare a timpului își obține propriul terminal și are sentimentul că utilizează numai CPU-ul. De fapt, sistemele de partajare a timpului folosesc conceptul de multiprogramare pentru a împărți timpul de procesare între mai mulți utilizatori în același timp.