DE10000571A1 - Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program - Google Patents
Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time programInfo
- Publication number
- DE10000571A1 DE10000571A1 DE2000100571 DE10000571A DE10000571A1 DE 10000571 A1 DE10000571 A1 DE 10000571A1 DE 2000100571 DE2000100571 DE 2000100571 DE 10000571 A DE10000571 A DE 10000571A DE 10000571 A1 DE10000571 A1 DE 10000571A1
- Authority
- DE
- Germany
- Prior art keywords
- real
- time
- program
- clock source
- operating system
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Abstract
Description
Die Erfindung beschreibt ein Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern.The invention describes a method for expanding a non-real-time operating system with a real-time capable program, based on 2 independent timers.
Echtzeitfähige Betriebssysteme kennzeichnen sich durch ein deterministisches Zeitverhalten bzgl. der Ausführungszeiten (z. B. zeitgenaues aktivieren von Signalen) und den Reaktionszeiten (Latenzzeiten, z. B. vom Eintreffen eines Sensorsignals bis zur programmtechnischen Abarbeitung). Darüberhinaus besitzen echtzeitfähige Multitasking-Betriebssysteme ein deterministisches Zeitverhalten ihrer Programm-Umlaufzeit (Task-Umschaltzeit).Real-time capable operating systems are characterized by a deterministic time behavior regarding the Execution times (e.g. precise activation of signals) and reaction times (latency times, e.g. B. from the arrival of a sensor signal to program processing). Furthermore have real-time capable multitasking operating systems a deterministic time behavior of their Program cycle time (task switchover time).
Nicht-Echtzeitfähige Betriebssysteme besitzen kein, oder nur ein schwach ausgeprägtes deterministisches Zeitverhalten. Die Programm-Umlaufzeit, als auch Latenzzeiten können stark variieren, bis zum völligen Stillstand. Sie zeichnen sich jedoch in der Regel durch gute Visualisierungsmöglichkeiten aus und ermöglichen eine standardisierte Bedienerführung, sowie den Einsatz von standardisierten Entwicklungswerkzeugen.Operating systems that are not real-time capable have no, or only a weak, pronounced one deterministic time behavior. The program turnaround time, as well as latency times can be strong vary until completely stopped. However, they are usually characterized by good ones Visualization options and enable standardized operator guidance, as well as the Use of standardized development tools.
Eine Kombination der Eigenschaften ist daher sinnvoll, insbesondere wenn das Betriebssystem für Steuerungsaufgaben in der Automations- oder Messtechnik eingesetzt werden soll.A combination of the properties is therefore useful, especially if the operating system for Control tasks in automation or measurement technology should be used.
Die Programm-Umlaufzeit bei einer PC-basierenden Plattform wird durch den System-Interrupt (IRQ0) vorgegeben, welcher vom systemeigenen Zeitgeber erzeugt wird. Nicht-echtzeitfähige Multitasking- Betriebssysteme verwalten die Umlaufzeit der einzelnen Programme prioritätsgesteuert, welches hoch-priore Programme gegenüber nieder-prioren bevorzugt. Im schlechtesten Fall wird daher ein nieder-priores Programm vom Prozessor nicht mehr behandelt. Ein deterministisches Verhalten kann hierbei nur dem höchst-prioren Programm, bzw. dem Verwaltungsalgorithmus des Betriebssystems selbst zugeschrieben werden.The program turnaround time on a PC-based platform is determined by the system interrupt (IRQ0) which is generated by the system's own timer. Non-real-time capable multitasking Operating systems manage the round trip time of the individual programs with priority High-priority programs preferred over low-priority ones. In the worst case, therefore low-priority program no longer handled by the processor. A deterministic behavior can only the highest-priority program or the management algorithm of the operating system be attributed to yourself.
Bekannte Verfahren zur Implementation von echtzeitfähigen Programmen in nicht-echtzeitfähige Betriebssysteme rufen daher das echtzeitfähige Programm direkt nach dem Eintreffen des System- Interrupts auf (noch vor dem Aufruf des Verwaltungsalgorithmus des nicht-echtzeitfähigen Betriebssystems), um ein deterministisches Zeitverhalten zu gewährleisten. Ein, in das echtzeitfähige Programm zusätzlicher integrierter, Verteilungsalgorithmus ruft hierbei sequentiel sowohl die eigentlichen Betriebssystem-Verwaltung, als auch das echtzeitfähige Programm auf. Durch die sequentielle Abarbeitung des System-Interrupts bleiben die Prioritäten für das nicht-echtzeitfähige Betriebssystem und für das echtzeitfähige Programm identisch. Dies kann zur Folge haben, daß das Betriebssystem den deterministischen Ablauf blockieren kann.Known methods for implementing real-time capable programs in non-real-time capable Operating systems therefore call the real-time capable program immediately after the system Interrupts on (even before calling the management algorithm of the non-real-time capable Operating system) to ensure deterministic time behavior. One in the real time capable Program of additional integrated, distribution algorithm calls sequentially both the actual operating system management, as well as the real-time capable program. Through the sequential processing of the system interrupt remains the priority for the non-real-time capable Operating system and identical for the real-time capable program. This can have the consequence that the Operating system can block the deterministic process.
Der erfindungsgemäße Lösungsansatz beruht dabei auf der software-technischen Trennung des bestehenden nicht-echzeitfähigen Betriebssystem von seiner hoch-prioren System-Takt-Quelle und dessen Anbindung an eine zweite, nieder-prioren Takt-Quelle (als 2. Takt-Quelle kommen hierbei sowohl die interne Echtzeit-Uhr, als auch eine externe Takt-Quelle in Frage). Die somit freigewordene hoch-priore System-Takt-Quelle wird nun für das echtzeitfähigen Programm eingesetzt. Das nicht- echtzeitfähige Betriebsystem ist bei diesem Verfahren von dem echzeitfähigen Programm asynchron entkoppelt. Die Takt-Quellen sind bei diesem Verfahren voneinander unabhängig.The approach according to the invention is based on the software-technical separation of the existing non-real-time operating system from its high-priority system clock source and its connection to a second, lower-priority clock source (here come as a second clock source both the internal real-time clock and an external clock source in question). The thus released high-priority system clock source is now used for the real-time capable program. Not that one- With this method, the real-time capable operating system is asynchronous from the real-time capable program decoupled. The clock sources are independent of one another in this method.
Mit diesem Verfahren können für das echtzeitfähige Programm geringere Umlaufzeiten erreicht werden, da im Gegensatz zu anderen echtzeitfähigen Betriebssystem-Erweiterungen kein zusätzlicher Verwaltungsalgorithmus innerhalb des Echtzeit-Programms benötigt wird. Hierbei können typische Umlaufzeiten des echtzeitfähigen Programms unterhalb 10 us (Mikro Sekunden) erreicht werden. Die Umlaufzeiten des echtzeitfähigen Programms sind dabei abhängig von den Leistungsmerkmalen der Hardware-Plattform frei einstellbar. With this method, shorter cycle times can be achieved for the real-time program unlike other real-time operating system extensions, there is no additional Management algorithm within the real-time program is needed. Typical Circulation times of the real-time capable program below 10 us (micro seconds) can be achieved. The Circulation times of the real-time capable program depend on the performance characteristics of the Hardware platform freely adjustable.
Ein weiterer Vorteil dieses Verfahrens besteht durch die unterschiedlichen Hardware-Interrupt- Prioritäten der beiden Takt-Quellen. Die hochprioren System-Verwaltungs-Funktionen des Betriebssystem können nun selbst durch den höchst-prioren Hardware-Interrupt (Takt-Quelle für das echtzeitfähige Programm) unterbrochen und somit das deterministische Zeitverhalten des echtzeitfähigen Programms aufrechterhalten werden.Another advantage of this method is the different hardware interrupt Priorities of the two clock sources. The high priority system management functions of the Operating system can now even by the highest priority hardware interrupt (clock source for the real-time capable program) and thus the deterministic time behavior of the real-time program can be maintained.
Das Verfahren eignet sich besonders für PC-basierende Plattformen. Bei PC-basierenden Platformen dient standardmäßig der interne System-Interrupt (IRQ0, höchstpriore Hardware-Interrupt) als System- Takt-Quelle für das exsistierenden nicht-echtzeitfähigen Betriebssystems. Das nicht-echtzeitfähige Betriebssystem wird nun von diesem Interrupt entkoppelt und einem neuen nieder-prioren Hardware- Interrupt zugeordnet. Hierbei kommen insbesonde die Interrupts IRQ3, IRQ4 (serielle Schnittstellen- Interrupts) oder der Interrupt IRQ8 (Echtzeit-Timer kaskadiert auf IRQ2) in Frage. Werden die Interrupts IRQ3 oder IRQ4 als System-Takt-Quelle für das nicht-echtzeitfähige Betriebssystem genutzt so kann dies durch einen externen Taktgeber an der seriellen Schnittstelle erfolgen. Wird hingegen der Interrupt IRQ8 als System-Takt-Quelle genutzt, kann auf einen externen Taktgeber verzichtet werden, jedoch muß ein Verwaltungsalgorithmus für die bestehende IRQ8 Interrupt-Behandlung vorgesehen werden. Das echzeitfähige Programm wird nun an den freien System-Interrupt (IRQ0) angehäng und kann asynchron zum nicht-echtzeitfähigen Betriebssystem ablaufen.The process is particularly suitable for PC-based platforms. For PC-based platforms By default, the internal system interrupt (IRQ0, highest priority hardware interrupt) serves as a system Clock source for the existing non-real-time operating system. The not real-time capable Operating system is now decoupled from this interrupt and a new low-priority hardware Interrupt assigned. The interrupts IRQ3, IRQ4 (serial interface Interrupts) or the interrupt IRQ8 (real-time timer cascaded on IRQ2) in question. Will the Interrupts IRQ3 or IRQ4 are used as the system clock source for the non-real-time operating system this can be done by an external clock on the serial interface. However, will the interrupt IRQ8 used as a system clock source, there is no need for an external clock However, a management algorithm for the existing IRQ8 interrupt handling must be used be provided. The real-time capable program is now connected to the free system interrupt (IRQ0) attached and can run asynchronously to the non-real-time capable operating system.
Das echzeitfähige Programm wird zur Laufzeit des nicht-echtzeitfähigen Betriebssystems installiert.
Hierbei wird folgende Reihenfolge eingehalten:
(Siehe Fig. 1 Betriebssystem vor Installation der Echtzeiterweiterung)The real-time capable program is installed at the runtime of the non-real-time operating system. The following sequence is followed:
(See Fig. 1 Operating system before installing the real-time extension)
- a) Deaktivieren sämtlicher Hardware-Interruptsa) Deactivate all hardware interrupts
- b) Umsetzung des nicht-echzeitfähigen Betriebssystems auf den nieder-prioren Interrupt (2. Takt- Geber)b) Implementation of the non-real-time operating system on the low-priority interrupt (2nd clock Giver)
- c) Ankopplung des echtzeitfähigen Subsystems an den vorherigen hoch-prioren Interrupt (System- Takt-Geber)c) coupling the real-time capable subsystem to the previous high-priority interrupt (system Clock generator)
- d) Einstellung der Zeitbasis für den hoch-prioren Interrupt-Taktd) Setting the time base for the high-priority interrupt clock
- e) Einstellung der Zeitbasis für den nieder-prioren Interrupt-Takt (falls programmierbar)e) Setting the time base for the low-priority interrupt clock (if programmable)
- f) Aktivieren sämtlicher Hardware-Interruptsf) Activate all hardware interrupts
(Siehe (Please refer
Fig.Fig.
2 Betriebssystem nach Installation der Echtzeiterweiterung)2 operating system after installation of the real-time extension)
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000100571 DE10000571A1 (en) | 2000-01-10 | 2000-01-10 | Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2000100571 DE10000571A1 (en) | 2000-01-10 | 2000-01-10 | Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10000571A1 true DE10000571A1 (en) | 2001-07-19 |
Family
ID=7627022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2000100571 Ceased DE10000571A1 (en) | 2000-01-10 | 2000-01-10 | Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10000571A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4104365C1 (en) * | 1991-02-13 | 1992-03-05 | Siemens Ag, 8000 Muenchen, De | |
EP0499178A1 (en) * | 1991-02-08 | 1992-08-19 | Nec Corporation | System clock switching mechanism for microprocessor |
-
2000
- 2000-01-10 DE DE2000100571 patent/DE10000571A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0499178A1 (en) * | 1991-02-08 | 1992-08-19 | Nec Corporation | System clock switching mechanism for microprocessor |
DE4104365C1 (en) * | 1991-02-13 | 1992-03-05 | Siemens Ag, 8000 Muenchen, De |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0851348B1 (en) | Method and device for implementing a realtime control program in a non realtime control program | |
Welch | The statistical analysis of simulation results | |
DE60006422T2 (en) | TASK SEQUENCE PLANNING AND MESSAGE TRANSMISSION | |
EP2232369B1 (en) | Computer system, control apparatus for a machine, in particular for an industrial robot, and industrial robot | |
EP0655682A1 (en) | Multitasking arithmetic unit | |
US5077763A (en) | Mechanism for measuring the service times of software and hardware components in complex systems | |
DE102010043569A1 (en) | Method and apparatus for scheduling tasks for controlling hardware devices | |
EP0764906A3 (en) | Method of operating a real time computer system controlled by a real time operating system | |
EP0991986B1 (en) | Method for process monitoring, control and adjustment | |
DE4223454A1 (en) | Digital signal processor with direct memory access controller - performs different transfers of data according to relationship of input-output period to task processing time | |
DE10000571A1 (en) | Non-real time operating system extension for automation, metrology applications, involves assigning free high priority system clock source, to real-time program | |
DE102018221534A1 (en) | System and method for measuring the response time of event strings | |
EP0616274B1 (en) | Synchronisation method for an automation system | |
DE10039277A1 (en) | Procedure for the timely execution of a target function | |
CN111638965B (en) | Command queue inter-fence synchronization method and system based on fence replication and handshake | |
EP1320047A2 (en) | Method for analyzing the temporal behavior of complex distributed systems | |
EP1136896A3 (en) | Highly available computer system and method for switching processing programs in a highly available computer system | |
CN112578744B (en) | Method and configuration tool for scheduling one or more control applications on an industrial controller | |
DE102020102996A1 (en) | Process for an integrated design for the modeling, simulation and testing of a real-time architecture within a model-based system and software development | |
EP4012516A1 (en) | Plc execution environment | |
EP0991995B1 (en) | Interrupt method in a computer system with interrupt control | |
Dong et al. | Capturing Concurrent Interactions of Mission Computer Tasks | |
EP3413204B1 (en) | Method for parallel administration of continuous and task-synchronous input data of a real-time system | |
Carpenito et al. | The allocation of non-identical machines among non-identical servers | |
AT513762B1 (en) | A method of preventing interruption of a specified instruction sequence of a process by another process in a data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |