On the
x86 architecture, a double fault exception occurs if the
processor encounters a problem while trying to service a pending
interrupt 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 mode operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
, 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.
See also
*
Triple fault
Further reading
**
*
{{DEFAULTSORT:Double Fault
Computer errors
Central processing unit