Sistemi operativi e sistemi real-time website

2005-2006, Docente: Giorgio Metta

    Videogame library realizzata grazie a: Paul Fitzpatrick, Matteo Brunettini, Ivan Porro. Thanks a lot guys!


Orario lezioni: lunedi' dalle 14 alle 16 aula B6/E5 e martedi' dalle 14 alle 16 aula B6.

Calendario esami: Da definire (contattare il docente).

Prossimo esame scritto:

Esami passati:

Per contattare Giorgio Metta:
     tel: 010-353-2791 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)
- il test che si svolgera' durante le ore di lezione nel corso del semestre (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.

In alternativa:
- le esercitazioni di programmazione (1/3 dei punti totali)
- una prova orale (2/3 dei punti totali)


Programma

Lezioni gia' fatte (queste slide sono aggiornate)

  1. Inroduzione, concetti generali, presentazione del corso (per scaricare il pdf delle trasparenze clicca qui) - 4 ore circa - articolo su UNIX (clicca qui).
  2. Processi e threads (pdf clicca qui) - 2 ore circa.
  3. Lezioni sul compilatore C++ - a cura di Matteo Brunettini (pdf clicca qui) - 4 ore.
  4. IPC (pdf clicca qui) - 2 ore.
  5. Laboratorio (IPC) - esempio producer-consumer.
  6. Scheduling (pdf clicca qui) - 2 ore.
  7. Laboratorio (IPC) - esempio producer-consumer.
  8. Gestione della memoria (pdf clicca qui) - 2 ore.
  9. Laboratorio (31 Ottobre).
  10. Introduzione nuove classi libreria Nova.
  11. Gestione della memoria - parte 2 (pdf clicca qui) - 2 ore.
  12. Nuove classi libreria Nova.
  13. I/O, concetti generali, I/O software (pdf clicca qui) - 2 ore.
  14. Laboratorio, inizio scrittura client. Il protocollo e' descritto qui.
  15. I/O, dischi e altri dispositivi (pdf clicca qui) - 1 ora circa.
  16. Nuovo game server. Scarica l'ultima versione WINDOWS e LINUX.
  17. File system (pdf clicca qui) - 2 ore circa.

Lezioni da fare (queste slide sono relative all'anno passato)

Extra...

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

Problem sets (esercitazioni per esame)

NOVA: libreria per le esercitazioni - questo semestre lavoriamo alla construzione di un videogame client-server!

- ZIP file con l'ultima versione della libreria e esempi: VERSIONE WINDOWS clicca qui, VERSIONE LINUX clicca qui.

- Documentazione: piccolo manuale delle classi NOVA

- Protocollo per il game server: clicca qui.

- Specifiche programma client (testo esercizio): clicca qui.

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 sono relative all'anno passato):

      Piccolo manuale C/C++ (un ripasso veloce!): -pdf-

Esami anni precedenti:

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:
    - cygwin: una sorta di simulazione di Unix in Windows. http://www.cygwin.com
    - 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