中断和页面错误之间的区别

时间:2017-04-17 19:36:41

标签: c linux operating-system

在操作系统中,页面错误和中断之间有什么区别?我知道页面错误是指MMU(内存管理单元)无法在虚拟内存中找到分配的位置

2 个答案:

答案 0 :(得分:3)

处理器旨在处理两种特殊类型的事件。

  1. 例外
  2. 中断
  3. 两者都以相同的方式处理。 CPU已知的每个异常和中断都有一个数字。此数字用作操作系统维护的处理程序例程的分派表的索引。发生异常或中断时,CPU进入内核模式,然后找到相应的处理程序例程并调用它。 (希望处理程序将返回到事件之前系统所处的任何模式。)

    异常和中断之间的区别在于前者由指令流触发,而后者由独立于指令流的事件触发。

    例外分为两类:故障和陷阱。前者允许重新启动当前指令,而后者则不允许。

    页面错误是一个例外。

答案 1 :(得分:1)

页面错误和中断是两个不同的概念。

来自OSdev wiki

  

当进程正在寻求访问未映射到任何物理内存的虚拟内存区域时,当在只读页面上尝试写入时,当访问PTE或PDE时,会导致页面错误异常保留位或权限不足时。

关于中断:

  

中断是指从设备(如键盘)到CPU的信号,告诉它立即停止当前正在执行的操作并执行其他操作。例如,键盘控制器在按下键时发送中断。

基本上,页面错误是错误,中断是一个信号,你可以使用中断来检测页面错误。

有关该主题的更多信息:

相关问题