Scopo di questo insegnamento è quello di consentire
allo studente di poter comprendere e
saper gestire i meccanismi sottostanti il funzionamento e la realizzazione di
un sistema operativo: livelli di astrazione, gestione degli eventi sincroni/asincroni,
gestione dei clock, gestione delle periferiche, meccanismi di comunicazione,
primitive di concorrenza, gestione e comunicazione tra processi, sicurezza
delle componenti hardware.
L’esposizione
“teorica” dei diversi argomenti sarà accompagnata
da lezioni di laboratorio durante le quali gli studenti avranno modo di
sperimentare i concetti acquisiti su un micro controllore commerciale (STM32
Nucleo) messo a disposizione degli studenti, per la sola durata del corso,
dalla società ST Microelectronics.
Le lezioni di
laboratorio rappresenteranno inoltre un’occasione per gli studenti per:
approfondire la programmazione in C, imparare
ad usare un ambiente di sviluppo integrato per un sistema embedded commerciale,
acquisire padronanza con il sistema operativo FreeRTOS.
Risultati di apprendimento attesi
1.
Comprensione
dei principali meccanismi sottostanti il funzionamento di un sistema operativo.
2.
Comprensione
dei meccanismi di funzionamento di un sistema embedded.
3.
Saper
gestire il sistema operativo FreeRTOS
4.
Saper
progettare e implementare un driver per la gestione dell’I/O
5.
Saper
leggere e modificare una routine di risposta interrupt
6.
Saper
progettare ed implementare uno scheduler real-time
7.
Saper
progettare ed implementare un’applicazione sensor based con l’uso del micro
controllore STM32
8.
Comprensione
dei side channel attack
9.
Saper
effettuare alcune forme elementari di side channel attack