elenco   
        corso   

Sistemi Operativi + Laboratorio di Informatica IV D

(Corso di Diploma in Informatica)

Codice: 5I010Crediti: 18Semestre: 2Sigla: SO1 

Docente

Maurizio Bonuccelli   bonucce@di.unipi.it  Stanza 294  Tel. 0502212755

Prerequisiti

I prerequisiti sono una sufficiente conoscenza della struttura del calcolatore e una buona padronanza delle strutture dati e dei loro algoritmi fondamentali.

Obiettivi di apprendimento

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.

English Description

This introductory course is devoted to the presentation of the foundations and basic techniques used in operating systems design, with emphasis on resource coordination. The mechanisms allowing the simultaneous and independent working of interacting and competing entities, transforming the physical machine into an abstract one, are presented., as well as the techniques adopted for the mamagement of the devices typical of a modern computer.

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. (16 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, ordinamento a scadenza.

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. (10 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: gestione di archivi sequenziali in memoria secondaria; SPOOL di uscita.

Gestione della memoria. (10 ore)

Gestione statica: partizioni fisse e variabili, paginazione statica, segmentazione statica. Overlay. Gestione dinamica: swapping, paginazione dinamica, segmentazione dinamica. Segmentazione combinata con paginazione. Modelli per la gestione dinamica della memoria: il concetto di località e di working set. Algoritmi di sostituzione.

Ore lezione: 75Ore esercitazione: 45   

Bibliografia

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

Modalità di esame


Ulteriore pagina web del corso: http://www.di.unipi.it/~bonucce/bonucce.html


home


email