文章目录 2.1 请简述linux内核在理想情况下页面分配器(page allocator)是如何分区出连续物理页面的 2.2 在页面分配器中,如何从分配掩码(gfp_mask)中确定可以从哪些zone中分配内存? 2.3 页面分配器是按照什么方向来扫描zone的? 2.4 为用户进程分配物理内存时,分配掩码应该选用GFP_KERNEL,还是GFP_HIGHUSER_MOVABLE? 2.1 请简述linux内核在理想情况下页面分配器(page allocator)是如何分区出连续物理页面的 在理想情况下分配页面就是在内存充盈的情况下分配页面,不会涉及到内存的回收过程。 分配物理页面,一般调用下面几个函数: // include/linux/gfp.h static inline struct page *alloc_pages(gfp_t gfp_mask, unsigned int order)</