Politecnico di Torino | |||||||||||||||||
Anno Accademico 2012/13 | |||||||||||||||||
05CJCOA Sistemi operativi |
|||||||||||||||||
Corso di Laurea in Ingegneria Informatica - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
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 |
|