vuoi
o PayPal
tutte le volte che vuoi
CLASSIFICAZIONE DEI S.O.
L'evoluzione delle architetture dei calcolatori segna anche l'evoluzione dei sistemi operativi. In ordine
cronologico:
Prima generazione
I calcolatori erano basati sulle valvole e praticamente non vi era S.O. Erano sistemi dedicati quasi esclusivamente
per il calcolo numerico/scientifico ed erano in possesso solo di poche universita. C'era un unico staff per qualsiasi
operazione
venisse effettuata sul calcolatore: dal progetto e costruzione, all'esecuzione dei programmi e manutenzione. Tutti i
programmi erano scritti in linguaggi macchina (non esisteva l’assembler); i linguaggi di programmazione ad alto
livello erano sconosciuti; i s.o. erano assenti e venivano svolti solo controlli fisici d'integrita delle valvole; solo
negli ultimi anni, si introdussero i primi sistemi a schede perforate.
Seconda generazione – BATCH (GESTIONE A LOTTI)
Determinata dall'introduzione dei transistor. I calcolatori potevano essere prodotti e venduti a clienti ma ancora
poco diffusi a causa del prezzo molto elevato e quindi usati solo da Universita e grandi industrie. Nascono figure
professionali distinte nel processo di produzione di un programma (JOB). È deifinito Job un programma o
insieme di programmi. Il processo di esecuzione di un programma era eseguito nel seguente modo: il
programmatore scriveva il programma su carta (in Fortran o Assembler ), perforava le schede e le consegnava
all'operatore, che le inseriva nella coda dei programmi, le inseriva nel calcolatore e, se necessario, caricava il
compilatore adeguato per la corretta esecuzione del programma. Infine consegnava l'output finale al
programmatore. L'esecuzione di un programma richiedeva una cospicua spesa in termini di tempo, perchè il
calcolatore doveva caricare il compilatore, eseguire il compilatore, scaricare il compilatore, caricare l'assembler,
eseguire l'assembler, scaricarlo, caricare l'oggetto, eseguire il programma e cosi via. Per minimizzare questi tempi
e utilizzare al massimo la potenza dei calcolatori vennero introdotti i sistemi Batch: vengono elimininati i tempi
morti tra programmi successivi di utenti diversi e vengono automatizzate le operazioni manuali. Vengono
accorpati i lavori (job) in lotti (batch), operazione svolta da un calcolatore ausiliario e trasferito su un'unità di
ingresso veloce (nastro). Ogni lavoro veniva caricato da un'operatore ed eseguito in sequnza senza interruzione
fino al termine. L'output veniva scritto su un nastro invece di essere stampato. La CPU risultava comunque
sottoutilizzata a causa della lentezza delle periferiche di I/O, a cui si doveva adeguare. Servivano due sistemi
distinti: uno per la gestione dei lotti, uno per l’esecuzione dei programmi. Vi era quindi un primo calcolatore di
potenza contenuta che si occupava della gestione dei lotti Questi venivano poi caricati sul calcolatore vero e
proprio che si occupava di eseguire le operazioni. Come output veniva fornito un nastro magnetico, che veniva
passato ad un successivo calcolatore che forniva in output la stampa dei risultati.
Terza generazione – MULTITASKING
Vengono introdotti i circuiti integrati e la multiprogrammazione.Con la multiprogrammazione più di un processo
viene caricato in memoria contemporaneamente. Le operazioni di I/O di un processo sono sovrapposte
temporalmente all'esecuzione delle istruzioni di un altro processo. Ciò è possibile grazie al canale che gestisce
l'I/O.