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 proměnné 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)
-
-
Tento výpis shora bude proveden ze samostatné funkce v jiném zdrojovém souboru, než je ten z hodiny.
-
Tato funkce s výpisy se bude volat ze zdrojového souboru z hodiny.
-
Musíte slinkovat 2 C soubory do jednoho modulu (zapsáním správného pravidla do Makefile).
-
-
-
Dbejte na to, aby úkol splňoval CodingStyle, ověřte pomocí scripts/checkpatch -f (za nesplnění je -1 bod)
-
Odevzdejte e-mailem ve formě patche, jako plain-text přílohu, nebo inline