Interaktivní osnova
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
Téma 1: Úvod do problematiky dle tématické skupiny
Teoretická část
-
Práce s GITem
-
Generovaní záplaty
-
-
Rozdíly jádro-uživatelský prostor
Praktický úkol pro cvičení
-
Založení/klonování repositáře
-
Vytvoření Hello World v jádře
-
Překladový systém
-
Nahratelný modul
-
Kód provádějící jednoduché alokace a výpisy
-
Domácí úkol
-
Modul z hodiny rozšiřte
-
Nastudujte, jakými způsoby umí jádro interpretovat ukazatele při výpisech (vyhledejte funkci jádra
pointer
např. s lxr, pročtěte komentář a použijte odpovídající formátovací řetězec proprintk, pointer
se nesnažte volat)
-
Vypište do logu pod sebe
-
Adresu paměti alokované pomocí
kmalloc
-
Adresu proměnné na zásobníku
-
Adresu
jiffies
(je to globální proměnná typulong
) -
Adresu jákekoliv funkce, která je v modulu (třeba nějakou vaši) a která není (ale je u ní
EXPORT_SYMBOL
, např.bus_register
) -
Jméno+offset
__builtin_return_address(0)
(záležitost gcc, vracívoid *
adresu, kam se skočí po návratu z aktuální funkce)
-
-
Výpis vložte do commit logu a podívejte se na rozdílnost adres
-
-
Dbejte na to, aby úkol splňoval CodingStyle, ověřte pomocí scripts/checkpatch -f z jádra (za nesplnění je -1 bod)
-
Odevzdejte e-mailem ve formě patche, jako plain-text přílohu, nebo inline