Sistemi di multiprogrammazione vs Time Sharing
La multiprogrammazione è l'assegnazione di più di un programma concorrente su un sistema informatico e le sue risorse. La multiprogrammazione consente di utilizzare la CPU in modo efficace consentendo a vari utenti di utilizzare efficacemente i dispositivi CPU e I / O. La multiprogrammazione assicura che la CPU abbia sempre qualcosa da eseguire, aumentando così l'utilizzo della CPU. D'altra parte, la condivisione del tempo è la condivisione delle risorse di elaborazione tra più utenti allo stesso tempo. Poiché ciò consentirà a un gran numero di utenti di lavorare contemporaneamente in un singolo sistema informatico, si ridurrebbe il costo di fornire funzionalità di calcolo.
Cos'è il sistema di multiprogrammazione?
La multiprogrammazione è la rapida commutazione della CPU tra diversi programmi. Un programma è generalmente costituito da diversi compiti. Un'attività di solito termina con alcune richieste di spostamento dei dati che richiederebbero l'esecuzione di alcune operazioni di I / O. Il multitasking è stato fatto comunemente per mantenere la CPU occupata, mentre il programma attualmente in esecuzione sta eseguendo operazioni di I / O. Rispetto ad altre istruzioni di esecuzione, le operazioni di I / O sono estremamente lente. Anche se un programma contiene un numero molto piccolo di operazioni di I / O, la maggior parte del tempo impiegato per il programma viene speso per quelle operazioni di I / O. Pertanto, utilizzando questo tempo di inattività e consentendo a un altro programma di utilizzare la CPU in quel momento, si aumenterà l'utilizzo della CPU. La multiprogrammazione è stata inizialmente sviluppata verso la fine degli anni '50 come caratteristica dei sistemi operativi ed è stata inizialmente utilizzata nell'elaborazione di mainframe. Con l'introduzione della memoria virtuale e delle tecnologie delle macchine virtuali, è stato migliorato l'uso della multiprogrammazione.
Cos'è il Time Sharing System?
La condivisione del tempo, che è stata introdotta negli anni '60, è la condivisione delle risorse di elaborazione tra più utenti allo stesso tempo. Nei sistemi di condivisione del tempo, diversi terminali sono collegati a un singolo server dedicato con la propria CPU. Le azioni / i comandi eseguiti dal sistema operativo di un sistema di condivisione del tempo hanno un intervallo di tempo molto breve. Pertanto la CPU viene assegnata agli utenti ai terminali per un breve periodo di tempo, quindi un utente in un terminale ha la sensazione di avere una CPU dedicata a lei dietro il suo terminale. Il breve periodo di tempo in cui un comando viene eseguito su un sistema di condivisione del tempo è chiamato una porzione di tempo o un quantum del tempo. Con lo sviluppo di Internet, i sistemi di condivisione del tempo sono diventati più popolari in quanto costose server farm potrebbero ospitare un numero molto elevato di clienti che condividono le stesse risorse. Poiché i siti web operano principalmente in scoppi di attività seguiti da periodi di inattività, il tempo di inattività di un cliente potrebbe essere utilizzato in modo efficace dall'altro, senza che nessuno di essi noti il ritardo.
Qual è la differenza tra il sistema di multiprogrammazione e il sistema di condivisione del tempo?
La differenza principale tra la multiprogrammazione e la condivisione del tempo è che la multiprogrammazione è l'effettivo utilizzo del tempo della CPU, consentendo a diversi programmi di utilizzare la CPU nello stesso tempo ma la condivisione del tempo è la condivisione di una struttura informatica da parte di diversi utenti che desiderano utilizzare la stessa funzione allo stesso tempo. Ogni utente su un sistema di condivisione del tempo ha il proprio terminale e ha la sensazione di utilizzare solo la CPU. In realtà, i sistemi di condivisione del tempo utilizzano il concetto di multiprogrammazione per condividere il tempo di CPU tra più utenti contemporaneamente.