Differenza tra multiprogrammazione e sistemi di condivisione di tempo

Anonim

Multiprogramming vs sistemi di condivisione di tempo

La multiprogrammazione è l'assegnazione di più programmi concorrenti su un sistema informatico e le sue risorse. La multiprogrammazione consente di utilizzare la CPU in modo efficace consentendo a vari utenti di utilizzare in modo efficace i dispositivi di 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 di tempo è la condivisione di risorse di calcolo tra più utenti contemporaneamente. Poiché questo permetterà a un gran numero di utenti di lavorare in un unico sistema informatico allo stesso tempo, ridurrebbe il costo di fornire funzionalità di calcolo.

Che cosa è il sistema multiprogrammazione?

La programmazione multipla è la commutazione rapida della CPU tra diversi programmi. Un programma è generalmente composto da svariati compiti. Un compito normalmente termina con una certa richiesta di spostamento di dati che richiedono che venga eseguita un'operazione di I / O. Il multitasking è stato fatto per mantenere la CPU occupata, mentre il programma in esecuzione sta facendo 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 ridotto di operazioni di I / O, la maggior parte del tempo impiegato per il programma viene speso per queste operazioni di I / O. Pertanto, utilizzando questo tempo di inattività e consentendo ad un altro programma di utilizzare la CPU in quel momento aumenta l'utilizzo della CPU. La multiprogrammazione è stata inizialmente sviluppata alla fine degli anni '50 come una caratteristica dei sistemi operativi ed è stata prima utilizzata nel computer mainframe. Con l'introduzione di tecnologie della memoria virtuale e della macchina virtuale, l'uso di multiprogrammi è stato migliorato.

Che cosa è il Time Sharing System?

La condivisione di tempo, introdotta negli anni '60, è la condivisione di risorse di calcolo tra più utenti contemporaneamente. Nei sistemi di condivisione di tempo, diversi terminali sono collegati ad un singolo server dedicato dotato di propria CPU. Le azioni / i comandi eseguiti dal sistema operativo di un sistema di time sharing hanno un periodo 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 ottiene la sensazione di avere una CPU dedicata dietro il suo terminale. Il periodo di tempo breve che un comando viene eseguito in un sistema di condivisione di tempo è chiamato una fetta di tempo o un quantum di tempo. Con lo sviluppo di Internet, i sistemi di condivisione di tempo sono diventati più popolari poiché le aziende server a costi contenuti potrebbero ospitare un gran numero di clienti che condividono le stesse risorse. Poiché i siti web operano principalmente in esplosioni di attività seguite da periodi di tempo inattivo, 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 Multiprogramming e il Time Sharing System?

La differenza principale tra la multiprogrammazione e la condivisione del tempo è che la multiprogrammazione è l'efficace utilizzo del tempo della CPU, consentendo a più programmi di utilizzare contemporaneamente la CPU, ma la condivisione di tempo è la condivisione di un impianto di calcolo da parte di diversi utenti che vogliono utilizzare la stessa struttura contemporaneamente. Ogni utente su un sistema di condivisione di tempo ottiene il proprio terminale e ha la sensazione di usare la CPU da solo. In realtà, i sistemi di condivisione di tempo utilizzano il concetto di multiprogramming per condividere contemporaneamente il tempo della CPU tra più utenti.