Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++

Téma 9: 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í nopage/fault
    • Posledním úkol z hodiny
  • Mapujte pb173/09/task.bin na adresu 0x800000
    • Je tam unární funkce (unsigned int fun(unsinged int))
    • Je určena pro 64-bitové x86
    • Po mapování ji 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 nahrát do bufferu jádra
      • Např. pomocí ioctl
      • Pozor na vstup od uživatele!
    • Po ioctl zavolejte mmap
      • Addr bude 0x800000
      • Jádro namapuje buffer dříve naplněný pomocí ioctl