
Linux Kernel Programming - Memory Management in Deep
What you'll learn
- Knowledge of Memory management in Linux Kernel
Requirements
- Should be able to write/compile/load/unload Hello World Linux Kernel Modules
Description
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
- virt_to_phys
- phys_to_virt
- kmalloc
- kfree
- krealloc
- ksize
- vmalloc
- vfree
- qemu-system-x86
- Developers curious about learning memory management in Linux Kernel