Time-sharing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
Correzione di termini tecnici dell'introduzione dell'argomento
 
(35 versioni intermedie di 22 utenti non mostrate)
Riga 1:
{{F|terminologia informatica|febbraio 2013}}
{{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.
 
Il '''time-sharing''' (anche '''timesharing''', altrimenti detto '''ripartizione di tempo''' o '''condivisione di tempo'''), in [[informatica]], è un modo del [[sistema operativo]] rivolto all'uso delle [[risorsa informatica|risorse]] da [[processore|processare]], attraverso il quale l'esecuzione dell'attività dell'[[unità di elaborazione centrale]] viene suddivisa in intervalli temporali. Ogni periodo di tempo è assegnato sequenzialmente a vari [[processo (informatica)|processi]] di uno stesso utente o a processi di più utenti.
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.
 
== Descrizione ==
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.
In italiano è tradotto sia con «ripartizione di tempo» che con «condivisione di tempo». La prima traduzione, ripartizione di tempo, è più fedele rispetto a ciò che effettivamente accade nel sistema operativo, ma meno rispondente al termine inglese e alla sua collocazione storica. La tecnica time-sharing, infatti, fu introdotta come evoluzione di quella [[batch]], per permettere a più utenti contemporaneamente di utilizzare il computer. La sincronia è apparente, poiché in ogni istante il processore centrale esegue un solo processo; il rapido avvicendamento dei processi li fa apparire come eseguiti contemporaneamente.
 
IlLa '''time-sharing''' (termine di origine [[lingua inglese|inglese]] che tradotto letteralmente significa "condivisioneripartizione 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 nonnasce implicaper cherealizzare ilun [[sistema sia [[multiutente]],: mal'unità sedi loelaborazione ècentrale allora più utenti possono, con i loro programmi in esecuzione, interagire con il sistema centralizzato ciascuno con un proprio terminale. Ladel [[CPUcomputer]] del computer centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro ([[contextcommutazione switchdi contesto]]), 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.
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 (computer scientist)|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]].
 
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., Dalpoiché momento che conin questa modalità di utilizzo i computer trascorrevano molto tempo in attesa dell'input dell'utente,. siSi pensò, quindi, 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.
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.
 
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 dial processore addi eseguire 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 (computer scientist)|John McCarthy]] alla fine del 1957. Sebbene egli lo 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 dimostratoreso pubblico 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]],. tuttaviaTuttavia, 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 ==
* [[Cloud computing]]
* [[Multitasking]]
* [[Pre-rilascio]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Controllo di autorità}}
{{Portale|Informatica}}