Docente/i:
Alessandro Rubini
Denominazione del corso: Sistemi linux real-time()
Codice del corso: 503106
Corso di laurea: Ingegneria Informatica
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è caratterizzante per: Ingegneria Informatica
Crediti formativi: CFU 6
Sito web del corso: http://gnudd.com/srt-2011
Obiettivi formativi specifici
Scopo del corso e` insegnare le metodologie progettuali e le tecniche
di programmazione a basso livello in due diversi contesti operativi:
il kernel Linux e i microcontrollori senza sistema operativo (ovvero,
con sistema operativo autocostruito). Tali ambienti operativi sono
quelli utilizzati nel mondo industriale per affrontare situazioni che
richiedono il rispetto dei vincoli temporali sui processi applicativi,
ovvero i sistemi cosiddetti "real-time".
In entrambi i casi il linguaggio di programmazione e` il C e la
piattaforma di riferimento per lo sviluppo di codice e` GNU (gcc,
make, bash, git, ...).
Al termine del corso lo studente dovrebbe essere in grado di
progettare e implementare un sistema di tipo real-time per la
soluzione di semplici problematiche di controllo e scrivere moduli per
il kernel Linux che pilotino semplici periferiche.
Programma del corso
Il linguaggio C per la programmazione di basso livello.
Il sistema git di gestione versioni.
L'ambiente di sviluppo.
Contesti di esecuzione e cross-compilazione.
Sistemi operativi per micro-controllori.
Compilazione di kernel e moduli.
Memoria virtuale.
Gestione della concorrenza.
Gestione dei tempi.
Panic e debugging.
Concetti di real-time.
RTAI.
Prerequisiti
Esperienza come utente di sistemi GNU/Linux o piu` in generale Unix (linea di comando).
Conoscenza di base dell'architettura dei calcolatori.
Attitudine alla soluzione di problemi informatici.
Provare diletto personale nell'attivita` di programmazione.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 45
Esercitazioni (ore/anno in aula): 0
Attività pratiche (ore/anno in aula): 0
Materiale didattico consigliato
Si veda la pagina web del corso.
Modalità di verifica dell'apprendimento
L'esame si compone di una prova scritta e una prova pratica.
Lo scritto e` composto da 8 domande su gnu/linux embedded e i
sistemi real-time, piu` un esercizio pratico.
La prova pratica (o "progetto") consiste nella realizzazione di un
progetto su sistemi real-time o linux-embedded ed e` obbligatoria
per il superamento del l'esame. Ogni progetto comporta l'assegnamento
da 0 a 3 punti in aggiunta al voto dello scritto. Il punteggio masismo
di ciascun progetto (da 1 a 3 punti) e` commisurato alla sua
difficolta`, il punteggio assegnato dipende da come e` stato svolto
il lavoro (viene quasi sempre assegnato il massimo previsto).
Il docente propone una lista di prove pratiche ma gli studenti possono
comunque proporne (e svogerne) altre di loro interesse specifico.
|