Date |
Kernel version |
Architecture |
author |
GitHub |
CSDN |
2016-08-31 |
Linux-4.7 |
X86 & Arm |
Gatieme |
Linuxdevicedrivers |
Linux Memory Management |
1 Memory Description
CSDN |
GitHub |
Overview of Linux Memory description –linux memory management (i) |
01-description/01-memory |
Memory node Node–linux memory management of Linux Memory description (ii) |
01-description/02-node |
Memory Area Zone–linux memory management of Linux memory description (iii) |
01-description/03-zone |
Linux Memory Description memory page Page–linux memory Management (iv) |
01-description/04-page |
High-end memory –linux memory management for Linux Memory description (v) |
01-description/05-highmem |
2 page Table Management
CSDN |
GitHub |
Overview of the Linux paging mechanism –linux memory management (VI) |
02-memory/01-develop |
The evolution of paging mechanism of Linux paging mechanism –linux memory Management (vii) |
02-pagetable/02-paging |
Implementation of paging mechanism of Linux paging mechanism –linux memory management (eight) |
02-pagetable/03-pte |
3 initialization of memory management
CSDN |
GitHub |
Overview of memory management initialization during startup--linux memory Management (ix) |
03-initialize/01-initialize |
Boot allocator for memory management during startup Bootmem–linux memory management (10) |
03-initialize/02-bootmem |
Memory management during startup Memblock allocator –linux memory Management (11) |
03-initialize/03-memblock |
Memory management during startup Bootmem_init initialization of memory management –linux memory Management (12) |
03-initialize/04-bootmem_init |
Memory management during startup Build_zonelists initialization of the standby memory domain list Zonelists–linux memory management (13) |
03-initialize/05-build_zonelists |
Memory management during startup Pagging_init initialization paging mechanism –linux memory management (14) |
03-initialize/06-paging_init |
4 Partner Systems
CSDN |
GitHub |
Partner Systems Overview –linux Memory management (15) |
04-buddy/01-buddy_system |
Initialization of the partner system –linux memory Management (16) |
Not completed |
Partner systems to avoid fragmentation –linux memory Management (16) |
04-buddy/03-fragmentation |
Alloc_page Allocating memory space –linux memory management (17) |
04-buddy/04-alloc_page |
Kmalloc Allocating physical memory and physical address mapping –linux memory management (18) |
04-buddy/06-kmalloc |
High-end memory-mapped vmalloc allocation of pages in memory –linux memory management (19) |
04-buddy/07-highmem_mapping/06-vmalloc-(Non_contiguous_pages) |
High-end memory-mapped kmap persistent kernel mapping –linux memory management (20) |
04-buddy/07-highmem_mapping/07-kmap-(kernel_mapping) |
High-end memory mapping kmap_atomic fixed mapping –linux memory management (21) |
Https://github.com/gatieme/LDD-LinuxDeviceDrivers/tree/master/study/kernel/02-memory/04-buddy/07-highmem_ mapping/08-kmap_atomic-(kernel_mapping) |
5 Slab Distributor Copyright statement: This article for bloggers original articles && reprint please famous source @ http://blog.csdn.net/gatieme