www.wikidata.de-de.nina.az
In der Informatik versteht man unter einem Interrupt englisch to interrupt unterbrechen nach lateinisch interruptus dem Partizip Perfekt Passiv von interrumpere unterbrechen eine kurzfristige Unterbrechung der normalen Programmausfuhrung 1 um einen in der Regel kurzen aber zeitlich kritischen Vorgang abzuarbeiten Vereinfachter Ablauf eines Interrupts anhand eines DiagrammsDas auslosende Ereignis wird Unterbrechungsanforderung englisch Interrupt Request IRQ genannt Nach dieser Anforderung fuhrt der Prozessor eine Unterbrechungsroutine aus auch Unterbrechungsbehandlung genannt engl interrupt handler interrupt service routine oder kurz ISR Die Unterbrechungsroutine wird bei entsprechenden Prozessoren mit erweiterten Privilegien ausgefuhrt Im Anschluss an die Unterbrechungsroutine wird der vorherige Zustand des Prozessors inkl Privilegierung wiederhergestellt und die unterbrochene Programmausfuhrung dort fortgefuhrt wo sie unterbrochen wurde Interrupts genauer Hardware Interrupts werden durch asynchrone externe Ereignisse ausgelost 2 Asynchron bedeutet in diesem Zusammenhang dass die laufende Programmausfuhrung nicht an immer der gleichen Stelle unterbrochen wird Im Gegensatz dazu kann ein Interrupt bei vielen Prozessoren auch durch den laufenden Programmcode selbst mittels eines Maschinenbefehls INT nn ausgelost werden Software Interrupt Effektiv ist dies eher mit einem Unterprogramm Aufruf zu vergleichen einzelne Betriebssysteme implementieren so Systemaufrufe Inhaltsverzeichnis 1 Beispiele 2 Geschichte 3 Zweck 3 1 Vorteile gegenuber dem Polling 3 2 Anwendungsbeispiele 4 Funktionsweise 4 1 Nicht maskierbarer Interrupt 4 2 Maskierbarer Interrupt 4 3 Durch Software ausgeloster Interrupt 4 4 Latenz 4 5 Maskierung 4 6 Asynchronitat 4 7 Interrupt Service Routinen als Programmierprinzip 5 Ablauf 6 Kategorisierung von Interrupts 7 Hardware Beispiel x86 Architektur 8 Siehe auch 9 Weblinks 10 EinzelnachweiseBeispiele BearbeitenDie Tastatur sendet eine Unterbrechungsanforderung wenn eine Taste gedruckt wurde Dazu wird ein Signal auf den Bus oder direkt an einen nur dafur vorgesehenen Prozessorpin IRQ Eingang gelegt 3 Die Unterbrechungsroutine kann daraufhin das jeweilige Zeichen von der Tastatursteuerung lesen und es an die jeweilige Anwendung weiterleiten Die Maus sendet eine Unterbrechungsanforderung wenn die Achsenposition des Gerates geandert oder eine Maustaste gedruckt wird Unterstutzt werden zwei Maustasten als Hardware Interrupt Hardware Maus Mausgesten wie der Doppelklick mussen von der Software etwa einem Betriebssystem erfasst werden Zusatzliche Tasten an einer Maus werden nur durch passende Geratetreiber unterstutzt Weitere Beispiele bei denen Gerate eine Unterbrechungsanforderung generieren Netzwerkkarte wenn Daten empfangen wurden und im Puffer bereitliegen Festplatte wenn die vorher angeforderten Daten gelesen wurden und abholbereit sind das Lesen von der Festplatte dauert relativ lange Grafikkarte wenn das aktuelle Bild fertig gezeichnet wurde Soundkarte wenn weitere Sound Daten zum Abspielen benotigt werden bevor der Puffer leer wird Geschichte BearbeitenAltere Computermodelle hatten keine Interrupts 4 Um 1958 gab es erste Modelle mit Interrupts ein Beispiel war die Electrologica X1 5 In den 1980er Jahren wurden Rasterzeileninterrupts intensiv auf den 8 Bit Heimcomputern genutzt Dabei handelt es sich um Hardwareinterrupts die ausgelost werden wenn der Videochip eines Computers die Darstellung einer bestimmten Zeile auf dem Bildschirm beginnt Rasterzeileninterrupts waren entscheidend fur die Programmierung grafisch anspruchsvoller Computerspiele dieser Zeit Zweck BearbeitenEin Interrupt dient dazu auf eine Ein oder Ausgabe etwa von Tastatur Festplatte Netzwerk oder Zeitgeber sofort reagieren zu konnen wahrend ein anderes Programm z B eine Benutzeranwendung abgearbeitet wird Die Interface Hardware muss nur dann einen Interrupt auslosen wenn die nachste Interface Operation nicht moglich ist beispielsweise bei Puffer leer Ausgabe Puffer voll Eingabe bei Fehlermeldungen der Interface Hardware oder bei einem Ereignis ohne Datentransfer z B Timer Vorteile gegenuber dem Polling Bearbeiten Neben Interrupts gibt es lediglich die Technik des programmierten zyklischen Abfragens Polling um den Status von Ein Ausgabegeraten Prozessen oder anderem zu erfahren Diese Methode ist zwar einfacher und benotigt keine zusatzliche Hardware ist allerdings sehr viel ineffizienter als die Arbeit mit Interrupts da sie die CPU viel starker in Anspruch nimmt Zudem hangt die Reaktionsgeschwindigkeit beim Polling davon ab wie viel Zeit zwischen den Abfragen vergeht dies kann bei Situationen die eine sofortige Reaktion verlangen kritisch sein Bei Multitasking Betriebssystemen ist das Polling als alleinige Methode nicht moglich Die Standard Analogie fur Interrupts im Alltag ist eine Tur mit Klingel Wahrend man seine Aufgaben erledigt kann man jederzeit durch die Klingel unterbrochen werden wenn ein Gast eine Abarbeitung wunscht und sich ihm dann zuwenden Beim Polling also ohne Klingel musste immer wieder an der Tur nachgeschaut werden ob Besuch da ist oder nicht Beim Erhitzen von Milch hingegen ist es wohl besser nicht erst auf den Interrupt des Uberkochens zu warten sondern den Prozess regelmassig zu uberwachen Anwendungsbeispiele Bearbeiten Als Beispiel fur eine Anwendung von Interrupts kann man sich einen Prozessor vorstellen der nachdem er einer Hardwarekomponente einen Auftrag gegeben hat nicht aktiv auf deren Antwort wartet Polling sondern so lange andere Aufgaben erledigt bis ihn jene Hardwarekomponente von sich aus durch einen Interrupt wieder auf sich aufmerksam macht Ohne Interrupts waren beispielsweise praemptive verdrangen von laufenden Programmen Multitasking Betriebssysteme unmoglich da Programme ohne sie nicht mehr unterbrochen vom Betriebssystem umgeschaltet Timesharing und Ein Ausgabegerate nicht mehr bedient werden konnten Funktionsweise BearbeitenUm ein Interrupt auslosen zu konnen muss die an den Hauptprozessor CPU angeschlossene Hardware interruptfahig sein d h bei Eintreffen eines bestimmten Ereignisses uber die sogenannte Interrupt Leitung ein Ausgangssignal elektrische Spannung an einem Ausgangs Pin erzeugen Die CPU hat im Allgemeinen getrennte Pins fur maskierbare abschaltbare Interrupts INTR und nicht maskierbare Interrupts NMI Da bei nicht maskierbaren Interrupts zusatzlich noch die Interrupt Nummer an die CPU ubermittelt werden muss haben viele Systeme einen Interrupt Controller an den diese Aufgabe delegiert wird falls das Peripheriegerat das nicht selbst ubernehmen kann Nicht maskierbarer Interrupt Bearbeiten Beim Auslosen des NMI deaktiviert die CPU die maskierbaren Interrupts und springt an eine vom CPU Hersteller fur NMI vorgegebene Adresse die sich je nach Computer meist im Festwertspeicher befindet Die dort hinterlegte ISR Interrupt Service Routine veranlasst dann meistens einen Neustart des Systems oder eine globale Fehlerbehandlung Dies ist abhangig vom BIOS Anwendungssoftware hat keinerlei Einfluss auf das Verhalten beim Eintreffen eines NMI Auch die Systemsoftware kann nicht verhindern dass ein NMI behandelt wird Maskierbarer Interrupt Bearbeiten Dieser Abschnitt bedarf einer grundsatzlichen Uberarbeitung Naheres sollte auf der Diskussionsseite angegeben sein Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Erscheint an diesem meistens mit NMI bezeichnete Pin ein Signal Vcc wahrend Interrupts aktuell nicht maskiert sind bei x86 ist dann das Interrupt Flag IF gesetzt so deaktiviert die CPU alle maskierbaren Interrupts und liest die Nummer des angeforderten Interrupts vom Systembus Intel64 Hardware unterscheidet 256 Interrupt Nummern Dort muss der Anforderer die Nummer vor der Anforderung anlegen Die CPU konsultiert damit dann die Interrupt Vektortabelle und entnimmt dieser die Adresse der zugehorigen Interrupt Service Routine Diese gehort zur Treibersoftware der auslosenden Hardware Diese Routine muss bei Ausfuhrung zuerst den gesamten gefahrdeten Verarbeitungskontext also die Prozessorregister die sie benutzen wird sichern Anschliessend erfolgt die eigentliche Behandlung des Interrupts und schliesslich die Ruckspeicherung des Kontextes und Rucksprung hinter die Anweisung die zuletzt vor der Behandlung des Interrupts ausgefuhrt wurde Beim Rucksprung erfolgt auch die Demaskierung Reaktivierung der zuvor gesperrten Interrupts Dafur gibt es eine besondere Interrupt Return Anweisung aus dem CPU Befehlssatz die anstelle der normalen Return Anweisung verwendet wird Der Ablauf entspricht technisch insgesamt dem eines normalen Unterprogramm Aufrufs mit erganzender Behandlung der Interrupt Maskierung Durch Software ausgeloster Interrupt BearbeitenBei vielen Prozessoren lasst sich die Interrupt Behandlung auch durch einen Maschinenbefehl INT nn auslosen Ebenso wie bei Hardware Interrupts erreicht der Prozessor bei der Behandlung der Unterbrechungsanforderung eine hohere Privilegierungsebene mit der die Unterbrechungsroutine ausgefuhrt wird So implementieren einzelne Betriebssysteme Systemaufrufe Hauptartikel Software Interrupt Latenz Bearbeiten Die Zeit zwischen dem Anlegen des IRQ Signals und dem Beginn der entsprechenden Verarbeitung nennt man Latenz Fur einen Interrupt der hochsten vergebenen Prioritat hangt die Latenz vor allem von der Hardware ab mit Schattenregistern kann der Kontextwechsel in einem Taktzyklus gelingen Fur Unterbrechungen mit geringerer Prioritat wird die Latenz von der Ausfuhrungsdauer der bevorzugten Interrupt Routinen bestimmt Echtzeitbetriebssysteme sind so organisiert und konfigurierbar dass damit Echtzeitanforderungen leichter und beweisbar erfullt werden konnen Maskierung Bearbeiten Unterbrechungsanforderungen konnen zeitweise von der CPU ignoriert werden z B wenn gerade ein anderer Interrupt behandelt wird Dies kann fur gewisse zeitkritische und synchronisierende Routinen wie in Geratetreibern notwendig sein Die Maskierung zeitweilige Sperrung Deaktivierung ist fur alle Interrupts bis auf die nicht maskierbaren Interrupts NMI Non Maskable Interrupt moglich Letztere sind fur spezielle Falle vorgesehen Stromausfall Hardwarefehler usw Ebenfalls nicht maskierbar sind sogenannte Software Interrupts die durch einen Maschinenbefehl in einem Programm ausgelost werden beispielsweise wird int IRQNUMMER bei x86 Systemen von Linux genutzt um von normalen Anwendungen uber Systemaufrufe syscalls in den Kernel Modus zu wechseln Asynchronitat Bearbeiten Externe Interrupts Hardwareinterrupts sind gegenuber dem unterbrochenen Programm grundsatzlich asynchron d h die Ausfuhrung des Programms befindet sich an einer unbestimmten Stelle wenn der Interrupt auftritt Daher durfen Interrupts ohne besondere synchronisierende Massnahmen keinen direkten Einfluss auf Programme oder Programmvariablen oder auf Gerate z B Festplatten ausuben ISRs sind keine Tasks im Sinne des Betriebssystems Fur ISRs ist weiter darauf hinzuweisen dass nur mit besonderen Softwarekonzepten innerhalb der ISR die Interruptmaskierung aufgehoben Interrupt enable werden darf da sowohl eine Interruptschachtelung durch fremde ISRs als auch eine Wiedereintrittsmoglichkeit Reentrance des gleichen Interrupts geschaffen wird Einige Prozessoren kennen spezielle Befehle um sogenannte Software Interrupt aus einem laufenden Task heraus auszulosen die ausser den besonderen Ein und Rucksprungbedingungen wie Unterprogrammaufrufe wirken und daher auch nicht asynchron sind Das Gleiche gilt fur Traps die von der CPU bei Fehlern geschutzte Zugriffe verbotene Instruktionen z B Division durch Null Singlestep Debugging Memory Management Ereignisse aber auch als Standard Schnittstelle zu Betriebssystem Aufrufen usw selbst ausgelost werden und sinnvollerweise den gleichen Mechanismus benutzen Interrupt Service Routinen als Programmierprinzip Bearbeiten Insbesondere bei hardwarenahen ereignisgesteuerten Anwendungen wie sie in eingebetteten Systemen ublich sind ist eine mogliche Vorgehensweise mehr oder weniger die gesamte Funktionalitat des Systems in die Interrupt Routinen bzw in von diesen angestossene Tasks zu verlegen Der Prozessor kann dabei typischerweise in einen energiesparenden Ruhezustand Idle State oder Leerlauf versetzt werden aus dem er bei Interruptanforderungen also bei externen Ereignissen erwacht Das Hauptprogramm besteht im Extremfall nur noch aus einem Initialisierungsteil welcher nach dem Systemstart durchlaufen wird gefolgt von einer Endlosschleife in der abgesehen vom Aktivieren des o g Ruhezustands nichts passiert Ablauf Bearbeiten nbsp Vereinfachte Ablaufdarstellung source source source source source Animation zum Ablauf eines InterruptsIm Interruptzyklus der CPU wird der alte unterbrochene Befehlszahler Stand bei Intel Codesegment und Instruction Pointer und bei einigen Architekturen auch das Statusregister auf dem Stack gespeichert Nun muss bestimmt werden welche Quelle die Unterbrechungsanforderung ausgelost hat Bei den meisten CPUs wird die Quelle innerhalb des Interruptzyklus uber einen Wert auf dem Datenbus der ublicherweise vom Interrupt Controller gesetzt wird identifiziert dadurch der zugehorige Interruptvektor gefunden und der Sprung zu der passenden Unterbrechungsroutine ISR ausgelost Vor oder wahrend der ISR muss noch die bearbeitete Unterbrechungsanforderung IRQ geloscht werden damit sie nicht erneut ausgelost wird Bei Intel PC kompatiblen Architekturen erfolgt dies durch Input Output Instruktionen innerhalb der Unterbrechungsroutine So konnen u U ohne besondere Massnahmen in der Software wegen der kurzen Laufzeit bis zur Loschinstruktion auch echte IRQs mit geloscht werden Bei einigen CPU Architekturen insbesondere bei Mikrocontrollern kann es mehrere Interrupteingange geben wobei hier der Interrupt Controller schon integriert ist Bei einfachen CPUs erfolgt nur der IRQ und der Interruptzyklus wobei per Software uberpruft werden muss welche Quelle der Ausloser war und dementsprechend welche Routine abzuarbeiten ist Stehen bis zum Zeitpunkt des Interruptzyklus mehrere IRQs von mehreren Quellen an so wird mittels eines Auswahlverfahrens durch die Hardware Interrupt Controller der Vektor der wichtigsten Unterbrechungsanfrage bestimmt und abgearbeitet Im Anschluss folgt die Bearbeitung der anderen noch anstehenden IRQs Prinzipieller Ablauf beim Auftreten einer Unterbrechungsanfrage Ubergang von Hardware auf Software Solange entweder der Interrupteingang der CPU oder der Einzelinterrupt auf dem Interrupt Controller maskiert ist passiert nichts weiter Interruptanforderungen werden auch nur nach Ablauf der gerade laufenden Instruktion akzeptiert Normalerweise bleiben Interruptanforderungen bestehen bis sie akzeptiert werden Hardware Interruptlogik des Interrupt Controllers bestimmt den Interruptvektor des aktivierten IRQs mit der hochsten Prioritat der nicht maskiert ist Die CPU akzeptiert die Unterbrechungsanforderung und fuhrt den Interruptzyklus durch in dessen Verlauf je nach CPU der Interruptvektor vom Datenbus gelesen wird Danach wird der Interrupteingang automatisch maskiert und somit gesperrt damit nicht beliebig viele geschachtelte Interruptsequenzen auftreten konnen und den Stack uberlaufen lassen Im Interruptzyklus der CPU wird der alte unterbrochene Befehlszahler Stand bei x86 Codesegment cs und Instruction Pointer eip und bei einigen Architekturen auch das Statusregister auf dem Stack gespeichert Der neue Befehlszahlerstand wird aus bestimmten Speicherstellen oder aus einer Interrupttabelle gelesen deren Index aus dem Interruptvektor bestimmt wird Die Vektoren selbst stellen im letzteren Fall jedoch nicht die indirekten Einsprungadressen dar Die Software der Interrupt Service Routine ISR startet und muss zunachst die Inhalte aller Register die sie selbst benutzen wird ggf auch das Statusregister wenn es nicht automatisch gesichert wurde auf den Stack kopieren da sonst die Daten der unterbrochenen Tasks nicht wiederhergestellt werden konnen Wenn dabei Fehler gemacht werden fuhrt das zu zufalligen Fehlerauswirkungen in fremden Programmen die nur schwer verfolgt werden konnen Die eigentliche Interrupt Service Routine lauft nun ab Je nach Aufgabe werden z B Ein und oder Ausgabendaten gepuffert z B in einem Ringpuffer hierbei gehen ublicherweise Zeitbezuge verloren nicht aber Reihenfolgen Bei Bedarf kann evtl nach Aufruf einer speziellen Betriebssystemfunktion durch die ISR ein entsprechender Task durch den Scheduler des Betriebssystems gestartet geweckt werden Da das eine Zeit dauert kann evtl zwischenzeitlich der gleiche Interrupt erneut auftreten was im Algorithmus der ISR zu berucksichtigen ist falls die Interrupts nicht ohnehin maskiert bleiben Die Software der ISR stellt alle von ihr gesicherten Register wieder her englisch to restore Die ISR beendet sich durch einen Rucksprung RTI der das Ruckspeichern des alten Befehlszahlers und ggf des alten Statusregisters vom Stack bewirkt und der dadurch wieder seinen Stand wie vor der Unterbrechung hat so als ware nichts gewesen Durch die Ruckspeicherung des Statusregisters das auch das Interrupt Mask Bit enthalt ist die Interruptlogik unmittelbar bereit weitere IRQs zu akzeptieren Die aufgerufene Task kann nun die weitere Bearbeitung der gepufferten Daten ubernehmen Kategorisierung von Interrupts BearbeitenEs wird zwischen prazisen Interrupts und unprazisen Interrupts unterschieden Prazise Interrupts halten die Maschine in einem wohldefinierten Zustand unprazise nicht 6 Ein Software Interrupt ist ein Programmbefehl der so wirkt wie ein Hardware Interrupt man spricht von einem expliziten Interrupt Auftrag Ein Hardwareinterrupt wird dagegen von aussen uber einen IRQ Kanal oder Pin an den Prozessor eingeleitet 1 Auch nach ihrem Ausloser werden Interrupts unterschieden 7 Die Ein Ausgabegerate konnen ein Signal schicken dass sie mit ihrer Aufgabe fertig sind oder einen Fehler hatten Das Programm kann durch arithmetischen Uberlauf das Teilen durch Null den Versuch einen unerlaubten Maschinencode auszufuhren oder eine Referenz auf ein Ziel ausserhalb des erlaubten Bereichs einen Interrupt auslosen Hierbei schlagt eine prozessorinterne Fehlererkennung an und aktiviert den Interrupt auf prozessorinternen aber rein hardwaremassigen Signalwegen Der Timer erlaubt dem Betriebssystem Aufgaben regelmassig zu erledigen Dazu werden laufende Programme unterbrochen So kann ein Timer sowohl in den Prozessor eingebaut sein als auch als externer Baustein vorliegen in beiden Fallen wirkt sein Ablaufen wie ein Ein Ausgabeereignis Ein weiterer Unterschied besteht in der Realisierung auf der signalverarbeitenden Ebene Bei level sensitiven Interrupts reagiert der Prozessor anhaltend und solange auf ein Interrupt Signal wie dessen vorgesehener Logikpegel anliegt aktiv high und aktiv low sind mogliche Umsetzungen Bei flanken sensitiven Interrupts wird das Ereignis durch den Wechsel des Logikpegels selbst angezeigt und dann vom Prozessor fur eine vorgegebene Zeitspanne gehalten normal sind einige wenige Taktzyklen Prozessor Interrupts werden auch als Exceptions bezeichnet und konnen in drei Typen eingeteilt werden 8 Aborts sind sehr wichtige Fehler z B Hardwarefehler Fehler Faults treten vor Abschluss einer Anweisung auf Traps treten nach Abschluss einer Anweisung auf Einsatz beim Debuggen Hardware Beispiel x86 Architektur BearbeitenAlle Intel Prozessoren haben einen Interrupt Signaleingang fur maskierbare Interrupts Um mehrere Interruptquellen anschliessen zu konnen gibt es einen eigenen Interrupt Controller Baustein z B den Programmable Interrupt Controller PIC der mehrere Interrupt Eingange besitzt und zu einem Signal zusammenfuhrt Ausserdem ist er uber interne Register konfigurierbar sodass er je nach ausgelostem Interrupt im CPU Interruptzyklus verschiedene vorgegebene Interruptvektoren auf den Bus legt die die CPU dann einliest Bei neueren Prozessoren sind all diese Funktionalitaten mit in den Kern des Hauptprozessors integriert Bei x86 Prozessoren sind 256 verschiedene Interruptvektoren moglich Der Interruptvektor wird im Interruptzyklus des Prozessors als 8 Bit Wert vom Datenbus gelesen Bei x86 Prozessoren sind die Vektoren selbst nicht die indirekten Einsprungadressen Der Vektor wird vielmehr im Real Mode mit 4 multipliziert binares Verschieben damit fur jeden Vektor 32 Bit Sprungadressen untergebracht werden konnen zu denen dann gesprungen wird Im Protected Mode wird mit 8 multipliziert weil ein Deskriptoreintrag 8 Bytes lang ist Im Real Mode befindet sich die Interrupttabelle in dem ersten Kilobyte des Hauptspeichers 0000h 0000h 0000h 03FFh Jede Interruptnummer benotigt 4 Bytes 2 Bytes fur das Codesegment und 2 fur den Offset innerhalb des Segments Im Protected Mode der CPU wird die Position der Tabelle durch die Interrupt Deskriptor Tabelle festgelegt Hier werden fur jeden Interrupt 8 Bytes fur den Deskriptor Eintrag der ISR benotigt Bei modernen Systemen zum Beispiel PCI Systemen konnen sich in der Regel mehrere Gerate einen Interrupteingang teilen Interrupt Sharing genannt Die Behandlungsroutine fur einen solchen Interrupt muss dann alle Treiber deren Gerate diesen Interrupt ausgelost haben konnten aufrufen am IRQ kann dies nicht festgestellt werden Dabei kann es zu Problemen kommen wenn einzelne Treiber zu lange aktiv sind und in der Zwischenzeit im Gerat welches den Interrupt ursprunglich ausgelost hat beispielsweise der Puffer voll wird und uberlauft Im schlimmsten Fall fuhrt dies zu einem Datenverlust Bei modernen Peripheriegeraten vergeben der Computer und das Betriebssystem selbst die IRQ Nummern PnP Plug and Play Gerate wahrend bei alten Steckkarten beispielsweise bei ISA Karten die IRQ Eingange von Hand eingestellt werden mussen oder fest auf den Karten verdrahtet sind Unter Linux kann man die Interrupts mit folgendem Befehl abfragen cat proc interruptsUnter Windows XP und neuer kann man die Interrupts mit folgendem Befehl abfragen msinfo32 exe Hardwareressourcen IRQs IRQ Gerate Tabelle Diese Liste unterscheidet sich von System zu System IRQ Verwendung0 System Taktgeber1 Tastatur2 Kaskadiert zu IRQ 9 fur 8 15 3 COM 2 4 6 8 EIA 232 RS 232 4 COM 1 3 5 75 LPT 2 IEEE 1284 oder Soundkarte6 Diskettenlaufwerk Floppy 7 LPT 18 Echtzeituhr RTC 9 Zu IRQ 2 umgeleitet aber auch VGA und NIC IRQ 16 23 10 Frei ggf PCI Bus11 Frei ggf Adaptec SCSI12 PS 2 Maus andere Eingabegerate 13 Mathematischer Coprozessor FPU 14 Primarer IDE oder ATA15 Sekundarer IDE oder ATASiehe auch BearbeitenKontextwechsel Beobachter Entwurfsmuster Ereignis Programmierung Weblinks Bearbeiten nbsp Wiktionary Interrupt Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen nbsp Wiktionary Unterbrechungsroutine Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen nbsp Wikibooks Erklarung von Unterbrechungen Kapitel Prozessor des Wikibooks Computerhardware I O Grundlagen Ralf Browns Interrupt List Interrupts IRQs und Ressourcenkonflikte auf heise de Stanislavs Interrupt TabelleEinzelnachweise Bearbeiten a b A Metzlar BIOS Das Praxisbuch Franzis 2004 ISBN 978 3 7723 6706 9 S 379 W Stallings Operating Systems Internals and Design Principles Prentice Hall International 2000 ISBN 978 0 13 031999 9 S 136 A Tanenbaum Moderne Betriebssysteme Pearson Studium 2009 ISBN 978 3 8273 7342 7 S 406 W Stallings Operating Systems Internals and Design Principles Prentice Hall International 2000 ISBN 978 0 13 031999 9 S 62 E W Dijkstra My recollection of operating system design PDF 1013 kB EWD 1303 2000 S 15 A Tanenbaum Moderne Betriebssysteme Pearson Studium 2009 ISBN 978 3 8273 7342 7 S 109 W Stallings Operating Systems Internals and Design Principles Prentice Hall International 2000 ISBN 978 0 13 031999 9 S 17 A Metzlar BIOS Das Praxisbuch Franzis 2004 ISBN 978 3 7723 6706 9 S 85 Normdaten Sachbegriff GND 4625501 1 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Interrupt amp oldid 234585267