Organisation de l'enseignement
Ressource:
- Ubuntu 20.04 minimum,
- PC, vitrual box ou PC labo sur partition root
Objectif:
- aperçu kernel Linux
- connaissance de base des concepts de la programmation de driver Linux:
semaphore, work queue, interrupt, tasklet, memory allocation, cdev
- file système Linux (tp_kernel)
- recherche et exploration de sources dans le kernel Linux
- devenir autonome sur la création, l'installation et le débogage d'un driver Linux de type caractère (tp_cdev)
- utilisation des IT dans in driver linux (tb_interrup)
- analyse d'un driver Linux de type network
attente:
- analyse d'un driver de type network
- développement d'un driver complet de type cdev
Déroulement:
- Session#1: CM (2h):
* Kernel Overview
* Driver Linux
* Char Device Driver
* Kernel Framework
- Session#2: TP (4h)
* TP cdev - section 1, 2, 3, 4
- Home Work:
* TP cdev - section 4, 5
- Session#3: CM + TP
> CM (1h30):
* Concurrency and Race Condition
* Advanced
Char Driver Operations
* Time,
Delays, and Deferred Work
* RT
Layer overview
* Interrupt
Handling
* Allocating Memory
> TP (2h30)
* TP cdev: 5, 6- Home Work:
* SART: Network Driver Study (Mandatory)
* TP cdev - section finish 5 and start 6 (optional)
- Session#4: TP (4h)
* TP cdev - finish
* TP interrup