Sistemi operativi e sistemi real-time website

2007-2008, Docente: Giorgio Metta, Esercitazioni: Carlos Beltran

    Esercitazioni basate su libreria open source Yarp
    Informazioni aggiuntive: http://yarp0.sourceforge.net


Orario lezioni: martedi' dalle 10 alle 12 aula E5 e giovedi' dalle 17 alle 19 aula B6.

Calendario esami: prossimo esame data da definire.
Scadenza esercitazione programmazione: 31 marzo 2008

Per contattare Giorgio Metta:
     tel: 010-717-81411 oppure 010-353-2946
     email: pasa (AT) liralab.it     
     web: http://pasa.liralab.it

Mailing list del corso: os (AT) liralab.it

Uso della mailing list:
- richiesta informazioni di carattere o interesse generale
- richieste di spiegazioni aggiuntive, precisazioni
- annunci su qualunque altra cosa riguardi il corso e/o le esercitazioni
- scambio informazioni sulle esercitazioni
- tutti possono scrivere e rispondere


Modalita' esame:
per sostenere l'esame bisogna completare:
- le esercitazioni di programmazione previste (1/3 dei punti totali)
- esame orale (2/3 dei punti totali)
---- questo consente di terminare l'esame nel semestre corrente ma richiede il rispetto delle scadenze per la presentazione degli esercizi.

Materiale esame orale:
Le domande vertono sul contenuto di:
   - Slide (tutte)
   - Articoli distribuiti a lezione
   - Lezioni di programmazione


Programma

Lezioni gia' fatte (queste slide sono aggiornate)

  1. Introduzione al corso, concetti generali dei sistemi operativi 3 ore (25-27 settembre, 3 ore) -clicca qui-
  2. Processi e multiprogrammazione (27 settembre, 1 ora) -clicca qui-
  3. Thread (2 ottobre, 2 ore) -clicca qui-
  4. Articolo su UNIX (clicca qui).
  5. Thread e IPC (4 ottobre, 2 ore).
  6. Laboratorio, Linux, YARP, cofigurazione e compilazione esempio (9 ottobre, 2 ore). File usati a lezione (zip clicca qui)
  7. Scheduling (11 ottobre, 2 ore) -clicca qui-
  8. Laboratorio, Linux shell, esercitazione (16 ottobre, 2 ore) -clicca qui-
  9. Lezione sul compilatore C++ - (18 ottobre, 2 ore) - clicca qui per le slide-
  10. Laboratorio, multithreading (23 ottobre, 2 ore) -slide-
  11. Lezione su Yarp, in generale (25 ottobre, 2 ore) -slide (~9 Mb)-, -esercizio-
  12. Laboratorio (IPC) 30 ottobre- esempio producer-consumer -si veda http://yarp0.sf.net, classi Thread, Semaphore, Time-.
  13. Laboratorio IPC, producer-consumer, multithreading - 6 novembre.
  14. Gestione della memoria (8 novembre, 2 ore) -pdf clicca qui- handout (6 in 1) NEW!
  15. Laboratorio, semplice programma chat usando Yarp (13 novembre, 2 ore)
  16. Gestione della memoria - parte 2, algoritmi di rimpiazzamento pagine, 15 novembre  (pdf clicca qui - handout (6 in 1) NEW!, 1 ora).
  17. Capitolo gestione della memoria del Tanenbaum ((c) A.S.Tanenbaum, dalla sua home page) -pdf clicca qui-
  18. Gestione della memoria - parte 2 (20 novembre) + 1 ora laboratorio YARP
  19. 22 novembre -- 2 ore lezione cancellata
  20. Gestione della memoria (parte 3) 27 novembre (-pdf clicca qui- e articolo sul working set clicca qui)
  21. Porte Yarp, 29 novembre (2 ore) -documentazione-
  22. Porte Yarp, esercitazione e esempi in laboratorio - 4 dicembre (2 ore)
  23. I/O, concetti generali, software, dischi e altri dispositivi - 6 dicembre (2 ore) -slide1 e slide2 + capitolo libro- handout1, handout2 (6 in 1)
  24. File system, 11 dicembre (2 ore) -pdf clicca qui, handout-
  25. Presentazione esercizio finale, 13 dicembre (2 ore) -pdf testo-, -maze stuff-, -protocollo videogame-
  26. Architettura x86, 18 dicembre (2 ore) -pdf slide-
  27. Networking (introduzione, problemi generali), da leggere -pdf capitolo libro-, -slide del sig. Tanenbaum-

Extra...

  1. Sistemi multiprocessore - cenni - (pdf clicca qui) - 1 ora circa.

Problem sets (esercitazioni per esame)

Materiale per esercitazioni:

      - Progetto produttore consumatore (sorgenti): clicca qui per scaricare l'archivio (zip)
      - Progetto produttore consumatore, versione network (sorgenti): clicca qui per scaricare l'archivio (zip)
      - Demo client: clicca qui per scaricare l'archivio (sorgenti, zip), client a thread singolo
      - Il protocollo del gioco e' spiegato in questa pagina

      - Testo esercitazione: clicca qui (PDF)

Istruzioni per la preparazione degli esercizi:

      - La consegna deve includere:
            1. codice sorgente
            2. tutti i file utilizzati, inclusi i Makefile, eventuali progetti (dsp/dsw per VisualC++)
            3. il codice dovrebbe contenere opportuni commenti
            4. l'output del programma con alcune spiegazioni (1 pagina)

Materiale aggiuntivo (alcune cose relative all'anno passato):

      Piccolo manuale C/C++ (un ripasso veloce!): -pdf-
      Sorgenti librerie Yarp: -yarp-2.1.8.tar.gz-
      Documentazione online librerie Yarp: clicca qui.
      Home page anno passato: clicca qui.

Esami (scritti) anni precedenti:

test esame marzo 2006: clicca qui (PDF)
test esame dic 2005: clicca qui (PDF)

test esame 1: argomento "processi, threads, IPC e scheduling". testo esame (clicca qui).
test esame 2
: argomento "memoria, I/O, file system". testo esame (clicca qui).

problem set 1: clicca qui per il testo in -pdf-.
problem set 2: clicca qui per il testo in -pdf-.


Testi utilizzati:
    - Andrew S. Tanenbaum, Modern operating systems, Prentice Hall International 2001. ISBN: 0-13-092641-8

Altre risorse:
    - Debian Linux: una distribuzione di Linux installabile nel proprio PC. http://www.debian.org

Altri testi su C/C++:
- "Linguaggio C", B.W. Kernighan D.M. Ritchie, Jackson. (*)
- "C++", 
H. Shildt , Mac Graw Hill. (*)
- "The C++ Programming language"
, Bjarne Stroustrup, Addison Wesley, 3d ed.

(*) disponibile in laboratorio per consultazione (LIRA-Lab)

LIRA-Home