Programma
del Corso di
Sistemi
Operativi
A.A.
1997/98
Prof. Luigi V. Mancini
1. Introduzione e richiami
[M] cap 1 e cap 3.
Struttura del calcolatore; processore, memoria,
dispositivi di ingresso/uscita e di memoria secondaria. Stato utente e supervisore,
istruzioni privilegiate. Sistema di interruzione e sistema di accesso diretto
alla memoria. Sistemi uniprocessore e multiprocessore.
Evoluzione storica dei sistemi operativi; principali servizi e funzioni del
sistema operativo.
2. I processi [M] cap 4, cap
5 e 7.1.2.
Il modello dei processi; stato e transizioni
di stato; interazioni tra processi. Processi esterni come rappresentazione dei
dispositivi. Strutture dati associate ai processi; realizzazione delle transizioni
di stato. Condivisione di variabili e problema della mutua esclusione: sezioni
critiche. Tecniche e algoritmi per la mutua esclusione. Tentativi di soluzione
software, algoritmi di Peterson. Meccanismi per la sincronizzazione: semafori
e primitive P e V. Esempi di uso di semafori: produttore-consumatore con buffer
limitato, problema dei lettori-scrittori. Definizione di monitor. Operazioni
wait e signal su variabili condizione. Esempi di uso di monitor. Realizzazione
con semafori del tipo di dato monitor.
3. Gestione del processore
[M] sez 5.8.
Obiettivi della gestione del processore.
Politiche, strutture dati e algoritmi: FIFO, priorità statica e dinamica,
Round-Robin,
code multiple.
4. Gestione dei dispositivi
[M] cap 8 fino a sez. 8.4.2.
Dispositivi e processi di controllo. Sincronizzazione
tra processi interni e processi esterni: interazione con i dispositivi e gestione
dellinterruzione. Gestione dei dispositivi di ingresso e di uscita. Gestione
del disco; algoritmi di ordinamento.
5. Gestione della memoria
[M] cap. 2 e cap 9.
Esecuzione dei programmi. Programmi rilocabili.
Spazio logico e modelli di memoria; collegamento. Spazio fisico e modelli di
assegnazione della memoria; rilocazione e caricamento.
Gestione statica: partizioni fisse e variabili, paginazione. Gestione dinamica:
paginazione, segmentazione, segmentazione combinata con paginazione. Problemi
di realizzazione: supporti hardware per la condivisione e protezione. Modelli
per la gestione dinamica della memoria: il concetto di località e di working
set. Algoritmi di sostituzione. Il problema del thrashing.
6. La gestione degli archivi
[M] cap. 10.
Modello del sistema di archiviazione; archivi
e direttori; operazioni sugli archivi e sui directory. Protezione degli archivi.
Strutture dati del sistema di archiviazione. Aspetti realizzativi.
7. Stallo e attesa indefinita
[M] cap. 6.
Modelli di gestione delle risorse. Stallo
e condizioni sotto le quali si può verificare. Metodi di riconoscimento e di
prevenzione. Politiche di gestione: attesa indefinita e attesa limitata.
8. Il sistema operativo Unix
[B].
Testi di Consultazione:
[M] P. Maestrini, "Sistemi Operativi",
Mc Graw-Hill, 1994. (testo di riferimento)
[B] M. Bach, "Design of the Unix Operaing System", Prentice Hall,
1986.
Indietro
|