Sistemi Operativi 2

Questa pagina contiene tutto il materiale didattico del secondo modulo di Sistemi Operativi tenuto dal Prof. Riccardo Focardi.

Esame e verifiche di laboratorio

  • L’esame finale di Sistemi Operativi consiste in un compito scritto diviso in due parti, corrispondenti ai due moduli e in una parte relativa al laboratorio, descritta nel seguito;
  • Per la parte di laboratorio sono previste tre verifiche durante l’anno, secondo il calendario pubblicato sotto. Il laboratorio è considerato superato se almeno due delle tre verifiche sono sufficienti. In particolare:
    • chi supera almeno due delle tre verifiche non dovrà sostenere alcuna prova aggiuntiva di laboratorio (superando tre verifiche si ottiene un bonus sul voto dello scritto)
    • chi supera una delle tre verifiche dovrà sostenere una prova orale sulla parte di laboratorio
    • chi non supera nessuna verifica dovrà sostenere una prova pratica in laboratorio, una volta superata la prova scritta

Blog

  • Siete invitati a ‘postare’ i vostri commenti e le soluzioni agli esercizi
  • Leggete qui come fare il post di codice sorgente

News e link utili

    • NEW La lezione del 13 febbraio 2018 non avrà luogo (prossima lezione 15 febbraio 2018, in laboratorio)
    • Verifiche anni precedenti

Libri di testo

I libri sono gli stessi del primo modulo. Per la parte di programmazione UNIX si può fare riferimento a:

  • Richard Stevens, Stephen A. Rago, Advanced Programming in the UNIX Environment (seconda o terza edizione), Addison Weseley

Programma

Processi
  • [6/2/2018] creazione: fork ed exec, processi orfani e processi zombie.
  • [8/2/2018] terminazione: exit e wait.
  • [15/2/2018] esercitazione sui processi (non è una delle tre verifiche di laboratorio!)
Comunicazione tra processi
  • [20/2/2018] Comunicazione tra processi (in aula 2)
  • [22/2/2018] Segnali: gestione e mascheramento; kill e pause. funzioni safe nei gestori dei segnali
  • [27/2/2018] Comunicazione tramite pipe
  • [1/3/2018] Esercitazione sulle pipe
Thread

  • [6/3/2018] Produttore e consumatore (in aula 2)
  • [8/3/2018] Sezione critica: soluzioni software e hardware (in aula 2)
  • [13/3/2018] Prima verifica (comunicazione tramite pipe)
  • [15/3/2018] I thread POSIX: creazione, terminazione, passaggio di argomenti (Laboratorio 5)
  • [20/3/2018] Recupero Prima verifica (causa problema con i PC in lab)
  • [22/3/2018] I semafori (in aula 2)
  • [27/3/2018] I semafori POSIX (Laboratorio 5)
  • [29/3/2018] Programmazione con i semafori (in aula 2)
  • [3/4/2018] Esercitazione sui semafori (Laboratorio 5)
  • [5/4/2018, ore 10:30] I monitor (in aula 2)
  • [17/4/2018, ore 14:00] Programmazione con i monitor (in aula 2)
  • [19/4/2018, ore 10:30] Seconda verifica: sincronizzazione tramite semafori POSIX (laboratori 3 e 5)
  • [26/4/2018, ore 10:30] Thread di Java; sezione critica tramite monitor (laboratori 3 e 5)
  • [26/4/2018, ore 12:00] Il problema dei filosofi in Java (laboratori 3 e 5)
  • [3/5/2018, ore 10:30] Preparazione al terzo progetto (laboratori 3 e 5)
  • [7/5/2018, ore 12.15-13.45] Lo stallo (in aula 2)
  • [8/5/2018, ore 14:00] Controllo dello stallo (in aula 2)
  • [10/5/2018, ore 10.30] Terza verifica: sincronizzazione tramite monitor in Java (laboratori 3 e 5)

Leave a Reply

Your email address will not be published. Required fields are marked *