Classificazione dei sistemi operativi
Prima generazione
L'evoluzione delle architetture dei calcolatori segna anche l'evoluzione dei sistemi operativi. Durante la prima generazione, i calcolatori erano basati sulle valvole e praticamente non vi era un sistema operativo. Erano sistemi dedicati quasi esclusivamente per il calcolo numerico/scientifico ed erano in possesso solo di poche università. 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 sistemi operativi erano assenti e venivano svolti solo controlli fisici d'integrità delle valvole; solo negli ultimi anni si introdussero i primi sistemi a schede perforate.
Seconda generazione – Batch (gestione a lotti)
La seconda generazione è determinata dall'introduzione dei transistor. I calcolatori potevano essere prodotti e venduti a clienti ma erano ancora poco diffusi a causa del prezzo molto elevato e quindi usati solo da università e grandi industrie. Nascono figure professionali distinte nel processo di produzione di un programma (Job). È definito 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 così via. Per minimizzare questi tempi e utilizzare al massimo la potenza dei calcolatori vennero introdotti i sistemi Batch: vengono eliminati 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 sequenza 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.
-
Sistemi operativi - Thread nei sistemi operativi
-
Sistemi operativi
-
Sistemi operativi
-
Sistemi Operativi