INDIETRO SU AVANTI

Il time-sharing

La metodologia Batch Entry permette la multiplessazione temporale delle risorse di calcolo di un computer, ma:
  1. non permette operazioni interattive a meno di grossi sprechi di tempo
  2. ha considerevoli sprechi di tempo comunque quando il programma in esecuzione sta eseguendo operazioni non direttamente coinvolgenti la CPU, come:

Viene inventata una nuova metodologia di accesso al calcolatore, detta di Time Sharing o suddivisione di tempo.

Il calcolatore ammette la presenza simultanea di piu' job o processi attivi, ma ne esegue uno per volta a rotazione e dedicando ad esso un intervallo di tempo massimo brevissimo, detto time slice. Se il processo che ha l'attenzione non ha in questo istante operazioni di CPU da svolgere, il sistema operativo passa subito al processo successivo, altrimenti esegue le istruzioni di quel processo per un time slice, quindi lo sospende e passa al processo successivo.

La complicatezza del sistema operativo e' notevolmente aumentata:

E' ora possibile avere, oltre che processi batch, anche processi interattivi, le cosiddette operazioni on line. L'utente interagisce interattivamente col sistema tramite un terminale a caratteri collegato all'unita' centrale tramite un collegamento seriale, che inizialmente e' asincrono, poi diviene anche sincrono.

Sorgono problemi, e vengono risolti, concernenti il supporto a varie marche di terminali, alle comunicazioni seriali, ai codici di codifica dei caratteri americani ed internazionali, al polling dei terminali e modalita' di controllo del flusso dati, al trattamento dei metacaratteri di cancellazione, interruzione, ecc.

Vengono risolti anche problemi concernenti:

Molti sistemi Time-Sharing sono stati offerti da ditte produttrici di mainframe, come la IBM. A partire dal 1970 in ambito di ricerca e universitario americano e' stato sviluppato il sistema operativo UNIX come prototipo standard di sistema Time-Sharing.

I sistemi con possibilita' d'accesso da parte di piu' utenti creano nuovi problemi per quanto riguarda l'amministrazione degli utenti e la determinazione dei permessi d'accesso da parte degli utenti ai files e alle strutture logiche del sistema operativo.

Tutti i sistemi Time-Sharing hanno bisogno di una nuova figura, quella dell' amministratore di sistema, con poteri privilegiati rispetto a quelli di un utente normale e responsabilita' notevoli di garantire un servizio continuo, affidabile, efficiente e sicuro.

L'amministratore di sistema diventa il guru del sistema operativo, ed e' tanto piu' bravo quante piu' sono le sue conoscenze ed esperienze tecniche ed operative. Non solo con UNIX, ma anche, p. es., con NT, la bravura dell'amministratore di sistema determina la funzionalita' o meno del sistema Time-Sharing.

UNIX e' nato come sistema operativo che favorisce la cooperazione tra utenti e la formazione di gruppi di lavoro. Il fatto che piu' utenti si possano ora collegare in modalita' interattiva simultaneamente e, tramite connessioni seriali asincrone su linee telefoniche, anche da postazioni remote, ha fatto si' che i sistemi operativi Time-Sharing e in particolare UNIX, fin dalla nascita dessero una forte enfasi all'ambito delle comunicazioni e dello scambio sincrono e asincrono di messaggi, posta, notizie e files.

La necessita' inoltre di operare su linee telefoniche lente e soggette a errori, da terminali di marche diverse e con programmi di controllo diversi, ha determinato: