摘要:
zone_pcp_init负责初始化该缓存。该函数由free_area_init_nodes调用。free_area_init_nodes位置参见setup_arch大概步骤 在用zone_batchsize算出批量大小(用于计算最小和最大填充水平的基础)后,(大约相当于内存域中页数的0.25‰。) 阅读全文
posted @ 2022-03-18 01:51
while(true);;
阅读(103)
评论(0)
推荐(0)
摘要:
paging_init负责建立只能用于内核的页表,用户空间无法访问。 在IA-32系统上内核通常将总的4 GiB可用虚拟地址空间按3 : 1的比例划分。低端3 GiB用于用户状态应用程序,而高端的1GiB则专用于内核。 地址空间的划分 地址空间的第一段用于将系统的所有物理内存页映射到内核的虚拟地 阅读全文
posted @ 2022-03-18 01:11
while(true);;
阅读(102)
评论(0)
推荐(0)
摘要:
对应高端内存的3部分,高端内存映射有三种方式:映射到”内核动态映射空间”(noncontiguous memory allocation)这种方式很简单,因为通过 vmalloc() ,在”内核动态映射空间”申请内存的时候,就可能从高端内存获得页面(参看 vmalloc 的实现),因此说高端内存有可 阅读全文
posted @ 2022-03-18 01:10
while(true);;
阅读(63)
评论(0)
推荐(0)
摘要:
在内核已经载入内存、而初始化的汇编程序部分已经执行完毕后,内核必须执行哪些特定于系统的步骤?图3-12给出了各个操作的代码流程图。 该图只包括与内存管理相关的那些函数调用。在这里所有其他的都是不重要的,因此省去。 首先调用machine_specific_memory_setup,创建一个列表,包括 阅读全文
posted @ 2022-03-18 00:24
while(true);;
阅读(78)
评论(0)
推荐(0)
浙公网安备 33010602011771号