Home page SO 02/03 corso-C
Modalita'
d'esame
Sommario lezioni ed
esercitazioni
Alcuni siti web
Testo e soluzioni compitino 02/04/2003
Testo e soluzioni compitino 19/05/2003
Testo e soluzioni compito 30/05/2003
Testo e soluzioni compito 19/06/2003
Testo e soluzioni compito 11/07/2003
Testo e soluzioni compito 19/09/2003
Testo e soluzioni compito 15/01/2004
Risultati Compito 5 Febbraio 2004
|
Il corso introduce i principi ed i concetti fondamentali su cui si basano i sistemi operativi e analizza in dettaglio come questi si concretizzano nei sistemi reali. In particolare, vengono analizzate le tecniche che consentono di coordinare e gestire le risorse di un sistema di elaborazione e che permettono di trasformare la macchina fisica in una macchina astratta, dotata di funzionalita' piu' convenienti per l'utente. Il corso lascia ampio spazio alla descrizione e all'esemplificazione di come i vari concetti presentati sono realizzati nei sistemi Unix/Linux e in quelli della famiglia Microsoft Windows. |
|
Andrew S. Tanenbaum I MODERNI SISTEMI OPERATIVI, Seconda Edizione, Jackson Libri (Aprile 2002) ISBN: 8825618980 Euro 51,50 (versione italiana) Il volume e' la traduzione in italiano del testo : Andrew S. Tanenbaum. Modern Operating Systems: Second Edition. Prentice Hall 2001 ISBN 0-13-031358-0 (in Inglese) E' indifferente usare la versione inglese o italiana. Testi di approfondimento: |
|
Prova scritta, sostituibile dai compitini e prova orale. Il programma del corso e' diviso in due parti : (parte A) Introduzione, Processi, Thread, Risorse e Stallo e (parte B) resto del corso. COMPITINI PROVA SCRITTA ATTENZIONE: La partecipazione ad una prova scritta implica la perdita immediata dei voti ottenuti precedentemente. In particolare: se lo studente ripete l'intera prova scritta perde il voto ottenuto nei compitini o nell'ultimo scritto consegnato. Se invece lo studente intende ripetere uno dei due compitini conserva il voto ottenuto null'altro. PROVA ORALE e VOTO FINALE |
Sommario delle Lezioni ed esercitazioni
IMPORTANTE:
---
Gli argomenti delle lezioni non ancora svolte sono suscettibili di
modifica. Controllate sempre la versione piu' aggiornata.
--- Copie cartacee delle trasparenze sono disponibili
presso la copisteria SPEEDY
|
N. |
Argomento |
Lucidi |
Data |
Commenti |
|
1 |
Introduzione |
17/2/03 |
TB capitolo 1 |
|
|
2 |
Processi |
19/2/03 |
Il modello a processi, system call, interruzioni TB capitolo 1 e 2 |
|
|
3 |
Thread |
24/2/03 |
Il modello a thread, thread user level e kernel level, esempi, modelli ibridi TB capitolo 2 |
|
|
4, 5 |
Meccanismi di IPC |
26/2/03 3/3/03 |
Meccanismi di Inter Process Communications (disabilitazione delle interruzioni, TSL, semafori, monitor, scambio messaggi). Soluzione di tipici problemi di interazione con semafori. TB capitolo 2 |
|
|
6 |
Scheduling Processi e Thread in Unix |
5/3/03 |
Problema dello scheduling in sistemi batch ed interattivi, RR, code di priorita'. (TB capitolo 2) Struttura di unix, la SC fork() TB capitolo 10. |
|
|
7 |
Processi e IPC in Unix |
Vedi Lucidi Unix lezione precedente |
10/3/03 |
Creazione di processi : fork, exec. Terminazione di processi: exit, waitpit. Processi idle e processi zombie. Meccanismi di IPC : pipe e segnali. TB Capitolo 10. Per i Segnali integrare con la dispensa di LPS-C e il capitolo 'Unix internals' del Glass (libro di testo di LPS) Home LPS |
|
8 |
Scheduling e thread in Unix |
Vedi Lucidi Unix lezione precedente |
12/3/03 |
Implementazione di processi, user area e process table. I thread POSIX, implementazione dei thread. Scheduling di primo e secondo livello. Scheduling di processi in Unix, Thread scheduling in Linux. TB Capitolo 10 |
|
9 |
Processi e Thread in Windows 2000 Risorse e stallo (1) |
14/3/03 (recupero) |
Windows 2000: Win32 API, job, processi, thread e fibre. Scheduling. TB capitolo 11 Risorse e deadlock, generalita', grafi di Holt, condizioni di Coffman, algoritmo dello struzzo TB capitolo 3 |
|
|
10 |
Risorse e stallo (2) |
Vedi lucidi Risorse lezione precedente |
17/3/03 |
Individuare lo stallo (risorse singole e multiple), prevenire lo stallo (algoritmo del banchiere per risorse di uno o piu' tipi) TB capitolo 3 |
|
11 |
Dispositivi |
18/03/03 (recupero) |
Prevenire lo stallo negando le condizioni di Coffman. Spooling. Struttura del software di I/O. Richiami di hardware, i gestori delle interruzioni. TB capitolo 3 e 5 |
|
|
12 |
Dispositivi |
|
19/03/03 |
Driver dei dispositivi, software di I/O indipendente dal dispositivo, software di I/O in spazio utente. Spooling. Struttura di un disco rigido, i RAID. TB capitolo 5 |
|
13 |
File system : Unix |
24/03/03 |
Dispositivi : formattazione a bassoed alto livello, algoritmi di scheduling del braccio TB capitolo 5 FS di Unix : File, directory, i-node, descrittori di file, tabelladei file aperti, tabella degli i-node, apertura di un file. TB capitolo 10 |
|
|
14 |
|
Esercitazione di riepilogo sulla prima parte del programma. |
26/03/03 |
|
|
16 |
|
|
31/3/03 |
FS di Unix: link, mounting, lock, implementazione FFS di Berkley, Unix V7. TB capitolo 10 |
|
17 |
|
7/4/03 |
Caratteristiche dei file system. Implementazione dei file: allocazione contigua, liste concatenate, FAT, i-node . Implementazione delle directory: le directory in Unix V7 e FAT-16, gestione dei nomi lunghi. Ricerca su directory affollate: funzioni hash, caching. TB capitolo 6 |
|
|
18 |
|
(solo un'ora 16.00--17.00) |
9/4/03 |
Rappresentazione dei blocchi liberi: bitmap, lista libera di blocchi. Settori difettosi: rimpiazzamento, bad, block file. Bacup, consistenza di un file system, fsck. TB Capitolo 6 |
|
-- |
|
(lezione soppressa) |
14/4/03 |
|
|
-- |
|
(lezione soppressa) |
16/4/03 |
|
|
19 |
File system: casi di studio(1-2) |
28/4/03 |
Stable storage, buffer cache, incremento delle prestazioni di un file system. Il file system ISO9660. FAT-12, FAT-16, FAT-32. NTFS. Chiamate Win32 per i File. TB Capitolo 6 e 11 |
|
|
20 |
File system: casi di studio (3) Introduzione alla gestione della memoria, swapping. |
30/4/03 |
||
|
-- |
|
(Lezione soppressa) |
5/5/03 |
|
|
21 |
Paginazione. |
7/5/03 |
. |
|
|
22 |
Algoritmi di sostituzione |
|
12/5/03 |
|
|
|
|
|
Materiale in piu' non trattoto a lezione, su: Gestione della memoria in Unix e Gestione della memoria in Windows |
|
|
23 |
|
Lezione di riepilogo per il secondo compitino |
14/5/03 |
Vedi testi dei compiti al giorno 26/03/2003 |
Alcuni
siti web (curiosita' e puntatori, solo per chi vuole approfondire)
Per gli appassionati di architetture, assembler e chi vuole sperimentare con linking e altro: come scaricare l'emulatore del MIPS (SPIM)
PDF dell'appendice di Computer Architecture: Organization and Design by Hennessy&Patterson (contiene un interessante esempio di compilazione e linking oltre all'introduzione dell'emulatore SPIM)
Informazioni sul sistema operativo didattico Minix
Windows o Linux? Trappola nel cyberspazio byRoberto di Cosmo