PROGRAMMAZIONE DI KERNEL
Informations
- Responsabile didattico: Luca Abeni
- Semestre: 1° semestre
- Data inizio: 9 Gennaio 2025
- CFU: 2
- Durata (ore): 20
- Corso: Ingegneria
Details
Contenuti
- Introduzione alla programmazione di kernel (ambiente di esecuizione del kernel, programmi "freestanding", etc...)
- Semplice kernel di sistema operativo: boot e setup della CPU
- Il kernel Linux; kernel vs OS
- Moduli di Linux, come scriverli e come compilarli
- Misc device, concorrenza, sincronizzazione, kernel thread, liste, ...
Obiettivi formativi
Questo corso presentera' un'introduzione agli aspetti piu' peculiari della programmazione del kernel, con particolare riferimento al kernel Linux. Dopo una breve introduzione teorica sull'ambiente di esecuzione del kernel e sulla programmazione concorrente e multi-thread, gli studenti impareranno come scrivere codice kernel e come sincronizzare più task (processi o thread).
Particolare attenzione sara' prestata alle lezioni pratiche, in cui gli studenti scriveranno alcuni moduli del kernel Linux fino ad arrivare a sviluppare un semplice meccanismo di IPC.
Prerequisiti
Per poter seguire il corso con profitto gli studenti devono conoscere la programmazione in C ed alcune nozioni di base riguardo ai sistemi operativi.
Modalità di verifica dell'apprendimento
Piccolo progetto con discussione
Testi di riferimento
Materiale fornito dal docente: https://retis.santannapisa.it/luca/KernelProgramming/