What you'll learn:
- Knowledge of Memory management in Linux Kernel
Update: 16th Oct 2020: Added Notes/Examples used in the course
What will you learn from this course?
Physical Address space of processor and how to view it in Linux
Virtual Address space of processor
Kernel and User space virtual address space
Pages and Page Fault
How to convert virtual address into physical address and the format specifiers used to print
Low Memory and High Memory
Memory Allocation Mechanism - Buddy Allocator
Zones - /proc/buddyinfo
Dynamic Memory Allocation in Linux Kernel
Various flags used in kmalloc - GFP_KERNEL, GFP_ATOMIC, GFP_DMA
Differences between kmalloc and vmalloc
What happens when you pass 0 in kmalloc and vmalloc
Kernel Stack
API's covered in this course:
virt_to_phys
phys_to_virt
kmalloc
kfree
krealloc
ksize
vmalloc
vfree
Commands used in this course:
qemu-system-x86