Università degli Studi di Milano

Corso di Laurea triennale in Informatica

Sistemi Operativi e Laboratorio

A.A. 2013-14

Docente Teoria: Danilo Bruschi
Docenti Laboratorio: Mattia Monga e Matteo Re


AVVISI - Laboratorio


Risultati della prova scritta di Luglio e relativo calendario delle prove orali


ATTENZIONE !!! Si ricorda agli studenti che per la corretta verbalizzazione dell'esame di Sistemi Operativi è necessaria la doppia iscrizione sia all'appello di SISTEMI OPERATIVI I che a quello di SISTEMI OPERATIVI II.



Materiale da studiare in preparazione dell'esame

Riportiamo qui di seguito il materiale che lo studente deve studiare per prepararsi alla prova d'esame del corso di SISTEMI OPERATIVI I e II . Argomenti non trattati durante le lezioni ma contenuti nel materiale sottoindicato potranno comunque essere oggetto di verifiche durante le prove d'esame (Scritto e/o orale). Le numerazioni di capitoli e paragrafi fanno riferimento al libro di testo adottato.

Inoltre lo studente dovrà essere in grado di spiegare, durante la prova orale e previa lettura, il codice del sistema operativo JOS contenuto nei seguenti file sorgente:

OBIETTIVI DEL CORSO

Il corso consentirà allo studente di comprendere le funzionalità principali nonchè i principi sottostanti un sistema operativo moderno. Al fine di fornire agli studenti una migliore comprensione dei diversi temi affrontati verrà studiato come caso di studio il sistema operativo. In particolare, l'ispezione del codice sorgente di JOS, permetterà agli studenti di apprendere come sono implementate su architetture reali le principali funzionalità di un sistema operativo e le i relazioni che intercorrono tra i vari componenti del sistema operativo. In laboratorio gli studenti saranno messi in grado di modificare il codice sorgente del kernel di JOS modificandovi o aggiungendovi funzionalità. In tal modo potranno anche imparare le nozioni di base della programmazione di sistema.

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:

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 A.A. 2013/2014

Si ricorda che per registrare il voto è necessario iscriversi all'appello tramite SIFA, in particolare è necessario registrarsi sia all'appello di SITEMI OPERATIVI I che all'appello di SISTEMI OPERATIVI II. La prova orale è solitamente svolta dopo qualche giorno rispetto alla prova scritta. Si ricorda agli studenti che per potersi iscrivere all'esame è necessario aver preventivamente compilato il questionario di valutazione del corso.

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)

Ricevimento docenti

Email ricevute da indirizzi non istituzionali (di ateneo o del SILAB) o non firmate saranno ignorate.

Programma del Corso A.A. 13/14



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) della edizione del corso 2011/2012. Le videolezioni ricalcano in parte gli argomenti affrontati nell'edizione corrente. Per i nuovi argomenti introdotti nel corso lo studente è invitato a consultare il materiale qui sotto presentato.

Il materiale del laboratorio è sul Wiki.

A.A. 2013/2014

  • Lezioni 1-2: introduzione ai sistemi operativi, loro evoluzione storica e struttura
  • Lezione 3: I Processi
  • Lezione 4: Scheduling dei Processi
  • Lezione 5: Thread e Concorrenza
  • Lezione 6: Primitive per la concorrenza e Semafori
  • Lezione 7: Il deadlock
  • Lezione 8: La gestione della memoria
  • Lezione 9-10: La memoria virtuale
  • Lezione 11: Input/Output (Per la parte relativa alla tastiera lo studente consulti anche il seguente documento)
  • Lezione 12: File System I
  • Lezione 13: File System II
  • I Compitino
  • Lezione 14:Introduzione all'Assembly AT&T
  • Lezione 15: Introduzione all'architettura IA-32
  • Lezione 16-17-18: bootstrap e bootloader in JOS (Gli studenti possono anche consultare la seguente dispensa, con l'avvertenza di considerarla un work in progress, e quindi non immune da errori !!!)
  • Lezione 19-20-21: La memoria virtuale in JOS
  • Lezione 22: I processi in JOS
  • Lezione 23-24: Interrupt, eccezioni e syscall in JOS

    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

    Il materiale del laboratorio è sul Wiki.

    Valid XHTML 1.0 Strict Last modified: mercoledì, 26 giugno 2013 at 10:58 UTC.