【发布时间】:2015-06-26 15:15:57
【问题描述】:
我问是因为我记得所有属于内核的物理页面都固定在内存中,因此不可交换,就像这里所说的那样:http://www.cse.psu.edu/~axs53/spring01/linux/memory.ppt
但是,我正在阅读一篇研究论文,并感到困惑,因为它说, “(物理)页面经常在内核数据段和用户空间之间移动。”
它还提到,相比之下,物理页面不会在内核代码段和用户空间之间移动。
我认为如果一个物理页有时属于内核数据段,有时属于用户空间,那一定意味着属于内核数据段的物理页是可交换的,这与我目前的理解不符。
那么,属于内核数据段的物理页是可交换的吗?不可交换?
附:研究论文可在此处获得: https://www.cs.cmu.edu/~arvinds/pubs/secvisor.pdf
请搜索“移动之间”,你会找到它。
附:同样,从 [3G + 896M] 到 4G 的虚拟内存区域属于内核,用于映射 ZONE_HIGHMEM(x86 32 位 Linux,3G + 1G 设置)中的物理页面。在这种情况下,内核可能首先将该区域中的一些虚拟页面映射到承载当前进程的页表的物理页面,修改一些页表条目,然后取消映射虚拟页面。这样,物理页有时可能属于内核,有时属于用户空间,因为它们在取消映射后不属于内核,从而成为可交换的。是这个原因吗?
【问题讨论】:
-
给出链接或完整报价
-
我添加了论文链接。
标签: linux memory-management linux-kernel kernel