Linux kernel 如果是页面';s pte用_PAGE_USER位标记为0,是否会导致页面错误或一般保护异常?

Linux kernel 如果是页面';s pte用_PAGE_USER位标记为0,是否会导致页面错误或一般保护异常?,linux-kernel,x86,mmu,Linux Kernel,X86,Mmu,我试图了解intel x86 MMU体系结构提供的保护。 我基本上不清楚MMU何时会引发页面错误(页面错误,int 14)以及CPU何时会引发异常(一般保护错误,int 13)。我知道当特权级别不匹配时,CPU通常会引发异常 但是,谁将用户/主管模式位映射到特权级别,是MMU还是CPU 特别是,当我清除页面pte条目的_PAGE_USER标志时,我无法解释谁会引发异常,我预计MMU(或是处理器?)会引发故障 如果可以的话,请给我指一下参考资料,这样我就可以阅读了,以防有地方可以找到。谢谢 但是,

我试图了解intel x86 MMU体系结构提供的保护。 我基本上不清楚MMU何时会引发页面错误(页面错误,int 14)以及CPU何时会引发异常(一般保护错误,int 13)。我知道当特权级别不匹配时,CPU通常会引发异常

但是,谁将用户/主管模式位映射到特权级别,是MMU还是CPU

特别是,当我清除页面pte条目的_PAGE_USER标志时,我无法解释谁会引发异常,我预计MMU(或是处理器?)会引发故障

如果可以的话,请给我指一下参考资料,这样我就可以阅读了,以防有地方可以找到。谢谢

但是,谁将用户/主管模式位映射到特权级别,是MMU还是CPU

从()

对线性地址的每次访问都是一种管理模式 访问或用户模式访问。所有访问都是在 当前权限级别(CPL)小于3 are管理器模式 访问。如果CPL=3,则访问通常为用户模式访问

简而言之,环3是用户,环0-2是主管

特别是,当我清除页面pte条目的_PAGE_USER标志时,我无法解释谁会引发异常,我预计MMU(或是处理器?)会引发故障

故障由MMU引起,MMU是现代计算机CPU的一部分。所以,这并不重要


Robert Love的
Linux内核开发
和Daniel p.Bovet的
Understanding the Linux内核
出色地涵盖了这一主题。前者关于x86上linux内核实现的细节较少,通常更容易理解。

好的,我想我需要进一步解释一下上下文。我正在尝试跟踪流程的页面。为此,我依赖于这个页面错误机制。我保护页面,当发生故障时,在记帐后删除保护。这不是硬件什么的。这是我试图做的事情,以实现我必须在x86上做的其他事情。感谢您的回复。我对一般保护故障和页面故障有一个混淆,即,如果页面用户位为0,是否发生页面故障或保护故障。但我意识到,通过对代码进行一些更改,它确实会导致页面错误。