SISTEMI OPERATIVI
(A.A. 2010/11)
Corso di Studi in Informatica - Universita' degli Studi di Napoli Federico II
Orario: Lunedi 8.30-10.30, Mercoledi 16.30 - 18.30
Programma :
Cos’e’ un sistema operativo, Sistemi di calcolo, evoluzione e funzionalita' dei sistemi operativi. Funzionamento di un sistema di calcolo, e interazione con i sistemi operativi. Supporto hardware per i sistemi operativi. Componenti e servizi dei sistemi operativi. Progettazione e struttura dei sistemi operativi.
I processi: concetto e sua realizzazione. operazioni sui processi, comunicazione tra processi. I threads. Modelli di implementazione di threads. Esempi di realizzazione di processi e threads nei sistemi operativi. Scheduling dei processi. Algoritmi di scheduling: FCFS, SJF, RR, con priorita'. Scheduling per sistemi in tempo reale.
Programmazione concorrente: il problema della sincronizzazione e della sezione critica. Supporto hardware per sincronizzazione. I semafori. Problemi significativi di sincronizzazione dei processi
Lo stallo dei processi. La prevenzione dello stallo, il concetto di stato sicuro. L'algoritmo del banchiere. Il ripristino dopo uno stallo.
La gestione della memoria: avvicendamento dei processi. Assegnazione contigua. Assegnazione non contigua: paginazione e segmentazione. La gestione della memoria virtuale: paginazione su richiesta, creazione dei processi, assegnazione della memoria, paginazione. Esempi di gestione della memoria nei sistemi operativi.
Il file system: file e directory. metodi di accesso. Montaggio dei file system, condivisione e protezione. Realizzazione e gestione del file system. Gestione dello spazio libero.
La memoria secondaria: struttura e caratteristiche. Gli algoritmi di scheduling del disco. I sistemi RAID.
Due casi di studio: Linux e Windows.
I sistemi di I/O: architettura, dispositivi, interfaccia e sottosistema per l'I/O.
Un esempio di sistema operativo special purpose: i sistemi multimediali. Scheduling dei processi, organizzazione del file system e gestione della memoria secondaria
Cenni ai sistemi operativi per sistemi distribuiti. organizzazione hardware e software, gestione dei processi e della memoria, sincronizzazione e coordinamento distribuito, file system distribuiti.
Libri di testo consigliati:
|
|
![]() |
![]() |
|
Silberschatz, Galvin, Gauge Sistemi Operativi – VIII ed.- Pearson ed.- Addison Wesley
Deitel, Deitel, Choffnes - Sistemi operativi, 3a ed. - Addison Wesley
Ancillotti, Boari, Ciampolini, Lipari - Sistemi Operativi , II ed. - McGraw Hill
Tanenbaum - I moderni sistemi operativi - 3a ed. - Pearson ed
nota: uno qualunque dei quattro libri va bene, nel senso che, con le ovvie differenze, tutti gli argomenti del corso sono coperti. comunque:
Silberschatz e’ un testo classico che dice tutto cio’ che riguarda il funzionamento e le componenti di un s.o. ma non sempre ne spiega le motivazioni e come si e’ giunti a quella particolare soluzione. Molto migliorato nell'VIII edizione.
Deitel bilancia bene aspetti metodologici e profesisonali. Uno degli autori ha partecipato alla stesura di numerosi s.o. del passato. Sono presenti molti spunti di riflessione e viene prima posto il problema e poi viene mostrato come si e’ arrivati alla soluzione. contiene moltissimi spunti storici e di curiosita’. Manca di alcune parti del programma.
Uno dei pochi libri scritti da autori italiani all'altezza dei piu' famosi testi stranieri. E' un libro prevalentemente di tipo didattico, scritto da docenti universitari italiani ed ha il vantaggio di essere pensato e strutturato per la riforma universitaria italiana e quindi risulta di dimensioni ridotte e piu' economico rispetto agli altri. Piu' completa e migliorata la seconda edizione ma mancano alcune parti del programma.
Tanenbaum e’ quello piu’ tecnico. Poiche’ l’autore ha sviluppato per intero un s.o. entra spesso nel dettaglio (riferimenti a particolarita’ dell’hw e assembler). La profonda comprensione dei s.o. da parte dell' autore fa si che e' un buon libro non solo dal punto di vista didattico, ma fornisce anche spunti relativi alla progettazione dei s.o.
Materiale didattico A.A. 2009/2010
Le copie dei lucidi non sostituiscono i libri di testo. Essi hanno lo scopo primario di tenere traccia delle lezioni, in maniera da fornire alla fine del corso una panoramica completa degli argomenti da studiare con relativi esercizi. I lucidi riportati di seguito si riferiscono alle lezioni tenute negli anni precedenti e pertanto possono differire da quelli effettivamente proiettati a lezione.
introduzione ai S.O. | |
lezione 2 | funzioni, servizi e struttura dei S.O. |
interazione tra hardware e S.O. | |
lezione 4 | il sottosistema di I/O |
i processi | |
lezione 6 | i threads |
esercitazione 1 | esercizi su processi e trheads |
lezione 7 | scheduling dei processi |
esercitazione 2 | esercizi su scheduling dei processi |
lezione 8 | la sincronizzazione dei processi |
esercitazione 3 | esercizi su sincronizzazione dei processi |
lezione 9 | gestione della memoria |
esercitazione 4 | esercizi sulla memoria |
lezione 10 | la memoria virtuale |
esercitazione 5 | esercizi sulla memoria virtuale |
lezione 11 | la memoria secondaria |
esercitazione 6 | esercizi su memoria secondaria |
lezione 12 | il file system |
esercitazione 7 | esercizi sul file system |
lezione 13 | Case study 1: Linux |
lezione 14 | Case study 2: Windows |
esercitazione 8 | esercizi su windows e linux |
lezione 15 | lo stallo dei processi |
esercitazione 9 | esercizi sullo stallo dei processi |
lezione 16 | sistemi operativi multimediali |
esercitazione 10 | esercizi su sistemi multimediali |
lezione 17 | introduzione ai s.o. distribuiti |
lezione 18 | lo scheduling dei processi e la gestione della memoria nei s.o. distribuiti |
lezione 19 | coordinazione distribuita |
lezione 20 | file system distribuiti |
lezione 21 | cenni alla sicurezza |
NEW!!! Sul sito del progetto di E-learning dell'Universita di Napoli Federico II http://www.federica.unina.it/corsi/sistemi-operativi-2/ sono presenti le lezioni registrate in formato mp4 (audio e video) da scaricare in podcast !!! Utile per studenti lavoratori, per chi intende ripetere la lezione o per chi OCCASIONALMENTE salta la lezione.
ESAMI
modalita': DA DEFINIRE
prossime date appelli: controllare il sito del corso di laurea
mettiti alla prova! un esempio di compito scritto (dell'A.A. 2005/06 !! ) per l'esame puoi trovarlo qui