Sistemi operativi/Funzioni base: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 48:
 
=== Il caricatore ===
Ci si rese rapidamente conto che tale procedimento era inefficiente, perché mentre l'operatore sostituiva i nastri e le schede, l'elaboratore era inutilizzato. Inoltre, per sfruttare l'elaboratore, occorreva la presenza continua di almeno un operatore.
Pertanto, si passò in seguito al seguente procedimento.
 
* I pacchi di schede e i nastri perforati relativi a più elaborazioni venivano caricati in sequenza su uno stesso nastro magnetico, usando un dispositivo digitale dedicato, che non (inputimpegnasse offline)l'elaboratore.
* I programmi applicativi erano progettati in modo da leggere i dati escusivamente da un nastro magnetico e scrivere i risultati esclusivamente su un altro nastro magnetico.
* L'elaboratore aveva a disposizione più unità a nastro magnetico, almeno due per la scrittura e due per la lettura. In tal modo, mentre l'operatore sostituiva un nastro, l'elaboratore ne utilizzava un altro.
* Un dispositivo digitale dedicato permetteva di stampare il contenuto di un nastro, (outputsenza offline)impegnare l'elaboratore.
Con tale procedimento, fin tanto che i nastri di ingresso contenevano dati da elaborare e i dati di uscita avevano spazio per ricevere risultati, l'elaboratore non aveva mai tempi morti.
 
Tuttavia, per ottenere questo risultato, è stato necessario sviluppare il primo rudimentale sistema operativo.
Il compito di tale software, caricato in memoria all'accensione dell'elaboratore, era eseguire la seguente sequenza di operazioni:
# Caricare in memoria principale il prossimo programma incontenuto memoria principale dallnell'unità nastro di ingresso.
# Avviare l'esecuzione del programma caricato.
# Quando il programma ha finito l'esecuzione, tornare al punto 1.
Questo software di base era un semplice caricatore ("loader"), ma, pur occupando pocaun po' di memoria principale, consentiva una notevole riduzione dei tempi morti, a condizione che i programmi fossero corretti.
Si tenga presente che stiamo parlando di elaboratori con 16 o 32 KB (non GB né MB) di memoria principale, ma del costo orario pari a quello di decine di impiegati.
 
=== Il monitor residente ===