double fault

来源:互联网 发布:中国网络作家排行榜 编辑:程序博客网 时间:2024/05/20 14:15

On the x86 architecture, a double fault exception occurs if the processor encounters a problem while trying to service a pendinginterrupt or exception. An example situation when a double fault would occur is when an interrupt is triggered but the segment in which the interrupt handler resides is invalid. If the processor encounters a problem when calling the double fault handler, a triple fault is generated and the processor shuts down.

As double faults can only happen due to kernel bugs, they are rarely caused by user space programs in a modern protected modeoperating system, unless the program somehow gains kernel access (some viruses and also some low-level DOS programs). Other processors like PowerPC or SPARC generally save state to predefined and reserved machine registers. A double fault will then be a situation where another exception happens while the processor is still using the contents of these registers to process the exception. SPARC processors have four levels of such registers, i.e. they have a 4-window register system.


原创粉丝点击