Corso di Sistemi Operativi, AA 2007

Corso di Sistemi Operativi, AA 2007-2008.
Programma Preliminare
---------------------------------------------week 1-----------------------------------------------------Giov.20/9/07(2h)
Sito web. Modalita' esame, provette, documentazione, esercizi.
Concetti Generali
Architettura di un calcolatore, punti di vista: macchina astratta, gestione risorse,
architettura. Servizi di un SO. Overhead, modalita' operative processore
Ven.21/9/06(3h)
classificazione SO, storia dei SO, architettura interna, UNIX,
Programmazione concorrente
Cos’e’ un processo: processi come ambiente, indipendenza dei processi
Modelli a coda d’attesa di un SO.
Pseudocodice di uno schedulatore, concorrenza, gestione della concorrenza. Time
sharing, context switch.
Processi concorrenti e Thread
--------------------------------------------week 2-----------------------------------------------------Giov.04/10/07(2h)
Spooling, risorse, file. IPC di System V. Stati di un processo.
Concorrenza.. Generazione processi, thread, grafo alle precedenza, problemi della
concorrenza, identificatori del processo,
Ven.05/10/07(3h)
Programmazione multithread. Libreria utente. Thread di sistema e di utente. Java.
Ruolo della shell, redirezione I/O, pipe, processi in background/foreground.
Rappresentazione della concorrenza per il processo Read-Exec-Scrivi
---------------------------------------------week 3----------------------------------------------------Giov.11/10/07(2h)
Concorrenza. Come si crea la concorrenza. Fork e join. Cobegin e coend. Grafi
delle precedenze Mutua esclusione_esempio con prod/cons. Arbitro. Soluzioni hw
e architetturali
Ven.12/10/07(3h)
Soluzioni sw: alternanza stretta, Peterson. Semafori. Protezione di sezioni critiche
con semafori
-------------------------------------------week 4-----------------------------------------------------Giov.18/10/07(2h)
Thread in Java. Creazione di thread. Creazione di un grafo alle precedenze.
Semafori in Java. Protezione di sezioni critiche
Ven.19/10/07(3h)
Scrittura in Java di problemi classici : produttore/consumatore, barbiere,
lettori/scrittori Sincronizzazione, problema dei 5 filosofi. Stallo. Concetti di
determinatezza.
Gestione risorse: gestione del processore
Iniziato a parlare di schedulazione
20h---------------------------------week 5-----------------------------------------------------Giov.25/10/07(2h) Prima provetta: concetti generali, concorrenza: soluz. Sw e
semafori
Ven.26/10/07(3h)
Schedulazione FIFO e SJF, prioritaria (Unix), predizione del tempo di elab., RR.
Schedulazione SRJF, selfish, feedback.
--------------------------------------------week 6-----------------------------------------------------Giov.1/11/07(2h) sospesa
Ven.2/11/07(3h) ponte
--------------------------------------------week 7------------------------------------------------------Giov.8/11/07(2h)
Gestione risorse: gestione della memoria
Gestione memoria contigua, partizioni fisse, variabili, regola del 50%,
Ven.9/11/07(3h)
Gestione memoria paginata, esempio di indirizzi virtuali, divisione innr. pagina
virtuale e offsett, pagina fisica, traduzione, PMT, traduzione indirizzi, dimensione
ottima di pagina considerando frammentazione e dimensione della pmt
30h----------------------------------------week 8-----------------------------------------------------Giov.15/11/07(2h)
Gestione memoria paginata. Esempio pratico di gestione pmt, rimpiazzamento
LRU e FIFO, anomalia FIFO, Working set, TLB, trashing.
Gestione risorse: gestione della memoria di massa
Ven.16/11/07(3h)
Introduzione ai dischi, struttura, limiti, tempo di accesso, parametri disco, RPM,
settore: header, CRC (cenni), gap CPU-disco memoria di massa. Tempi latenza,
seek, trasferimento. Esempio di tempo di lettura contigua e frammentata, gestione
coda disco (fifo, sstf,scan) , disk cache, raid,: striping, ECC) cenni file systems
journaled, ext2-3, NTFS.
--------------------------------------------week 9------------------------------------------------------Giov.22/11/07(2h)
UNIX:
UNIX: file system, protezione dei file in Unix, UFDT, file table Rivisto INODE,
nr. Link, protezione file. File possono essere condivisi, i blocchi dati no. Rivedere
le tabelle UFDT e Filetable.
Ven.23/11/07(3h).
Comandi Unix
--------------------------------------------week 10----------------------------------------------------Giov.29/11/07(2h) seconda provetta: scrittura di piccoli programmi java di thread
concorrenti, schedulazione, gestione memoria.
Ven.30/11/07(3h)
Unix internal
40h-----------------------------------------week 11---------------------------------------------------Giov.6/12/07(2h)
esercitazione sulle macchine di facolta’
Ven.7/12/07(3h).
Programmazione Korn shell
50h---------------------------------------week 12----------------------------------------------------Giov.13/12/07(2h) 2a provetta: stallo, schedulazione, gestione memoria, unix internal
Ven. 14/12/07
Programmazione in Perl
--------------------------------------------week 13---------------------------------------------------Giov.20/12/07(2h)
2° esercitazione sulle macchine di facoltà
Ven. 21/12/07(3h)
3a provetta: gestione dischi, comandi Unix, programmazione Shell e Perl
60h