elenco   
        corso   

Sistemi Operativi + Laboratorio di Informatica IV A

(Corso di Laurea in Informatica (quinquennale))

Codice: 4I056Crediti: 18Semestre: 2Sigla: SO1 

Docente

Piero Maestrini   maestrin@di.unipi.it  Tel. 0502212700

Descrizione

Il corso è una introduzione ai principi e al progetto dei sistemi operativi e tratta essenzialmente i concetti e le tecniche che consentono di coordinare le risorse del sistema di elaborazione. Vengono analizzati i meccanismi che permettono a più attività di svolgersi contemporaneamente e indipendentemente sul medesimo sistema e trasformano la macchina fisica in una macchina astratta, dotata di funzionalità più potenti e più convenienti per l'utente. La macchina astratta incorpora anche le politiche necessarie per gestire le risorse, ripartendole in modo efficiente tra le varie attività.

Il corso si sviluppa attraverso successive astrazioni basate sul modello concorrente, che vengono concretizzate in termini di strutture dati e di algoritmi. Vengono considerati e analizzati i problemi di gestione delle risorse fisiche (come il processore o i processori, la memoria, i dispositivi di ingresso/uscita e di memoria secondaria) e di quelle astratte (come gli archivi). Viene dato ampio spazio al collegamento tra gli aspetti modellistici e quelli progettuali del sistema operativo. A questo fine vengono proposti numerosi esempi che coprono le principali problematiche e, nel loro complesso, sviluppano incrementalmente le componenti essenziali di un sistema operativo.

Programma

Richiami di struttura del calcolatore. (2 ore)

Processore, memoria, dispositivi di ingreso/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.

Il modello concorrente. (8 ore)

Concetto di processo; stato e transizioni di stato. Separazione degli spazi; condivisione di codice e di dati. Interazione tra processi e paradigmi di interazione: condivisione di dati, sincronizzazione, comunicazione. Condivisione di dati: sezioni critiche e mutua esclusione; sua realizzazione con meccanismi del processore e con protocolli eseguiti dai processi (lock/unlock). Sincronizzazione: modello booleano e produttore-consumatore; protocolli per la sincronizzazione. Comunicazione: designazione del mittente e del destinatario, sincronismo o asincronismo. Dipendenze tra i paradigmi di interazione. Interazione con i processi esterni. Generazione e terminazione di processi.

Nucleo e processi. (15 ore)

Modelli di organizzazione del sistema operativo. Realizzazione dei processi: descrittore e altre strutture dati; meccanismi di protezione. Semafori e primitive P e V; loro applicazione alla sincronizzazione, alla mutua esclusione e alla comunicazione; semafori privati. Primitive per la comunicazione, per la sincronizzazione con i processi esterni e per la generazione e terminazione. La gestione del processore: politiche elementari, gestione a pił livelli.

Le risorse. (4 ore)

Modelli di gestione delle risorse. Politiche elementari per la gestione. Il problema dello stallo: caratterizzazione, metodi per evitarlo, impedirlo, riconoscerlo ed eliminarlo. Attesa indefinita. Alcuni problemi classici.

Gestione dei dispositivi. (7 ore)

Dispositivi e processi di controllo. Gestione dei dispositivi a caratteri. Gestione del temporizzatore. Gestione dei dispositivi a blocchi con speciale riguardo per i dischi magnetici; politiche di ordinamento; politiche con memoria cache. Dispositivi virtuali: archivi sequenziali in memoria secondaria.

Gestione della memoria. (8 ore)

Gestione statica: partizioni fisse e variabili, paginazione statica. Gestione dinamica: swapping, paginazione dinamica. Modelli per la gestione dinamica della memoria: il concetto di localitą e di working set. Algoritmi di sostituzione

Gestione degli archivi. (4 ore)

Modello logico del sistema di archiviazione. Struttura fisica degli archivi e del sistema di archiviazione. Protezione e sicurezza del sistema di archiviazione.

Ore lezione: 75Ore esercitazione: 45   

Bibliografia

P. Maestrini: "Sistemi operativi" . McGraw-Hill Italia, Milano, 1994.

Modalità di esame:

Prova scritta, sostituibile dai compitini, e prova orale. L'ammissione alla prova orale conseguita con i compitini è valida per l'intero anno accademico.

Modalità di esame

Scritto e orale

home


email