什么是双重错误?它究竟与堆栈溢出有关

时间:2015-06-27 02:20:54

标签: memory-management memory-leaks operating-system

我是学习操作系统的新手。我无法在互联网上找到这个术语的正确描述。任何帮助都是有用的

1 个答案:

答案 0 :(得分:3)

故障是CPU检测到的异常情况。在x86 / 64中,故障触发一个中断,指示CPU暂停正在执行的操作并执行中断处理程序。

例如,当进程尝试以零作为除数执行除法运算时,会发生除零故障。当发生这种情况时,CPU暂停进程并运行除以零处理程序。通常,此处理程序会记录错误并终止进程。

当CPU运行故障处理程序时发生故障时,会发生双重故障。在这种情况下,CPU暂停执行故障处理程序并跳转到双故障处理程序。双重错误通常是内核中的错误造成的。

当双故障处理程序中出现故障时,会发生三重故障。据我所知,这总是会暂停CPU导致重启。