Politecnico di Torino
Politecnico di Torino
   
Login  
en
Politecnico di Torino
Anno Accademico 2017/18
04KTOBG
System programming
Corso di Laurea Magistrale in Communications And Computer Networks Engineering (Ingegneria Telematica E Delle Comunicazioni) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Montrucchio Bartolomeo ORARIO RICEVIMENTO A2 ING-INF/05 40 0 20 0 7
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 C - Affini o integrative Attività formative affini o integrative
Presentazione
Il modulo ha lo scopo di introdurre gli elementi principali dell'architettura dei sistemi operativi,
illustrandone la struttura di base e il funzionamento dal punto di vista dell'utilizzatore avanzato e del
programmatore di sistema.
Il modulo illustra l'architettura dei sistemi operativi analizzandone i moduli interni. Approfondisce i concetti
e le tecniche di gestione delle risorse di un sistema di elaborazione.
Il corso presenta inoltre le tecniche di programmazione di sistema mediante l'analisi e l'utilizzo delle chiamate di sistema di Unix.
Il corso è tenuto in lingua inglese.
Risultati di apprendimento attesi
• Conoscenza e gestione dei processi e thread d'esecuzione concorrenti
• Capacità di usare system call per la creazione, sincronizzazione e terminazione di processi e thread
• Conoscenza del meccanismo della memoria virtuale
• Conoscenza delle tecniche di schedulazione dei processi
• Capacità di analizzare device drivers
Prerequisiti / Conoscenze pregresse
• Conoscenza dell'architettura dei sistemi di elaborazione: in particolare struttura del processore e organizzazione della memoria
• Conoscenza del meccanismo delle interruzioni e dei fondamenti di un linguaggio Assembly
• Conoscenza dei fondamentali tipi di strutture dati ed algoritmi
• Capacità di sviluppare programmi in linguaggio C
Programma
1. Architettura del calcolatore e programmazione (0,45 crediti)
- richiami sui linguaggi di programmazione
- architettura e funzionamento del processore
- gestione delle periferiche
2. Strutture del Sistema Operativo (0,3 crediti)
- servizi ed interfaccia utente del Sistema Operativo
- Kernel
3. Unix shell (0,3 crediti)
- bash
- debugger
- profiler
4. Processi e thread (1,35 crediti)
- multitasking e scheduling
- programmazione concorrente
- thread
5. Sincronizzazione tramite processi e thread (1,5 crediti)
- semafori
- Inter Process Communication (IPC)
- System call
- Posix Thread
6. Gestione della memoria e memoria virtuale (0,45 crediti)
Organizzazione dell'insegnamento
Attività di Laboratorio (1,65 crediti):
• Unix Shell
• Programmazione concorrente con processi e thread
. Introduzione al kernel ed ai device driver Linux
Gli studenti sono tenuti a svolgere 4 esercitazioni di laboratorio che dovranno essere consegnate entro
determinate scadenze. Tali elaborati saranno valutati.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
I testi di riferimento sono i seguenti:
• Silberschatz, Galvin, Gagne, "Operating System Concepts", 8th Edition, John Wiley & Son, 2009
• J. Cooperstein, "Linux Program Development", 2009
• J. Cooperstein, "Writing Linux Device Drivers", 2009
Criteri, regole e procedure per l'esame
L’esame consiste in una prova scritta ed un orale. Correttezza e
completezza delle esercitazioni di laboratorio
(homeworks) saranno anche considerate nel risultato finale. Le
esercitazioni devono essere completate
durante il corso seguendo un calendario specificato all'inizio del corso
stesso.
L’esame scritto (max 30 punti), di durata normalmente pari a 120 minuti,
consiste in due parti:
• Esercizi e domande (normalmente 4) sugli argomenti del programma
• La soluzione di un problema utilizzando thread o la programmazione
concorrente in linguaggio C.
L'esame scritto sarà a libri chiusi; in casi selezionati verrà
distribuito un formulario.
L'uso di smartphone, smartwatch ed ogni tipo di computer e sistema di
comunicazione è strettamente proibito.
La prova orale si svolgerà sugli argomenti del programma del corso,
sulle esercitazioni di laboratorio e
sulla verifica del programma sviluppato durante la prova scritta.
La correttezza delle risposte all'esame scritto e orale e la corretta
esecuzione delle esercitazioni di laboratorio produrranno il voto finale.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2017/18
Indietro



© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)
Contatti