A.A. 2011-12
Docenti: Danilo Bruschi e Mattia Monga
Gli studenti che hanno superato le prove con un voto diverso da INS. sono
ammessi al secondo compitino che si terrà a fine corso.
PROVE D'ESAME
Modalità d'esame
L'esame è costituito da tre prove: scritta, orale e pratica.
Le prove scritta e orale verteranno sul programma del corso svolto
durante le lezioni di teoria.
La prova scritta è costituita da:
- domande a risposta multipla,
- svolgimento di un esercizio di programmazione concorrente
con l'uso delle primitive PTHREADS o con i MONITOR.
Il superamento della prova scritta è requisito necessario per l'accesso alla prova orale.
Durante la prova scritta lo studente potrà accumulare sino a 3 punti
che saranno poi sommati al voto finale della prova orale.
Le prove scritta e orale devono essere sostenute nello stesso appello. NON
SARÀ POSSIBILE SOSTENERE LE DUE PROVE IN DUE DIVERSI APPELLI.
La prova scritta può essere sostenuta anche attraverso due compitini
intermedi, in questo caso gli studenti dovranno ostenere la prova orale
ENTRO l'appello di Luglio.
Calendario annuale delle prove scritte
Si ricorda che per registrare il voto è necessario
iscriversi all'appello.
- 17 aprile 2012
- 11/6/2012 (II Compitino + Prova Scritta)
- 3/7/2012 (Prova Scritta)
- 17/7/2012 (Prova Scritta)
- 13/9/2012 (Prova Scritta)
- 7/1/2013 (Prova Scritta)
- 5/2/2013 (Prova Scritta)
Prove superate durante un anno accademico sono valide solo per
quell'anno accademico (giugno 20XX-febbraio 20XX+1).
Gli esami vanno verbalizzati entro l'appello in cui si completa il
superamento delle due prove, e comunque non oltre l'ultimo appello
dell'anno accademico, pena l'annullamento del voto con conseguente
ripetizione di entrambe le prove.
ORARI
Lezioni (edizione unica)
- Teoria: martedì 11:30-14:30 aula V3,
venerdì
8:30-11:30, aula V3
- Laboratorio:
mercoledì orario 8:30-12:30 aula 307.
Ricevimento docenti
- Danilo Bruschi: su appuntamento, via email (danilo.bruschi_at_unimi.it)
- Mattia Monga: su appuntamento, via email
(monga_at_dico.unimi.it)
Email ricevute da indirizzi non istituzionali (di ateneo o del
SILAB) o non firmate saranno ignorate.
Programma del Corso A.A. 11/12
PARTE I: Concetti Generali
- Introduzione ai sistemi operativi: principi, struttura ed evoluzione storica
- Processi e thread
- Tecniche per lo scheduling dei processi
- Memory management
- Tecniche di memoria virtuale: paginazione, segmentazione,segmentazione paginata
- Introduzione alla programmazione concorrente
- Soluzioni al problema della mutua esclusione
- I meccanismi di Interprocess communication
- Deadlock: il problema e le soluzioni
- Tecniche per la gestione dei dispositivi di INPUT/OUTPUT
- Il File system
- I Sistemi operativi e la multimedialità
- I sistemi operativi in ambienti multiprocessore
PARTE II: Aspetti implementativi
- Introduzione all'architettura IA-32
- GNU ASSEMBLER LANGUAGE
- Eccezioni e Interrupt in IA-32
- Analisi e implementazione di un programma elementare di bootstrap e di un bootloader
- Analisi e implementazione di un gestore delle Eccezioni
- Analisi e implementazione di un gestore degli Interrupt
- Analisi e implementazione di un gestore della Memoria
- Analisi e implementazione di un gestore dei Processi
- Analisi e implementazione di un elementare maccanismo di IPC
MATERIALE DIDATTICO
Slide presentate a lezione in formato pdf. Si ricorda agli studenti che
sono disponibili anche le videolezioni (per la sola parte di teoria).
Il materiale del laboratorio è sul Wiki.
A.A. 2011/2012
Lezioni 1-2: introduzione ai
sistemi operativi, loro evoluzione storica e struttura
Lezione
3: Processi e thread
Lezione
4: Scheduling dei Processi
Lezione
5: Tecniche elementari di gestione della memoria
Lezione
6-7: La Memoria Virtuale
Lezione
8: Introduzione alla concorrenza
Lezione
9: Primitive per la concorrenza: i semafori
Lezione
10: Primitive per la concorrenza: Monitor e Messaggi
Lezione
11: Il Deadlock
Lezione
12: INPUT/OUTPUT
Lezione 13: I Compitino
Lezione
14: PThreads
Lezione
15: Il File System
Lezione
16: Il File System: aspetti implementativi
Lezione
17: Introduzione all'architettura IA-32
Lezione
18: Introduzione all'assembly AT&T
A.A. 2010/2011
A.A. 2008/2009
Tutto il corso in un file (versione per la
stampa)
Libro di testo
Modern Operating Systems
3/e by Andrew S. Tanenbaum,
Pearson/Prentice Hall
Chi avesse libri di testo di altre annate, e volesse usare
quelli per preparare l'esame, e` libero di farlo ma deve tenere
presente che le domande d'esame saranno basate sul libro di testo
corrente. Quindi si suggerisce di confrontare la trattazione dei
vari argomenti prima di sostenere l'esame.
Materiale da Consultare per la seconda parte del corso
Programmer's Reference Manual Intel 386
xv6: a simple Unix-like teaching
operating system
xv6 source code
Le seguenti dispense relative ai Lab. 1,2,3.
Materiale Integrativo
Il presente materiale può essere utilizzato ad integrazione
del materiale presentato a lezione, con particolare riferimento
agli argomenti presentati nelle lezioni 7 e 8.
Materiale di laboratorio
Un testo di riferimento per l'uso di sistemi Unix:
Nemeth, Snyder, Seebas, Hein UNIX, Manuale
per l'amministrazione di sistema, III edizione.
Il materiale del laboratorio è sul Wiki.
Minix è trattato dettagliatamente nel libro indicato per la
parte di teoria.
Last modified: Wed Mar 14 12:38:17 CET 2012