Sistema operativo
Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione
Facilita l'interazione tra utente e sistema
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)
La struttura gerarchica del calcolatore
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
Hardware
Software di base Software applicativo
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
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
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
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;
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
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)