以用户角度去应用内核空间内存 // https://blog.csdn.net/u011011827/article/details/117335579
- level 1 api
level1 phy mem api :
get_page_from_freelist
add_to_free_list
level1 virt mem api :
1.线性映射/直接映射区
page_to_virt
page_address
2.vmalloc 动态映射区
__alloc_vmap_area
3.持久映射区 kmap
map_new_virtual
4.临时映射区 fixmap (kmap_atomic)
arch_kmap_local_map_idx/__fix_to_virt/pfn_pte/arch_kmap_local_set_pte
- level 2 api
level2 (phy virt mem)api :
1.buddy:
alloc_pages/alloc_page 封装了物理内存的管理,没有封装虚拟内存的管理
__get_free_pages/__get_free_page
2.vmalloc
vmalloc
3.kmalloc(基于slab)
kmalloc