Multiprogramare vs sisteme de partajare a timpului
Multiprogramarea este alocarea a mai mult de un program concurent pe un sistem informatic și resursele acestuia. Multiprogramarea permite utilizarea eficientă a CPU, permițând diverșilor utilizatori să utilizeze eficient CPU și dispozitivele I/O. Multiprogramarea se asigură că procesorul are întotdeauna ceva de executat, crește astfel utilizarea procesorului. Pe de altă parte, Time sharing 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 într-un singur sistem informatic în același timp, ar reduce costul furnizării de capabilități de calcul.
Ce este sistemul de programare multiplă?
Multiprogramarea este comutarea rapidă a CPU între mai multe programe. Un program este, în general, format din mai multe sarcini. O sarcină se termină de obicei cu o cerere de mutare a datelor care ar necesita executarea unor operațiuni I/O. Multitasking-ul a fost de obicei făcut pentru a menține CPU-ul ocupat, în timp ce programul care rulează în prezent efectuează operațiuni I/O. În comparație cu alte instrucțiuni de execuție, operațiunile I/O sunt extrem de lente. Chiar dacă un program conține un număr foarte mic de operațiuni I/O, cea mai mare parte a timpului necesar programului este cheltuit pe acele operațiuni I/O. Prin urmare, folosirea acestui timp inactiv și permițând unui alt program să utilizeze procesorul în acel moment va crește utilizarea procesorului. Multiprogramarea a fost dezvoltată inițial la sfârșitul anilor 1950 ca o caracteristică a sistemelor de operare și a fost folosită pentru prima dată în calculul mainframe. Odată cu introducerea memoriei virtuale și a tehnologiilor mașinilor virtuale, utilizarea multiprogramarii a fost îmbunătățită.
Ce este sistemul de partajare a timpului?
Time sharing, care a fost introdus în anii 1960, este partajarea 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 având 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, CPU-ul este alocat utilizatorilor la terminale pentru o perioadă scurtă de timp, astfel un utilizator dintr-un terminal are senzația că are un CPU dedicat în spatele terminalului său. Perioada scurtă de timp în care o comandă este executată pe un sistem de partajare a timpului se numește interval de timp sau cuantum de timp. Odată cu dezvoltarea internetului, sistemele de partajare a timpului au devenit mai populare, deoarece fermele de servere scumpe ar putea găzdui un număr foarte mare de clienți care împart aceleași resurse. Întrucât site-urile web funcționează în principal în explozii de activitate urmate de perioade de inactivitate, timpul de inactivitate al unui client ar putea fi folosit eficient de celăl alt, fără ca vreunul dintre ei să observe întârzierea.
Care este diferența dintre sistemul de multiprogramare și sistemul de partajare a timpului?
Principala diferență dintre multiprogramare și partajarea timpului este că multiprogramarea este utilizarea eficientă a timpului CPU, permițând mai multor programe să folosească procesorul în același timp, dar partajarea timpului este partajarea unei instalații de calcul de către mai mulți utilizatori care doresc să folosească aceeași facilitate în același timp. Fiecare utilizator dintr-un sistem de partajare a timpului are propriul terminal și are senzația că folosește singur CPU. De fapt, sistemele de partajare a timpului folosesc conceptul de multiprogramare pentru a partaja timpul CPU între mai mulți utilizatori în același timp.