Zum Inhalt springen

Double Fault

aus Wikipedia, der freien Enzyklopädie

In der x86-Computerarchitektur tritt eine „Double Fault“-Ausnahme auf, wenn der Prozessor beim Versuch eine anstehenden Unterbrechung oder Ausnahme zu bearbeiten, auf ein Problem stößt. Ein Beispiel für eine Situation, in der ein „Double Fault“ auftreten würde, ist der Fall, dass eine Unterbrechung ausgelöst wird, das Segment, in dem sich die Unterbrechungsbehandlung befindet, jedoch ungültig ist. Stößt der Prozessor beim Aufruf der Ausnahmebehandlung auf ein Problem, so wird ein „Triple Fault“ ausgelöst und der Prozessor wird heruntergefahren.[1]

Da eine „Double Fault“-Ausnahme nur aufgrund eines Kernel-Fehlers auftreten kann, wird sie in einem modernen Betriebssystem im geschützten Modus selten durch Programme im Userspace verursacht. Andere Architekturen wie PowerPC oder SPARC speichern den Zustand in der Regel in vordefinierten und reservierten Maschinenregistern. Ein „Double Fault“ liegt dann vor, wenn eine weitere Ausnahme auftritt, während der Prozessor noch den Inhalt dieser Register zur Bearbeitung der Ausnahme verwendet.[2] SPARC-Prozessoren verfügen über vier Ebenen solcher Register, d. h., sie haben ein 4-Fenster-Registersystem.[3]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Manuals for Intel® 64 and IA-32 Architectures. Volume 3 (System Programming Guide), Chapter 7 (Interrupt and Exception Handling). Intel®, abgerufen am 15. Oktober 2026 (englisch).
  2. ↑ Interrupt Handling. PowerPC. IBM, abgerufen am 15. Oktober 2026 (englisch).
  3. ↑ Technical Documents | SPARC International, Inc. Abgerufen am 15. Oktober 2026 (amerikanisches Englisch).