Time-sharing: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Pil56-bot (discussione | contributi)
smistamento lavoro sporco
Nessun oggetto della modifica
Riga 1: Riga 1:
{{F|terminologia informatica|febbraio 2013}}
{{F|terminologia informatica|febbraio 2013}}
In [[informatica]] il '''time-sharing''' (termine di origine [[lingua inglese|inglese]] che tradotto letteralmente significa "condivisione di tempo") è un approccio all'uso interattivo del [[processore]] in cui l'esecuzione della [[CPU]] viene suddivisa in '''quanti''' temporali. Il time-sharing è l'estensione logica della [[multiprogrammazione]] e non implica che il sistema sia [[multiutente]], ma se lo è allora più utenti possono, con i loro [[programma (informatica)|programmi]] in [[esecuzione (informatica)|esecuzione]], interagire con il sistema centralizzato ciascuno con un proprio terminale. La [[CPU]] del [[computer]] centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro ([[context switch]]) dando così l'impressione ad ognuno di avere a disposizione il computer centrale interamente per sé ovvero dando l'impressione di un processamento multiplo in parallelo di più processi verso più utenti.
{{W|informatica|febbraio 2013}}

Il '''time-sharing''' (termine di origine [[lingua inglese|inglese]] che tradotto letteralmente significa "condivisione di tempo") è un approccio all'uso interattivo del [[processore]]. L'esecuzione della [[CPU]] viene suddivisa in '''quanti''' temporali. Il time-sharing è l'estensione logica della [[multiprogrammazione]] e non implica che il sistema sia [[multiutente]], ma se lo è allora più utenti possono, con i loro programmi in esecuzione, interagire con il sistema centralizzato ciascuno con un proprio terminale. La [[CPU]] del computer centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro ([[context switch]]) dando così l'impressione ad ognuno di avere a disposizione il computer centrale interamente per sé ovvero dando l'impressione di un processamento multiplo in parallelo di più processi verso più utenti.
==Descrizione==


Dal momento che i primi [[computer]] [[mainframe]] erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore per l'uso in modo interattivo. Dal momento che con questa modalità di utilizzo i computer trascorrevano molto tempo in attesa dell'input dell'utente, si pensò di far utilizzare a più utenti lo stesso elaboratore, utilizzando i tempi morti per servire i diversi utenti a rotazione. Allo stesso modo, le piccole porzioni di tempo che trascorrevano nell'attesa dei dispositivi, quali [[disco fisso|dischi]], [[nastro magnetico]] o [[Rete informatica|rete]] potevano essere utilizzati per servire i vari utenti. I computer capaci di fornire servizi in time-sharing normalmente venivano impiegati per lavori in [[batch]] durante la notte.
Dal momento che i primi [[computer]] [[mainframe]] erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore per l'uso in modo interattivo. Dal momento che con questa modalità di utilizzo i computer trascorrevano molto tempo in attesa dell'input dell'utente, si pensò di far utilizzare a più utenti lo stesso elaboratore, utilizzando i tempi morti per servire i diversi utenti a rotazione. Allo stesso modo, le piccole porzioni di tempo che trascorrevano nell'attesa dei dispositivi, quali [[disco fisso|dischi]], [[nastro magnetico]] o [[Rete informatica|rete]] potevano essere utilizzati per servire i vari utenti. I computer capaci di fornire servizi in time-sharing normalmente venivano impiegati per lavori in [[batch]] durante la notte.
Riga 10: Riga 11:


A volte l'invenzione del concetto di time-sharing viene attribuita a [[Christopher Strachey]], tuttavia, sebbene egli abbia utilizzato il termine time-sharing, il concetto che egli descrisse è oggi noto come [[multitasking]]. Il time-sharing è correlato al multitasking nel senso che in ambedue i sistemi un singolo computer esegue più processi in modo che appare simultaneo. Tuttavia il time-sharing fa riferimento ad un computer che supporta più utenti simultaneamente, mentre il multitasking è un termine più ampio che implica l'esecuzione di più [[processo (informatica)|processi]], indipendentemente dal numero degli utenti.
A volte l'invenzione del concetto di time-sharing viene attribuita a [[Christopher Strachey]], tuttavia, sebbene egli abbia utilizzato il termine time-sharing, il concetto che egli descrisse è oggi noto come [[multitasking]]. Il time-sharing è correlato al multitasking nel senso che in ambedue i sistemi un singolo computer esegue più processi in modo che appare simultaneo. Tuttavia il time-sharing fa riferimento ad un computer che supporta più utenti simultaneamente, mentre il multitasking è un termine più ampio che implica l'esecuzione di più [[processo (informatica)|processi]], indipendentemente dal numero degli utenti.



== Voci correlate ==
== Voci correlate ==
* [[Cloud computing]]
* [[Cloud computing]]



{{Portale|Informatica}}
{{Portale|Informatica}}

Versione delle 23:45, 24 feb 2014

In informatica il time-sharing (termine di origine inglese che tradotto letteralmente significa "condivisione di tempo") è un approccio all'uso interattivo del processore in cui l'esecuzione della CPU viene suddivisa in quanti temporali. Il time-sharing è l'estensione logica della multiprogrammazione e non implica che il sistema sia multiutente, ma se lo è allora più utenti possono, con i loro programmi in esecuzione, interagire con il sistema centralizzato ciascuno con un proprio terminale. La CPU del computer centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro (context switch) dando così l'impressione ad ognuno di avere a disposizione il computer centrale interamente per sé ovvero dando l'impressione di un processamento multiplo in parallelo di più processi verso più utenti.

Descrizione

Dal momento che i primi computer mainframe erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore per l'uso in modo interattivo. Dal momento che con questa modalità di utilizzo i computer trascorrevano molto tempo in attesa dell'input dell'utente, si pensò di far utilizzare a più utenti lo stesso elaboratore, utilizzando i tempi morti per servire i diversi utenti a rotazione. Allo stesso modo, le piccole porzioni di tempo che trascorrevano nell'attesa dei dispositivi, quali dischi, nastro magnetico o rete potevano essere utilizzati per servire i vari utenti. I computer capaci di fornire servizi in time-sharing normalmente venivano impiegati per lavori in batch durante la notte.

Da sole, queste soluzioni non erano sufficienti per costruire un sistema di time-sharing perfettamente funzionante. Per fare in modo che il servizio a più utenti fosse uniforme, era necessario un sistema che gestisse anche i processi che non fanno pause per l'attesa di input, quali i programmi che impiegavano molte risorse, ad esempio per calcoli di grande precisione. Si rendeva necessario un sistema di interrupt hardware, capace di mettere in pausa un processo in esecuzione, per dare tempo di processore ad un altro processo in attesa.

Questo concetto fu descritto pubblicamente la prima volta all'inizio del 1957 da Bob Bemer in un articolo nella rivista Automatic Control Magazine. Il primo progetto ad implementare un sistema di time-sharing fu iniziato da John McCarthy alla fine del 1957. Sebbene egli abbandonò per lavorare al Project MAC e ad altri progetti, uno dei risultati del suo lavoro, noto come Computer Time Sharing System o CTSS, fu dimostrato nel novembre 1961 e costituisce, molto probabilmente, il primo sistema di time-sharing, che è rimasto in uso fino al 1973. Il primo tentativo di introduzione commerciale del sistema in time-sharing, che poi si è diffuso ampiamente alla fine degli anni 1960 e nei primi anni 1970 è stato il Dartmouth Time Sharing System o DTSS che è stato implementato per la prima volta al Dartmouth College nel 1964 ed in seguito ha costituito la base del servizio di computer bureau di General Electric.

A volte l'invenzione del concetto di time-sharing viene attribuita a Christopher Strachey, tuttavia, sebbene egli abbia utilizzato il termine time-sharing, il concetto che egli descrisse è oggi noto come multitasking. Il time-sharing è correlato al multitasking nel senso che in ambedue i sistemi un singolo computer esegue più processi in modo che appare simultaneo. Tuttavia il time-sharing fa riferimento ad un computer che supporta più utenti simultaneamente, mentre il multitasking è un termine più ampio che implica l'esecuzione di più processi, indipendentemente dal numero degli utenti.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica