CSAPP 10.5
如果某条指令违反了这些许可条件,那么CPU就会触发一个一般性保护错误,该错误将控制传递给内核中的异常处理程序。
general protection fault (GPF) 一般保护错
一般性保护错误(GPF)是指当一个应用程序试图访问没有分配给它的内存时引起的错误的名字。操作系统(如Win95)应自己的需求及其管理的应用程序的需求,需要对随机存储器(RAM)加以管理。操作系统一般将应用程序作为任务来管理。每当一个任务尝试向自己被分配的存储区域之外的RAM中某区域写数据,操作系统就会命令任务或者应用程序关掉。用户经常会收到上面所述情况发生时的报告,但是得到报告之后,用户并没有什么办法可以解决问题,只能重新打开程序,祈祷下次程序可以成功运行。 如果一个应用程序能够在自己被分配的存储区域之外写数据,那么它将可以改写其他应用程序或操作系统的指令和数据。因此将出错的应用程序关掉对其他的应用程序和操作系统有一定的保护作用。 一般性保护错误更容易在测试beta测试版的软件时发生。不过即使是很成熟的应用程序也可能会引起一般性保护错误,因为有些用户的不正当操作程序员是很难预测的。一般性保护错误还可能因为系统设置错误而产生。如果重复遇到同样的一般性保护错误消息,你可以将具体的错误报告记下来然后打电话给生产引起错误消息的那个软件的公司,以解决问题。 Windows的一般性保护错误显示通常是指蓝屏死机。 |
虚拟内存可以作为内存保护的工具
最新推荐文章于 2024-06-17 17:03:21 发布