[go: up one dir, main page]

DE10000571A1 - Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern - Google Patents

Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern

Info

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
Application number
DE2000100571
Other languages
English (en)
Inventor
Juergen Rall
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE2000100571 priority Critical patent/DE10000571A1/de
Publication of DE10000571A1 publication Critical patent/DE10000571A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung beschreibt ein Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern. DOLLAR A Echtzeitfähige Betriebssysteme kennzeichnen sich durch ein deterministisches Zeitverhalten bzgl. der Ausführungszeiten und den Reaktionszeiten. Nicht-echtzeitfähige Betriebssysteme besitzen kein oder nur ein schwach ausgeprägtes deterministisches Zeitverhalten, jedoch gute Visualisierungsmöglichkeiten und Entwicklungsstandards. Eine Kombination der Eigenschaften ist sinnvoll, insbesondere wenn das Betriebssystem für Steuerungsaufgaben in der Automations- oder Messtechnik eingesetzt werden soll. DOLLAR A Das Verfahren beruht auf der Trennung des bestehenden nicht-echtzeitfähigen Betriebssystems von seiner hoch-prioren System-Takt-Quelle und dessen Anbindung an eine zweite, nieder-priore Takt-Quelle (z. B. interne PC-Echtzeit-Uhr, externe Takt-Quelle). Die freigewordene hoch-priore System-Takt-Quelle wird nun für das echtzeitfähige Programm eingesetzt. Das nicht-echtzeitfähige Betriebssystem ist bei diesem Verfahren von dem echtzeitfähigen Programm asynchron entkoppelt und die Takt-Quellen voneinander unabhängig.

Description

Die Erfindung beschreibt ein Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern.
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).
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.
Eine Kombination der Eigenschaften ist daher sinnvoll, insbesondere wenn das Betriebssystem für Steuerungsaufgaben in der Automations- oder Messtechnik eingesetzt werden soll.
Problemstellung
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.
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.
Lösungsansatz
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.
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.
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.
Einsatz des Verfahrens in PC-basierenden Plattformen
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.
Ablauf der System-Initialisierung
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)
  • a) Deaktivieren sämtlicher Hardware-Interrupts
  • b) Umsetzung des nicht-echzeitfähigen Betriebssystems auf den nieder-prioren Interrupt (2. Takt- Geber)
  • c) Ankopplung des echtzeitfähigen Subsystems an den vorherigen hoch-prioren Interrupt (System- Takt-Geber)
  • d) Einstellung der Zeitbasis für den hoch-prioren Interrupt-Takt
  • e) Einstellung der Zeitbasis für den nieder-prioren Interrupt-Takt (falls programmierbar)
  • f) Aktivieren sämtlicher Hardware-Interrupts
(Siehe
Fig.
2 Betriebssystem nach Installation der Echtzeiterweiterung)

Claims (5)

1. Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, dadurch gekennzeichnet, daß das bestehenden nicht-echzeitfähigen Betriebssystem software-technisch von seiner hoch-prioren System-Takt-Quelle getrennt wird und einer zweiten, nieder-prioren System-Takt-Quelle zugeordnet wird. Die somit freigewordene hoch-priore System- Takt-Quelle wird nun für das echtzeitfähigen Programm eingesetzt.
2. Verfahren gemäß Patentanspruch 1, dadurch gekennzeichnet, daß als 2. Takt-Quelle für das nicht- echtzeitfähige Programm sowohl die interne Echtzeit-Uhr-Steuerung, als auch eine externe Takt- Quelle in Frage kommt.
3. Verfahren gemäß Patentanspruch 1 und 2, dadurch gekennzeichnet, das die Takt-Quellen voneinander unabhängig sind.
4. Verfahren gemäß Patentanspruch 1, dadurch gekennzeichnet, daß die Programm-Umlaufzeit des echtzeitfähigen Programms, abhängig von den Leistungsmerkmalen der verwendeten Hardware- Plattform frei einstellbar ist.
5. Vorrichtung zur Erzeugung einer externen Takt-Quelle, gemäß Patentanspruch 2, dadurch gekennzeichnet, das Interrupts über die serielle Schnittstelle ausgelöst werden können.
DE2000100571 2000-01-10 2000-01-10 Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern Ceased DE10000571A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000100571 DE10000571A1 (de) 2000-01-10 2000-01-10 Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000100571 DE10000571A1 (de) 2000-01-10 2000-01-10 Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern

Publications (1)

Publication Number Publication Date
DE10000571A1 true DE10000571A1 (de) 2001-07-19

Family

ID=7627022

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000100571 Ceased DE10000571A1 (de) 2000-01-10 2000-01-10 Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern

Country Status (1)

Country Link
DE (1) DE10000571A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4104365C1 (de) * 1991-02-13 1992-03-05 Siemens Ag, 8000 Muenchen, De
EP0499178A1 (de) * 1991-02-08 1992-08-19 Nec Corporation Systemtaktumschaltverfahren für Mikroprozessor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0499178A1 (de) * 1991-02-08 1992-08-19 Nec Corporation Systemtaktumschaltverfahren für Mikroprozessor
DE4104365C1 (de) * 1991-02-13 1992-03-05 Siemens Ag, 8000 Muenchen, De

Similar Documents

Publication Publication Date Title
DE68923666T2 (de) Staffelverfahren zur Ausführung von verschachtelten Schleifen in Mehrprozessorrechnern.
EP2232369B1 (de) Computersystem, steuerungsvorrichtung für eine maschine, insbesondere für einen industrieroboter, und industrieroboter
US5077763A (en) Mechanism for measuring the service times of software and hardware components in complex systems
DE19648422A1 (de) Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm
EP0655682A1 (de) Recheneinheit mit mehreren ausführbaren Tasks
DE102010043569A1 (de) Verfahren und Vorrichtung zum Planen von Aufgaben zur Steuerung von Hardwareeinrichtungen
EP0764906A3 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE10300606B4 (de) Verfahren und Steuereinrichtung zum Anfahren einer Greifvorrichtung an ein sich bewegendes Stückgut
EP0991986B1 (de) Verfahren zur prozessüberwachung, steuerung und regelung
EP4012516A1 (de) Ausführungsumgebung für eine speicherprogrammierbare steuerung
DE10000571A1 (de) Verfahren zur Erweiterung eines nicht-echtzeitfähigen Betriebssystems mit einem echtzeitfähigen Programm, basierend auf 2 unabhängigen Zeitgebern
DE10065419A1 (de) Industrielle Steuerung mit taktsynchronem Ablaufebenenmodell
EP1320047B1 (de) Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
DE102018221534A1 (de) System und Verfahren zum Messen der Reaktionszeit von Ereignisketten
DE10039277A1 (de) Verfahren für die termingerechte Ausführung einer Zielfunktion
EP0616274B1 (de) Synchronisationsverfahren für Automatisierungssysteme
EP1136896A3 (de) Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems
EP1459182B1 (de) Fehlertolerantes automatisierungssystem bzw. verfahren zur fehlerbehandlung bei einem echtzeit-automatisierungssystem
EP3798753A1 (de) Verfahren zur einteilung einer oder mehrerer steuerungsanwendungen auf einer industriellen steuervorrichtung und konfigurationswerkzeug dafür
Carpenito et al. The allocation of non-identical machines among non-identical servers
Kelessoglou Simulation and comparative evaluation of flexible automotive assembly layouts
KR0131032B1 (ko) 연속공정용 라인 제어 장치를 위한 다중 타스크 실행 시간의 자동 조정 장치 및 방법
EP1420341A1 (de) Verfahren zur Steuerung eines Automatisierungssystems
DE102004006089A1 (de) Testfälle für eine Testvorrichtung
AT513762B1 (de) Verfahren zum Schutz vor Unterbrechung einer festgelegten Befehlssequenz eines Prozesses durch einen anderen Prozess in einer Datenverarbeitungsanlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection