文章目录
2. 物理内存与虚拟内存
2.1 请简述linux内核在理想情况下页面分配器(page allocator)是如何分区出连续物理页面的
在理想情况下分配页面就是在内存充盈的情况下分配页面,不会涉及到内存的回收过程。
分配物理页面,一般调用下面几个函数:
// include/linux/gfp.h
static inline struct page *alloc_pages(gfp_t gfp_mask, unsigned
本文详细探讨了Linux内核在理想情况下如何通过页面分配器(__alloc_pages)分区出连续物理页面,涉及了从gfp_mask确定zone、扫描zone的方向、用户进程分配内存的掩码选择以及在中断上下文中的内存分配限制。还讲解了zone水位、GFP_ATOMIC的影响以及GFP_KERNEL何时导致睡眠。
在理想情况下分配页面就是在内存充盈的情况下分配页面,不会涉及到内存的回收过程。
分配物理页面,一般调用下面几个函数:
// include/linux/gfp.h
static inline struct page *alloc_pages(gfp_t gfp_mask, unsigned

被折叠的 条评论
为什么被折叠?