Interaktivní osnova
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
Téma 10: Paměť trochu jinak I.
Teoretická část
-
mmap
Praktický úkol pro cvičení
-
Přemapování stránek do procesu
-
Dvěma způsoby
-
Domácí úkol
- Přemapujte stránky pomocí fault
- Poslední úkol z hodiny
- Mapujte
pb173/10/task.bin
na adresu0x800000
- Je tam unární funkce (
unsigned int fun(unsigned int)
) - Je určena pro 64-bitové x86
- Po mapování ji v uživatelském prostoru zavolejte
- Zjistěte co dělá (je to goniometrická funkce a akceptuje parametr ve stupních v rozsahu 0..180)
- Nejprve si musíte
task.bin
poslat do jádra- Např. pomocí
ioctl
- Pozor na vstup od uživatele!
- Nepoužívejte
kernel_read
ani podobně špatné způsoby načítaní souborů z jádra
- Např. pomocí
- Po
ioctl
zavolejte mmap- Addr
bude 0x800000
- fd bude vaše znakové zařízení
- Jádro namapuje buffer dříve naplněný pomocí
ioctl
- Addr
- Je tam unární funkce (