在Linux中,属于内核数据段的物理内存页是否可以交换?

heb*_*thu 6 linux kernel memory-management linux-kernel

我问,因为我记得所有属于内核的物理页面都固定在内存中,因此是不可替代的,就像这里所说:http://www.cse.psu.edu/~axs53/spring01/linux/memory .PPT

但是,我正在阅读一篇研究论文并感到困惑,因为它说"(物理)页面经常在内核数据段和用户空间之间移动."

它还提到,相反,物理页面不会在内核代码段和用户空间之间移动.

我认为如果物理页面有时属于内核数据段并且有时属于用户空间,那么它必须意味着属于内核数据段的物理页面是可交换的,这违背了我目前的理解.

那么,属于内核数据段的物理页面是否可以交换?unswappable?

PS研究论文可在此处获取:https: //www.cs.cmu.edu/~arvinds/pubs/secvisor.pdf

请搜索"移动",你会发现它.

PS再次,从[3G + 896M]到4G的虚拟内存区域属于内核,用于在ZONE_HIGHMEM(x86 32位Linux,3G + 1G设置)中映射物理页面.在这种情况下,内核可以首先将该区域中的一些虚拟页面映射到托管当前进程的页面表的物理页面,修改一些页面表条目,以及取消映射虚拟页面.这样,物理页面有时可能属于内核,有时属于用户空间,因为它们在取消映射后不属于内核,因此变为可交换.这是什么原因?

fdi*_*ing 0

然而,我正在阅读一篇研究论文,并感到困惑,因为它说:“(物理)页面经常在内核数据段和用户空间之间移动。”

您能给个这个的链接吗research papaer

据我所知(仅来自学校的UNIX讲座和实验室)内核空间的页面已经通过简单、固定的映射算法分配给内核,并且它们都是固定的。内核打开分页模式后(x86 的 CR0&CR3 位操作),将出现第一个用户模式进程,并且已分配给内核的页面将不在用户空间的可用页面集中。