Der Interruptvektor ist in einem Computersystem diejenige Programmadresse, an die beim Auftreten eines Interrupts gesprungen wird. Dort steht die Interrupt Service Routine ISR, die den Interrupt beantwortet. Jede Interruptquelle hat einen eigenen Interruptvektor, um mit einer jeweils unterschiedlichen ISR die spezifische Reaktion auf den Interrupt ausführen zu können. Eine spezieller Interruptvektor ist der Resetvektor
Die Interruptvektortabelle eines größeren Betriebssystems ist eine zentrale Struktur, die vor unerlaubtem Zugriff gut geschützt sein muss. Beim x86 Prozessor liegt die Interruptvektortabelle im Real Mode an der Adresse 0000:0000 und hat 256 Einträge zu je 32-bit (CS,IP). Im Protected Mode kann die Tabelle an eine beliebige Stelle im Adressbereich gelegt werden und enthält bis zu 256 Interrupt Descriptoren, die neben der Sprungadresse noch weitere Informationen und Prioritätsangaben enthalten. Die Interruptvektortabelle enthält auch die Exceptionvektoren, deren Sprungadresse bei unerlaubten Prozessorzuständen oder bei Rechenfehlern gelesen und angesprungen wird.
Für jeden nicht-maskierten Interrupt muss ein Interruptvektor und eine ISR existieren, sonst wird beim Auftreten des Interrupts eine ungültige Adresse angesprungen. Daher ist es eine der ersten Aktionen des Betriebsssystems nach Reset, die Interruptvektortabelle aufzubauen und die Service Routinen zu installieren, um anschließend die Interrupts zu erlauben.
Beim Fehlstart der ersten Ariane-V Rakete, die kurz nach dem Start außer Kontrolle geriet und gesprengt werden musste, war ein fehlender Interruptvektor für einen Arithmetiküberlauf und die dazu fehlende ISR in der Software für das Versagen der Steuerung verantwortlich.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Interruptvektor".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world