Wie finde ich die von meinem Laptop verwendeten Interrupt-Vektoren?

1138
user422171

Ich verwende Windows 7-Laptop von Dell. Ich versuche die Anzahl der von meinem System verwendeten Interrupts und Interruptvektoren zu ermitteln. Ich habe es mit dem Gerätemanager versucht, aber ich konnte die Interrupts und die Interrupt-Level aber keine Interrupt-Vektoren finden.

Kann jemand erklären, wie das Interrupt-Handling in Windows funktioniert? Und wie kann ich herausfinden, wie viele Interrupts mein System entlang seiner Vektoren unterstützt?

Danke im Voraus.

0

1 Antwort auf die Frage

2
Foosh

Interrupt-Vektoren sind eine Funktion des Prozessors, nicht des Betriebssystems, und sind architekturspezifisch (Sie können die Interrupt-Deskriptor-Tabelle der x86-Implementierung sehen ). Windows hat den Programmzugriff auf die Vektoren seit Windows Server 2003 für x64-Systeme ausdrücklich verhindert, und der Versuch, sie zu verwenden, führt zu einer Fehlerprüfung mit dem Stoppcode 0x109 und zum Herunterfahren des Systems.

Was die eigentliche Behandlung von Interrupts betrifft, wird dies in gerätespezifischem Code (Treiber) behandelt. Die Dokumentation davon finden Sie hier . Im Allgemeinen ist es so, dass die Hardware ein DIRQL generiert, das dann von der Interrupt-Service-Routine des entsprechenden Treibers verarbeitet wird, die als EvtInterruptIsr- Callback-Funktion implementiert ist.