一般保护错误

一般保护错误英語:,缩写:GPF)是在英特尔x86AMDx86-64架构和其它架构中的一种错误(或者一种中断),指正在运行的程序(内核用户态程序)违反处理器架构中的保护措施的情况。此机制最初在1986年英特尔80386处理器的程序员参考手册第9.8.13节中描述。一般保护错误通过中断向量值13)实现。

Windows 3.0 中的「不可恢复的应用程序错误」提示框,此为早期 Windows 系统中对一般保护错误的称呼。

若处理器侦测到保护违例,会停止当前代码的执行,并发出GPF中断。大多数情形下,操作系统会简单地关闭触发GPF的进程,告知用户,并继续执行其它程序。但如果操作系统没能捕获这一错误(如在操作系统从GPF中断处理例程中返回前发生了另一次违例),处理器会发出双重错误中断向量值8,一种常见的蓝屏情形)。如果再次发生了违例,则处理器会关闭(参见三重错误),其后只会响应复位(即按下机器的复位按钮)、启动(重新启动系统)或不可屏蔽中断(除非其之前在处理此类中断时出错)。

操作系统行为

在一些版本的Microsoft Windows中,一般保护错误确实会被报告为“一般保护错误”。

但在大部分版本中,Windows会给出如下错误:

在类Unix的系统中,此错误会被分别报告(比如Linux下的段错误等)。

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.