[go: up one dir, main page]

EP0764901B1 - Interrupt handling in an operating system - Google Patents

Interrupt handling in an operating system Download PDF

Info

Publication number
EP0764901B1
EP0764901B1 EP19950114821 EP95114821A EP0764901B1 EP 0764901 B1 EP0764901 B1 EP 0764901B1 EP 19950114821 EP19950114821 EP 19950114821 EP 95114821 A EP95114821 A EP 95114821A EP 0764901 B1 EP0764901 B1 EP 0764901B1
Authority
EP
European Patent Office
Prior art keywords
interrupt
operating system
interrupt service
procedures
service routines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP19950114821
Other languages
German (de)
French (fr)
Other versions
EP0764901A1 (en
Inventor
Günther Dipl.-Ing. Schauer
Martin Dipl.-Ing. Weiss (FH)
Alfons Ing. Weiss
Wolfgang Ing. Syrch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to DE59509024T priority Critical patent/DE59509024D1/en
Priority to EP19950114821 priority patent/EP0764901B1/en
Publication of EP0764901A1 publication Critical patent/EP0764901A1/en
Application granted granted Critical
Publication of EP0764901B1 publication Critical patent/EP0764901B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Definitions

  • time-critical processing parts are usually carried out by interrupt service routines, which are triggered by an interrupt source through a corresponding interrupt request.
  • the interrupt service routines can interrupt running processes or tasks at any time (prerequisite: interrupt is not blocked). Because of this handling, a real-time system can be divided into a two-tier model in terms of priority: High priority layer Interrupt service routines Low priority layer Processes or tasks
  • Priorities between interrupt service routines are due to the hardware or the setting the interrupt controller specified while priorities between the processes within the processes themselves, i.e. definable by the application programmer (configurable) are.
  • the interrupt service routines (ISR) can be done with a Process that communicate via operating system functions of the respective interrupt service routine.
  • interrupt request is from the operating system the associated interrupt service routine is determined and triggered.
  • the said interrupt service routine empties the buffer and sends the content for evaluation or further processing to a process using an operating system function. If the buffer under consideration is now a send or receive buffer for data transmission processes in the Telecommunications technology, so the associated interrupt the buffer, which is very limited in length, correspondingly quickly use (i.e. only short blocking time of the buffer) to avoid data loss and thereby a retransmission (by the protocol used, e.g. To avoid HDLC). The bigger the The number of interrupt sources is the more responsive the associated interrupt service routines must therefore be. Due to the multiple use of interrupt service routines Operating system functions that experience has shown to be the most Take the time of an interrupt service routine, however, the duration of an interrupt service routine cannot can be shortened as desired.
  • the invention has for its object an interrupt handling system indicate that it allows time-critical Perform tasks even faster than before.
  • the interrupt handling system enables the interrupt handling to be divided into two in interrupt service routines and in interrupt procedures. This results in the following three-tier model with regard to the priorities in a real-time system: High priority layer Interrupt service routines Medium priority layer Interrupt procedures Low priority layer Processes or tasks
  • the interrupt service routines also contain simple and safe to make Operating system functions, but only those the only for the purpose of the two-part according to the invention Interrupt handling are provided. More specifically these operating system functions are one Function for transferring interrupt procedures with specification of a Priority (valid for the layer of interrupt procedures) from an interrupt service routine to the operating system and one function each as opening and closing credits, which are mandatory called at the beginning or end of an interrupt service routine must become.
  • the latter functions make tasks done by the operating system, which is central for all interrupt service routines must be carried out (e.g. use of a common stacks, starting the processing of the interrupt procedures, Control of the respective interrupt controller, etc.).
  • the interrupt handling according to the invention takes place in two parts.
  • the first part is the actual interrupt service routine, after an appropriate interrupt occurs the interrupt vector table is determined.
  • the interrupt service routine processes the time-critical part of the interrupt handling and may only be used exclusively for the interrupt service routines use the intended operating system functions.
  • the second part of the interrupt handling namely the interrupt procedure runs under the control of the operating system, processes the less critical parts of the interrupt and can use operating system functions without restriction. Interrupt procedures are called from the operating system, as soon as no interrupt service routine is waiting to be processed.
  • the operating system is run by an interrupt service routine used operating system function informs if a second part of interrupt handling is necessary.
  • the Address of the interrupt procedure that the second processing part is passed as a parameter, as is the Priority of this interrupt procedure.
  • the operating system chains then this order according to the supplied one Priority in a priority queue.
  • the number of interrupt procedures to be called by the operating system is arbitrary, i.e. depending on the corresponding one Interrupt, and only by the number of possible entries in the above-mentioned priority-controlled queue is limited.
  • the highest priority layer is from the interrupt service routines formed the interrupt procedures at any time or interrupt processes.
  • an interrupt source in the interrupt controller and its state the "interrupt in service" bits can be used by the interrupt service routines can be nested as desired.
  • the interrupt procedures are only after the interrupt service routines depending on their priority sequentially worked off. There is one for coordinating the process central control provided by two operating system functions, that are called by each interrupt service routine have to.
  • interrupt handling interrupt service routines and interrupt procedures
  • the priorities within the processes will be determined by the operating system generation, but can be changed dynamically.
  • interrupt handling one of the fastest possible responses to occurrences Events.
  • the time-uncritical and mostly time-consuming Processing e.g. fetching pool elements, etc.
  • This subsequent part be within an interrupt service routine would have to be processed Wait lower priority interrupt during this time which carries the risk of data loss if e.g. on Receive buffer is not emptied in time.
  • the invention Interrupt handling is especially for interception interrupt bursts.
  • 1 and 2 illustrate an example from telecommunications technology, in which an ISDN subscriber line module Switching system 24 ISDN subscribers served.
  • the the main workload arises from the Processing of signaling and packet data (s and p data of the D channel).
  • s and p data of the D channel the subscriber line module via appropriate receive buffers for participants A, B and C almost simultaneously receives corresponding frames. Due to the status change in the receive buffers of the named participants are corresponding Interrupt signals (receive interrupt) generated. After this have been determined by the processor of the subscriber line module is that it is interrupt signals of the receive buffer appropriate interrupt service routines are called. The subsequent processes can be seen in FIG and 2 can be removed by yourself.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Bus Control (AREA)

Description

Üblicherweise werden in Rechnersystemen, insbesondere Echtzeitsystemen, zeitkritische Bearbeitungsanteile durch Interruptserviceroutinen erledigt, die durch eine entsprechende Interruptanforderung von einer Interruptquelle angestoßen werden. Die Interruptserviceroutinen können jederzeit (Voraussetzung: Interrupt ist nicht gesperrt) laufende Prozesse bzw. Tasks unterbrechen. Aufgrund dieser Handhabung kann man ein Echtzeitsystem bezüglich der Priorität in ein Zwei-Schichten-Modell aufteilen: Schicht hoher Priorität Interruptserviceroutinen Schicht niedriger Priorität Prozesse bzw. Tasks In computer systems, in particular real-time systems, time-critical processing parts are usually carried out by interrupt service routines, which are triggered by an interrupt source through a corresponding interrupt request. The interrupt service routines can interrupt running processes or tasks at any time (prerequisite: interrupt is not blocked). Because of this handling, a real-time system can be divided into a two-tier model in terms of priority: High priority layer Interrupt service routines Low priority layer Processes or tasks

Innerhalb jeder dieser beiden Schichten gibt es wiederum eine eigene Prioritätseinteilung. Prioritäten zwischen den Interruptserviceroutinen sind durch die Hardware oder die Einstellung der Interruptcontroller vorgegeben, während Prioritäten zwischen den Prozessen innerhalb der Prozesse selbst, d.h. durch den Anwendungsprogrammierer festlegbar (konfigurierbar) sind. Die Interruptserviceroutinen (ISR) können mit einem Prozess über Betriebssystemfunktionen kommunizieren, die aus der jeweiligen Interruptserviceroutine aufgerufen werden.There is one within each of these two layers own prioritization. Priorities between interrupt service routines are due to the hardware or the setting the interrupt controller specified while priorities between the processes within the processes themselves, i.e. definable by the application programmer (configurable) are. The interrupt service routines (ISR) can be done with a Process that communicate via operating system functions of the respective interrupt service routine.

Als Interruptbeispiel werde ein Puffer betrachtet, der in gefülltem Zustand einen Interrupt auslöst. Aufgrund der Interruptauslösung (Interruptanforderung) wird vom Betriebssystem die zugehörige Interruptserviceroutine ermittelt und angestoßen. Die genannte Interruptserviceroutine leert dann den Puffer und sendet den Inhalt zur Auswertung oder Weiterverarbeitung mit Hilfe einer Betriebssystemfunktion an einen Prozess. Handelt es sich nun bei dem betrachteten Puffer um einen Sende- oder Empfangspuffer bei Datenübertragungsvorgängen in der Telekommunikationstechnik, so muß der zugehörige Interrupt den in der Länge stark begrenzten Puffer entsprechend schnell bedienen (d.h. nur kurze Sperrzeit des Puffers), um Datenverluste und dadurch eine Übertragungswiederholung (durch das verwendete Protokoll, z.B. HDLC) zu vermeiden. Je größer die Anzahl der Interruptquellen ist, um so reaktionsschneller müssen somit die zugehörigen Interruptserviceroutinen sein. Aufgrund der vielfach von Interruptserviceroutinen zu verwendenden Betriebssystemfunktionen, die erfahrungsgemäß die meiste Zeit einer Interruptserviceroutine in Anspruch nehmen, kann die Zeitdauer einer Interruptserviceroutine jedoch nicht beliebig verkürzt werden.As an interrupt example, consider a buffer that is filled State triggers an interrupt. Due to the triggering of the interrupt (Interrupt request) is from the operating system the associated interrupt service routine is determined and triggered. The said interrupt service routine then empties the buffer and sends the content for evaluation or further processing to a process using an operating system function. If the buffer under consideration is now a send or receive buffer for data transmission processes in the Telecommunications technology, so the associated interrupt the buffer, which is very limited in length, correspondingly quickly use (i.e. only short blocking time of the buffer) to avoid data loss and thereby a retransmission (by the protocol used, e.g. To avoid HDLC). The bigger the The number of interrupt sources is the more responsive the associated interrupt service routines must therefore be. Due to the multiple use of interrupt service routines Operating system functions that experience has shown to be the most Take the time of an interrupt service routine, however, the duration of an interrupt service routine cannot can be shortened as desired.

Der Erfindung liegt die Aufgabe zugrunde, ein Interruptbehandlungssystem anzugeben, das es ermöglicht, zeitkritische Aufgaben noch schneller als bisher durchzuführen.The invention has for its object an interrupt handling system indicate that it allows time-critical Perform tasks even faster than before.

Diese Aufgabe wird durch ein Interruptbehandlungssystem mit den Merkmalen des Anspruchs 1 gelöst.This task is handled by an interrupt handling system solved the features of claim 1.

Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert.An exemplary embodiment of the invention is described below the drawing explained in more detail.

Durch das erfindungsgemäße Interruptbehandlungssystem wird eine Zweiteilung der Interruptbehandlung in Interruptserviceroutinen und in Interruptprozeduren erreicht. Dadurch ergibt sich bezüglich der Prioritäten in einem Echtzeitsystem folgendes Drei-Schichten-Modell: Schicht hoher Priorität Interruptserviceroutinen Schicht mittlerer Priorität Interruptprozeduren Schicht niedriger Priorität Prozesse bzw. Tasks The interrupt handling system according to the invention enables the interrupt handling to be divided into two in interrupt service routines and in interrupt procedures. This results in the following three-tier model with regard to the priorities in a real-time system: High priority layer Interrupt service routines Medium priority layer Interrupt procedures Low priority layer Processes or tasks

Innerhalb jeder einzelnen Schicht (auch in der neu hinzugekommenen Schicht der Interruptprozeduren) gibt es nach wie vor eine eigene Prioritäteneinteilung. Im Unterschied zur bisherigen Lösung müssen aber nunmehr in den Interruptserviceroutinen keine zeitraubenden Betriebssystemfunktionen (wie beispielsweise "Poolelement-Holen zum Versenden einer Meldung an einen Prozess") mehr verwendet werden. Mit anderen Worten muß eine Interruptserviceroutine nun nur noch insoweit auf den Interrupt reagieren, daß dieser wieder freigegeben werden kann und die Interruptroutine muß je nach Interruptart dem Betriebssystem die Adresse einer auszuführenden Interruptprozedur mitteilen. Die Interruptprozeduren übernehmen dann später den zeitintensiven Bearbeitungsteil der Interruptbehandlung (beispielsweise die Ausführung einer Betriebssystemfunktion) und können jederzeit durch einen erneuten Interrupt unterbrochen werden. Ein Aufruf der Interruptprozeduren bzw. eine Fortsetzung der Interruptprozeduren erfolgt dann vom Betriebssystem, wenn keine Interruptserviceroutinen mehr zur Bearbeitung anstehen. Schließlich kommen nach Abarbeitung aller Interruptprozeduren die Prozesse mit der Verarbeitung an die Reihe.Within every single shift (also in the new one added Layer of interrupt procedures) are still there before its own prioritization. In contrast to previous solution must now in the interrupt service routines no time-consuming operating system functions (such as "Get pool item to send one Message to a process ") can be used. With others An interrupt service routine now only has to say so far react to the interrupt that it is released again can and the interrupt routine must, depending on the type of interrupt the operating system the address of an interrupt procedure to be executed communicate. The interrupt procedures take over then later the time-consuming processing part of the interrupt handling (for example the execution of an operating system function) and can be interrupted again at any time to be interrupted. A call to the interrupt procedures or the interrupt procedures are continued from the operating system if no interrupt service routines more to work on. Finally come after processing of all interrupt procedures the processes with the processing its turn.

Um das erfindungsgemäße Interruptsystem für die Anwendung einfach und sicher zu machen, enthalten auch die Interruptserviceroutinen Betriebssystemfunktionen, jedoch nur solche, die ausschließlich für den Zweck der erfindungsgemäßen zweiteiligen Interruptbehandlung vorgesehen sind. Genauer gesagt handelt es sich bei diesen Betriebssystemfunktionen um eine Funktion zur Übergabe von Interruptprozeduren mit Angabe einer Priorität (gültig für die Schicht der Interruptprozeduren) aus einer Interruptserviceroutine an das Betriebssystem und um je eine Funktion als Vor- und Nachspann, die zwingend am Beginn bzw. am Ende einer Interruptserviceroutine aufgerufen werden muß. Durch die letzteren Funktionen werden Aufgaben vom Betriebssystem erledigt, die zentral für alle Interruptserviceroutinen durchzuführen sind (z.B. Verwendung eines gemeinsamen Stacks, Starten der Abarbeitung der Interruptprozeduren, Steuerung des jeweiligen Interruptcontrollers, usw.).To the interrupt system according to the invention for the application The interrupt service routines also contain simple and safe to make Operating system functions, but only those the only for the purpose of the two-part according to the invention Interrupt handling are provided. More specifically these operating system functions are one Function for transferring interrupt procedures with specification of a Priority (valid for the layer of interrupt procedures) from an interrupt service routine to the operating system and one function each as opening and closing credits, which are mandatory called at the beginning or end of an interrupt service routine must become. The latter functions make tasks done by the operating system, which is central for all interrupt service routines must be carried out (e.g. use of a common stacks, starting the processing of the interrupt procedures, Control of the respective interrupt controller, etc.).

Im folgenden wird nochmals in etwas genauerer Weise die erfindungsgemäße Interruptbehandlung erläutert. In the following, the inventive method will be used again in a somewhat more precise manner Interrupt handling explained.

Die erfindungsgemäße Interruptbehandlung erfolgt in zwei Teilen. Der erste Teil ist die eigentliche Interruptserviceroutine, die nach Auftreten eines entsprechenden Interrupts über die Interruptvektor-Tabelle ermittelt wird. Die Interruptserviceroutine bearbeitet den zeitkritischen Teil der Interrupt-Behandlung und darf nur die exklusiv für die Interruptserviceroutinen vorgesehenen Betriebssystemfunktionen benutzen.The interrupt handling according to the invention takes place in two parts. The first part is the actual interrupt service routine, after an appropriate interrupt occurs the interrupt vector table is determined. The interrupt service routine processes the time-critical part of the interrupt handling and may only be used exclusively for the interrupt service routines use the intended operating system functions.

Der zweite Teil der Interruptbehandlung, nämlich die Interruptprozedur läuft unter der Kontrolle des Betriebssystems, bearbeitet die zeitunkritischeren Anteile des Interrupts und kann uneingeschränkt Betriebssystemfunktionen verwenden. Interruptprozeduren werden vom Betriebssystem aus aufgerufen, sobald keine Interruptserviceroutine mehr zur Bearbeitung ansteht.The second part of the interrupt handling, namely the interrupt procedure runs under the control of the operating system, processes the less critical parts of the interrupt and can use operating system functions without restriction. Interrupt procedures are called from the operating system, as soon as no interrupt service routine is waiting to be processed.

Das Betriebssystem wird über eine von einer Interruptserviceroutine benutzte Betriebssystemfunktion informiert, wenn ein zweiter Teil der Interruptbehandlung notwendig ist. Die Adresse der Interruptprozedur, die den zweiten Bearbeitsteil beinhaltet, wird dabei als Parameter übergeben, ebenso die Priorität dieser Interruptprozedur. Das Betriebssystem kettet daraufhin diesen Auftrag entsprechend der mitgelieferten Priorität in eine prioritätsgesteuerte Warteschlange ein.The operating system is run by an interrupt service routine used operating system function informs if a second part of interrupt handling is necessary. The Address of the interrupt procedure that the second processing part is passed as a parameter, as is the Priority of this interrupt procedure. The operating system chains then this order according to the supplied one Priority in a priority queue.

Die Anzahl der vom Betriebssystem aufzurufenden Interruptprozeduren ist beliebig, d.h. abhängig von dem entsprechenden Interrupt, und nur durch die Anzahl der möglichen Einträge in die genannte prioritätsgesteuerte Warteschlange begrenzt.The number of interrupt procedures to be called by the operating system is arbitrary, i.e. depending on the corresponding one Interrupt, and only by the number of possible entries in the above-mentioned priority-controlled queue is limited.

Nach Beendigung der Behandlung der letzten Interruptserviceroutine wird vom Betriebssystem das Ausketten aus der prioritätsgesteuerten Warteschlange und damit die sequentielle Abarbeitung der Interruptprozeduren angestoßen. Erst wenn die genannte prioritätsgesteuerte Warteschlange leer ist, wird der Scheduler aufgerufen und zu demjenigen Prozess verzweigt, der die höchste Priorität hat und im Zustand "ready to run" ist.After finishing the last interrupt service routine is the chaining out of the operating system priority-controlled queue and thus the sequential Processing of the interrupt procedures initiated. First if said priority queue is empty the scheduler is called and to that process branches, which has the highest priority and in the state is "ready to run".

Wie bereits erwähnt, gibt es aufgrund der erfindungsgemäßen Zweiteilung der Interruptbehandlung drei verschiedene Prioritätsschichten. Die höchste Prioritätsschicht wird von den Interruptserviceroutinen gebildet, die jederzeit Interruptprozeduren oder Prozesse unterbrechen können. Je nach Priorität einer Interruptquelle im Interruptcontroller und dessen Zustand der "Interrupt in Service"-Bits können die Interruptserviceroutinen beliebig verschachtelt sein. Die Interruptprozeduren werden erst im Anschluß an die Interruptserviceroutinen abhängig von ihrer Priorität sequentiell hintereinander abgearbeitet. Für die Koordinierung des Ablauf ist eine zentrale Steuerung durch zwei Betriebssystemfunktionen vorgesehen, die von jeder Interruptserviceroutine aufgerufen werden müssen.As already mentioned, there are due to the invention Bipartite interrupt handling three different priority layers. The highest priority layer is from the interrupt service routines formed the interrupt procedures at any time or interrupt processes. Depending on the priority an interrupt source in the interrupt controller and its state the "interrupt in service" bits can be used by the interrupt service routines can be nested as desired. The interrupt procedures are only after the interrupt service routines depending on their priority sequentially worked off. There is one for coordinating the process central control provided by two operating system functions, that are called by each interrupt service routine have to.

Erst wenn die Interruptbehandlung (Interruptserviceroutinen und Interruptprozeduren) abgeschlossen ist, wird vom Scheduler dem höchstpriorisierten lauffähigen Prozess der Prozessor zugeteilt. Die Prioritäten innerhalb der Prozesse werden durch die Betriebssystem-Generierung festgelegt, können aber dynamisch geändert werden.Only when interrupt handling (interrupt service routines and interrupt procedures) is completed by the scheduler the highest priority executable process the processor allocated. The priorities within the processes will be determined by the operating system generation, but can be changed dynamically.

Durch die genannte erfindungsgemäße Interrupt-Behandlung erreicht man eine schnellstmögliche Reaktion auf eingetretene Ereignisse. Die zeitunkritische und meist zeitaufwendigere Bearbeitung (z.B. Poolelement-Holen, usw...) erfolgt in einem nachfolgenden Teil, der aber von jedem beliebigen Interrupt unterbrechbar ist. Würde dieser nachfolgende Teil innerhalb einer Interruptserviceroutine bearbeitet werden, müßte ein Interrupt mit niedrigerer Priorität während dieser Zeit warten, was die Gefahr des Datenverlusts birgt, wenn z.B. ein Empfangspuffer nicht rechtzeitig geleert wird. Die erfindungsgemäße Interruptbehandlung ist insbesondere für das Abfangen von Interrupt-Bursts geeignet. Achieved by said interrupt handling according to the invention one of the fastest possible responses to occurrences Events. The time-uncritical and mostly time-consuming Processing (e.g. fetching pool elements, etc.) takes place in one subsequent part, but of any interrupt is interruptible. Would this subsequent part be within an interrupt service routine would have to be processed Wait lower priority interrupt during this time which carries the risk of data loss if e.g. on Receive buffer is not emptied in time. The invention Interrupt handling is especially for interception interrupt bursts.

Die Unterschiede zwischen der bisherigen und der erfindungsgemäßen Interruptbehandlung werden im folgenden anhand der FIG 1 (bisherige Interruptbehandlung) und FIG 2 (erfindungsgemäße Interruptbehandlung) veranschaulicht. Die FIG 1 und 2 veranschaulichen dabei ein Beispiel aus der Telekommunikationstechnik, bei dem eine ISDN-Teilnehmeranschlußbaugruppe eines Vermittlungssystems 24 ISDN-Teilnehmer bedient. Die hauptsächliche Arbeitsbelastung entsteht hierbei durch die Verarbeitung der Signalisierungs- und Paketdaten (s- und p-Daten des D-Kanals). In dem Figurenbeispiel wird angenommen, daß die Teilnehmeranschlußbaugruppe über entsprechende Empfangspuffer für die Teilnehmer A, B und C quasi gleichzeitig entsprechende Frames empfängt. Aufgrund der Statusänderung in den Empfangspuffern der genannten Teilnehmer werden entsprechende Interruptsignale (Receive-Interrupt) erzeugt. Nachdem vom Prozessor der Teilnehmeranschlußbaugruppe ermittelt worden ist, daß es sich um Interruptsignale der Empfangspuffer handelt, werden entsprechende Interruptserviceroutinen aufgerufen. Die sich daran anschließenden Abläufe können den FIG 1 und 2 selbst entnommen werden.The differences between the previous and the present Interrupt handling are described below using the 1 (previous interrupt handling) and 2 (inventive Interrupt handling). 1 and 2 illustrate an example from telecommunications technology, in which an ISDN subscriber line module Switching system 24 ISDN subscribers served. The the main workload arises from the Processing of signaling and packet data (s and p data of the D channel). In the figure example it is assumed that the subscriber line module via appropriate receive buffers for participants A, B and C almost simultaneously receives corresponding frames. Due to the status change in the receive buffers of the named participants are corresponding Interrupt signals (receive interrupt) generated. After this have been determined by the processor of the subscriber line module is that it is interrupt signals of the receive buffer appropriate interrupt service routines are called. The subsequent processes can be seen in FIG and 2 can be removed by yourself.

Claims (3)

  1. Interrupt handling system of an operating system, having
    a) interrupt service routines (ISR) which carry out the time-critical part of an interrupt action, and may use only those operating system functions which are intended exclusively for the interrupt service routines, and
    b) interrupt procedures, which carry out that part of an interrupt action which is not time critical and can use operating system functions without any limitation, with an interrupt service routine sending a message to the operating system about an interrupt procedure which is still to be called up in the course of an interrupt action, and the operating system calling the interrupt procedures reported in this way only when there are no more interrupt service routines for processing.
  2. Interrupt handling system according to Claim 1,
    characterized
    in that the operating system controls the sequence in which the reported interrupt procedures are called on the basis of priority information which is contained in the said messages from the interrupt service routine.
  3. Interrupt handling system according to Claim 1 or 2,
    characterized by
    two operating system functions which co-ordinate the correct sequence for interleaved interrupt service routines, and which are called up by an interrupt service routine at the start and end.
EP19950114821 1995-09-20 1995-09-20 Interrupt handling in an operating system Expired - Lifetime EP0764901B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE59509024T DE59509024D1 (en) 1995-09-20 1995-09-20 Interrupt handling system of an operating system
EP19950114821 EP0764901B1 (en) 1995-09-20 1995-09-20 Interrupt handling in an operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19950114821 EP0764901B1 (en) 1995-09-20 1995-09-20 Interrupt handling in an operating system

Publications (2)

Publication Number Publication Date
EP0764901A1 EP0764901A1 (en) 1997-03-26
EP0764901B1 true EP0764901B1 (en) 2001-02-14

Family

ID=8219638

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19950114821 Expired - Lifetime EP0764901B1 (en) 1995-09-20 1995-09-20 Interrupt handling in an operating system

Country Status (2)

Country Link
EP (1) EP0764901B1 (en)
DE (1) DE59509024D1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689749B2 (en) 2004-10-18 2010-03-30 Mstar Semiconductor, Inc. Interrupt control function adapted to control the execution of interrupt requests of differing criticality

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19727480C1 (en) * 1997-06-27 1998-12-24 Gruendl & Hoffmann Interrupt control computer system
DE10253155A1 (en) * 2002-11-14 2004-05-27 Siemens Ag Method for controlling an automation system
GB2624384B (en) * 2022-11-15 2025-01-01 Advanced Risc Mach Ltd Exception signalling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689749B2 (en) 2004-10-18 2010-03-30 Mstar Semiconductor, Inc. Interrupt control function adapted to control the execution of interrupt requests of differing criticality

Also Published As

Publication number Publication date
DE59509024D1 (en) 2001-03-22
EP0764901A1 (en) 1997-03-26

Similar Documents

Publication Publication Date Title
DE69520886T2 (en) SYSTEM AND METHOD FOR PROCESSING SIGNAL DATA AND COMMUNICATION SYSTEM WITH SYSTEM FOR PROCESSING SIGNAL DATA
DE3043894C2 (en)
EP0333123B1 (en) Modulary structured ISDN communication system
DE69702708T2 (en) METHOD AND DEVICE FOR CLIENT-MANAGED FLOW CONTROL IN A COMPUTER SYSTEM WITH LIMITED STORAGE
EP0635784B1 (en) Multiprocessorsystem
DE2913288A1 (en) MULTIPROCESSOR SYSTEM
DE69418823T2 (en) Message processing system
DE68925462T2 (en) Semaphore architecture
DE68920028T2 (en) Method and device for multiple access with cyclical reservation in a communication system.
EP0466948B1 (en) Communications system with a multi-processor system serving as the central control
DE3311866A1 (en) CIRCUIT ARRANGEMENT FOR TELECOMMUNICATION SYSTEMS, ESPECIALLY TELECOMMUNICATION SYSTEMS WITH INFORMATION-PROCESSING SWITCHGEAR AND DEVICES TO DEFEND OVERLOAD
CH653783A5 (en) CONTROL DEVICE, ESPECIALLY FOR TELEPHONE SWITCHING SYSTEMS.
DE102008001548B4 (en) Subscriber node of a communication system, communication system and method for transmitting a message in the communication system
EP0764901B1 (en) Interrupt handling in an operating system
EP0463207A1 (en) Program-controlled communications system
EP0680238A2 (en) Program-controlled arrangement, in particular a broadband-ISDN-communication arrangement, with at least one switching operation running therein
EP0360917B1 (en) Method and circuit arrangement for controlling a serial interface circuit
EP0472775B1 (en) Programm-controlled communications system, especially switching exchange
WO2000022537A1 (en) Electronic control device comprising a parallel databus, and a method for operating the control device
EP1358735B1 (en) Unit for distributing and processing data packets
EP0562353A2 (en) Method to transfer high priority programms and data in a communications system
DE69520885T2 (en) SYSTEM AND METHOD FOR DATA PROCESSING WITH DISTRIBUTED LOAD AND COMMUNICATION SYSTEM WITH LOAD DISTRIBUTION
EP1291744A2 (en) Method and device for synchronisation
DE2732068A1 (en) Peripheral unit control for telephone exchange - transfers commands by way of common address, data and command buses to transfer switching circuit
EP0586847B1 (en) Method for interrupt control of processes in communication systems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT SE

17P Request for examination filed

Effective date: 19970421

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT SE

17Q First examination report despatched

Effective date: 19990517

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

RIN1 Information on inventor provided before grant (corrected)

Inventor name: SYRCH, WOLFGANG, ING.

Inventor name: WEISS, ALFONS, ING.

Inventor name: WEISS, MARTIN, DIPL.-ING. (FH)

Inventor name: SCHAUER, GUENTHER, DIPL.-ING.

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT SE

REF Corresponds to:

Ref document number: 59509024

Country of ref document: DE

Date of ref document: 20010322

ET Fr: translation filed
ITF It: translation for a ep patent filed
GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20010424

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20021118

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 20030904

Year of fee payment: 9

Ref country code: GB

Payment date: 20030904

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20030930

Year of fee payment: 9

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20040401

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20040920

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20040921

EUG Se: european patent has lapsed
GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20040920

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050531

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20050920