Sistema operativo
ƒ Il Sistema Operativo gestisce le risorse
hw e sw del sistema di elaborazione
ƒ Facilita l'interazione tra utente e sistema
Fondamenti di Informatica
1
Evoluzione del
sistema operativo
ƒ Nato come insieme di programmi di
utilità generale
ƒ Accezione moderna: rivestimento
software che
ƒ nasconde la macchina reale
ƒ rende disponibile una macchina virtuale
(intesa come insieme di servizi)
Fondamenti di Informatica
2
La struttura gerarchica del calcolatore
Software applicativo
Software di base
Hardware
ƒ Hardware: struttura fisica del calcolatore
ƒ Software di base: insieme di programmi per
ƒ comunicazioni tra le componenti
ƒ gestione delle risorse
ƒ utilizzo del calcolatore mediante programmi in linguaggi di alto livello
ƒ Software applicativo: programmi per il trattamento e la
soluzione di classi di applicazioni
Fondamenti di Informatica
3
Classificazione dei S.O.
rispetto alle funzionalità
ƒ Sistemi interattivi
ƒ l'utente, attraverso un terminale, comanda
l'esecuzione delle diverse fasi
ƒ comodo e flessibile (per la messa a punto)
ƒ Sistemi a lotti (o batch)
ƒ la sequenza deve essere decisa a priori
ƒ scomodo, ma utilizzato per processi lunghi
o per l'esecuzione finale
Fondamenti di Informatica
4
Classificazione dei S.O.
rispetto alla struttura
ƒ Diverse tecniche di gestione delle risorse:
ƒ monoprogrammazione
ƒ multiprogrammazione
ƒ multielaborazione
ƒ La scelta dipende anche dal tipo di
calcolatore e dalle sue caratteristiche hw
Fondamenti di Informatica
5
Monoprogrammazione
ƒ E' il modo più semplice per gestire un
elaboratore
ƒ il S.O. gestisce in modo sequenziale i
diversi programmi, uno per volta
ƒ poca efficienza dell'hw a causa della
diversa velocità tra CPU e periferiche
Fondamenti di Informatica
6
Multiprogrammazione
ƒ Vengono gestiti simultaneamente più
programmi indipendenti; gestione ottimale
ƒ Il S.O. è molto più complesso:
ƒ carica contemporaneamente più programmi
ƒ mentre uno è in attesa, ne esegue un altro
ƒ la scelta dipende dalla priorità
ƒ problemi di starvation; meccanismi di alternanza;
time-sharing;
Fondamenti di Informatica
7
Multielaborazione
ƒ Più CPU o più elaboratori cooperano
nell'esecuzione dei programmi
ƒ Problematiche molto complesse
ƒ Richiedono speciali architetture dei
sistemi di elaborazione
ƒ Sono lo stato dell'arte della tecnologia
corrente
Fondamenti di Informatica
8
Multielaborazione
ƒ Può esservi multielaborazione non solo a
livello di sistema di elaborazione, ma
anche a livello di CPU (parallelismo)
ƒ La CPU può essere caratterizzata da diversi
livelli di parallelismo:
ƒ parallelismo di parola
ƒ parallelismo spaziale (o parallelismo sui dati)
ƒ parallelismo di istruzione
Fondamenti di Informatica
9