+ -
当前位置:首页 → 问答吧 → 虚拟内核地址会出现缺页吗?

虚拟内核地址会出现缺页吗?

时间:2010-12-22

来源:互联网

一个进程的虚拟地址分为0-3G用户空间,3-4G内核空间。
在用户空间上,采用了demand page这种机制,当访问的虚拟页框,在进程的页表中找不到对应的入口的时候会出现page fault。
但是有可能内核空间的时候也出现这种问题吗?就是说内核程序访问一块虚拟内核地址,但是这块地址没有被映射到物理内存上,会有这种情况出现吗?
还是说在系统初始化的时候,会把所有的虚拟内核地址都映射到一个物理地址上,所以不存在虚拟内核地址没有对应映射情况的出现。

作者: 505241813   发布时间: 2010-12-22

内核不存在Demand Page,应该说内核要竭力避免page fault。高端内存在开始时就被顺序映射,即使是对用户提供的指针解引用,也要先手工查page table看看其是否已被映射,免得在内核态出现Page Fault。

作者: tempname2   发布时间: 2010-12-22

当然最末端的一点内存可能没有映射,但内核不会轻易搞砸。总之,内核态出现Page Fault应该算是内核的Bug了。

作者: tempname2   发布时间: 2010-12-22

高端内存在开始时就被顺序映射

作者: gerryok   发布时间: 2010-12-22