en
Politecnico di Torino
Anno Accademico 2012/13
05CJCOA
Sistemi operativi
Corso di Laurea in Ingegneria Informatica - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Quer Stefano ORARIO RICEVIMENTO AC IINF-05/A 36 12 12 36 13
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
Presentazione
Insegnamento obbligatorio della Laurea in Ingegneria Informatica, collocato al I periodo didattico del III anno.
Il modulo ha lo scopo di introdurre gli elementi di base dell'architettura dei sistemi operativi e di approfondire i concetti ed i metodi della programmazione concorrente. Inoltre, il modulo permette di acquisire conoscenze necessarie per la gestione del sistema operativo Linux mediante la programmazione di sistema e l'utilizzo di comandi di amministrazione.
Risultati di apprendimento attesi
- Conoscenza della classificazione dei Sistemi Operativi: Batch, Interattivi, Real-time, Macchine virtuali
- Conoscenza dell'architettura dei sistemi operativi come gestore di risorse
- Conoscenza dell'organizzazione del kernel di un sistema operativo
- Conoscenza e gestione dei processi e thread d'esecuzione concorrenti
- Capacità di utilizzare le system call per la creazione, la sincronizzazione e la terminazione di processi e dei thread d'esecuzione
- Capacità di amministrazione di sistema: utilizzo di comandi, shell script e filtri in ambiente Unix-Linux.
Prerequisiti / Conoscenze pregresse
- Capacità di sviluppare programmi in linguaggio C
- Conoscenza dell'architettura dei sistemi di elaborazione: in particolare struttura del processore e organizzazione della memoria
- Conoscenza del meccanismo di interruzione e dei fondamenti di un linguaggio Assembler
Programma
- Architettura Sistema Operativo (0.5 crediti)
- Classificazione dei sistemi operativi
- Struttura di un sistema operativo, risorse gestite e moduli corrispondenti
- Il Kernel: possibili organizzazioni

- Processi (1 credito)
- Tipi di crocessi
- Processi concorrenti
- Gestione dei crocessi

- Sincronizzazione di Processi (2 crediti)
- Variabili e primitive semaforiche
- Costrutti linguistici ad alto livello
- Inter-Process Communication
- Il problema del deadlock
Organizzazione dell'insegnamento
- Esercitazioni in aula (1.5 crediti)
- Soluzione di problemi di sincronizzazione
- Bash shell: L'interprete di comandi Linux
- Tool e shell script
- Filtri in particolare sed e awk
- Amministrazione del sistema

- Esercitazioni in laboratorio (1 credito)
- Le esercitazioni di laboratorio sviluppano i contenuti delle esercitazioni in aula.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Silbershatz A., Galvin. P., Gagne G. " Sistemi Operativi. Concetti ed Esempi ", 8^ Edizione, Pearson Education Italia, 2009.
ISBN 8871922336

Bovet D. P., Cesati M.
Understanding the Linux Kernel, 3rd Edition
O'Reilly, 2005. ISBN: 0-596-00565-2

W.R. Stevens
"Advanced programming in the UNIX Environment", Addison-Wesley Publishing Company

- Materiale didattico a disposizione su Web
- Trasparenze proiettate in aula
- Esercizi e soluzioni
Criteri, regole e procedure per l'esame
L'esame è costituito da una prova scritta, della durata di 60 minuti, è costituita da due parti:
- tre esercizi e/o domande sugli argomenti svolti a lezione
- tre esercizi sugli argomenti sviluppati in esercitazioni e laboratori che richiedono l'implementazione di shell script.
Durante lo svolgimento della prova non è possibile consultare testi o appunti.
L'esame non è superato se il punteggio relativo ad una delle due parti non è sufficiente.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2012/13
Indietro