Linux Page Unit ProjectIntroductionThis project is a simple demonstration for translating virtual address to physical address.Using Page Global Directory(PGD), Page Upper Directory(PUD), Page Middle Directory(PMD), Page Table(PTE)Implemented with a Linux kernel module.EnvironmentLinux Kernel 3.10.104Ubuntu Desktop 16.04 32-bitUbuntu Package: wgetgccbclibgetopt-argvfile-perllibncurses5-devSetupCompile and install Linux kernel(v3.10.104) from source code reference https://blog.kaibro.tw/2016/11/07/Linux-Kernel%E7%B7%A8%E8%AD%AF-Ubuntu/Create Makefile for compiling Linux Module reference https://wwssllabcd.github.io/blog/2012/11/13/how-to-make-linux-module/Compile hello.c and using dmesg to watch the output of kernel module.ResultWe can use dmesg to watch the output of this kernel module.We can see the virtual address translating procedure with PGD->PUD->PMD->PT, and then we can get physical address in out physical memory.