Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TESTING THE REAL-TIME CAPABILITY OF AN OPERATING SYSTEM
Document Type and Number:
WIPO Patent Application WO/2012/010182
Kind Code:
A1
Abstract:
The invention relates to a method that tests the real-time behavior of an operating system, which has a first time system (SMI tracer real-time extension) responsible for the real-time behavior of the operating system, in that a test routine is periodically called for execution and the actual point in time of execution of the test routine is compared with an expected periodic point in time of execution of the test routine.

Inventors:
KYDLES, Jens (Grossweidenmühlstr. 32, Nürnberg, 90419, DE)
WALTER, Markus (Max-Planck-Str. 23, Bamberg, 96050, DE)
Application Number:
EP2010/004431
Publication Date:
January 26, 2012
Filing Date:
July 20, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AKTIENGESELLSCHAFT (Wittelsbacherplatz 2, München, 80333, DE)
KYDLES, Jens (Grossweidenmühlstr. 32, Nürnberg, 90419, DE)
WALTER, Markus (Max-Planck-Str. 23, Bamberg, 96050, DE)
International Classes:
G05B19/042; G06F9/48; G06F11/34
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (Postfach 22 16 34, München, 80506, DE)
Download PDF:
Claims:
Patentansprüche

Verfahren zur Überprüfung des Echtzeitverhaltens eines Betriebssystems, mit einem ersten, für das Echt zeitverhalten des Betriebssystems zuständigen, Zeitsystem

dadurch gekennzeichnet dass

eine Überprüfungsroutine (SMI-Tracer) periodisch zur Aus¬ führung aufgerufen wird und

der tatsächliche Ausführungszeitpunkt der Überprüfungsroutine mit einem erwarteten periodischen Ausführungszeitpunkt der Überprüfungsroutine verglichen wird.

Verfahren nach Patentanspruch 1, dadurch gekennzeichnet, dass

das zur Überprüfung ein zweites, unabhängiges Zeitsystem (TSC) verwendet wird.

Verfahren nach einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass

eine Differenz zwischen tatsächlichem Ausführungszeitpunkt und erwartetem Ausführungszeitpunkt berechnet wird, und sofern eine Differenz festgestellt wurde, diese aufgezeichnet wird.

Verfahren nach einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass

anhand der festgestellten oder aufgezeichneten Differenz oder Differenzen die Ursache der Abweichung ermittelt werden kann.

Verfahren nach einem der vorherigen Patentansprüche, dadurch gekennzeichnet, dass

anhand der festgestellten oder aufgezeichneten Differenz oder Differenzen eine Reaktion erfolgen kann.

6. Verfahren nach Patentanspruch 5, dadurch gekennzeichnet, dass

die Steuerung eine Warnmeldung abgibt. 7. Verfahren nach Patentanspruch 5, dadurch gekennzeichnet, dass

bei Feststellung einer Differenz die Steuerung angehalten wird . 8. Verfahren nach Patentanspruch 5, dadurch gekennzeichnet, dass

die Dauer der Störung ermittelt wird und eine Korrektur des Betriebssystemverhaltens durchgeführt wird.

Description:
Beschreibung

VERFAHREN ZUR ÜBERPRÜFUNG DER ECHTZEITFÄHIGKEIT EINES BETRIEBSSYSTEMS Fachgebiet der Erfindung

Speicherprogrammierbare Steuerungen sind Geräte, das zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird .

Eine der Kernanforderungen an Steuerungen der oben genannten Art ist die Echtzeitfähigkeit . Echtzeit bedeutet dabei dass ein System auf ein Ereignis innerhalb eines vorgegebenen Zeitrahmens reagieren muss, also in der Zeit, die Abläufe in der realen Welt verbrauchen.

Mittlerweile existieren auch Systeme der genannten Art, die auf modernen PC-Systemen ablauffähig sind. Diese garantieren systemseitig über ein Echt Zeitbetriebssystem, also ein Be- triebssystem mit zusätzlichen Echtzeit-Funktionen für die unbedingte Einhaltung von Zeitbedingungen und die Vorhersagbarkeit des Prozessverhaltens, ein Echtzeitverhalten von z.B. bis zu 500 με . Eine Unterbrechung des Echtzeitverhaltens beispielsweise durch Software mit einer höheren Priorität und/oder Hardware- Interrupts (insbesondere sogenannte System-Management- Interrupts) , führen zu einem "Blackout" des Echt Zeitbetriebssystems. Das Zeitsystem des Echtzeitbetriebssystems wird dann vollständig angehalten. Nach dem unterbrechenden Ereignis läuft die Zeit des EchtZeitbetriebssystem weiter, als hätte keine Unterbrechung stattgefunden. Damit können Reaktionszeiten nicht eingehalten werden. Diese Überschreitung wird außerdem systemseitig nicht erkannt.

Bereits heute sind System-Management-Interrupts (SMI, in der PC-Firmware realisierte höchstpriore Interrupts) ein großes Problem für Echt Zeitbetriebssysteme . Solche Unterbrechungen werden firmwareseitig, beispielsweise bei bestimmten Temperaturen im Prozessor (Übertemperatur, Schwelltemperaturen) oder aber auch durch PC-Funktionstasten (wie Bildschirmumschal- tung, Lautstärkeanpassung, Helligkeitsänderung) ausgelöst.

Auch über die USB-Schnittstelle können SMIs ausgelöst werden. Die Dauer von SMIs kann von wenigen Millisekunden bis teilweise mehr als 200ms betragen. Echtzeitbetriebssysteme können solche Unterbrechungen nicht abfangen und verlieren damit ih- re Echt zeitfähigkeit . Der Anwender merkt dies wahrscheinlich erst, wenn die Steuerung "Aussetzer" hat und es zu Produktionsausfällen kommt.

Stand der Technik

Unterbrechungen des Echtzeitbetriebssystems, die zu einem der oben beschriebenen Blackouts führen, wie beispielsweise ein SMI oder ein Prozess (außerhalb des EchtZeitbetriebssystems ) , der mit höherer Priorität die CPU bzw. die Systemressourcen nutzt, wird durch das Echtzeitbetriebssystem derzeit nicht erkannt .

Aufgabe der Erfindung ist es, eine Lösung für die oben ge- nannten Probleme und eine Möglichkeit anzugeben zur Überprüfung des Verhaltens eines Echt Zeitbetriebssystems .

Darstellung der Erfindung

Diese Aufgabe wird gelöst durch Verfahren gemäß Patentanspruch 1. Das Verfahren überprüft das Echt Zeitverhaltens eines Betriebssystems, mit einem ersten, für das Echtzeitverhalten des Betriebssystems zuständigen, Zeitsystem (Echtzeit- erweiterung SMI-Tracer) indem eine Überprüfungsroutine periodisch zur Ausführung aufgerufen wird und der tatsächliche Ausführungszeitpunkt der Überprüfungsroutine mit einem erwar- teten periodischen Ausführungszeitpunkt der Überprüfungsroutine verglichen wird.

Abhängig von dem geforderten Echtzeitverhalten wird im Echt- Zeitbetriebssystem eine Routine zyklisch aufgerufen. Das Aufrufintervall entspricht mindestens dem geforderten Echtzeitverhalten. Über einen Hardwaretimer (hierzu kann z. B. der im PC-System vorhandene Time-Stamp-Counter TSC verwendet werden) findet eine Überprüfung des AufrufIntervalls statt.

Besonders vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.

Weicht das Aufrufintervall der Routine vom Soll-Wert ab, dann kann dies entsprechend aufgezeichnet werden (z. B. das aktuelle Aufrufintervall und ein Zeitstempel, wann die Abweichung aufgetreten ist). Abweichungen vom Echtzeitverhalten, z. B. aufgrund eines System Management Interrupt SMI, können so er- fasst werden und eine entsprechende Reaktion kann gegebenen- falls folgen.

Mögliche Reaktionen sind (Aufzählung ist nicht abschließend) :

• Warnmeldung und/oder

• Stopp der Steuerung und/oder

• Erfassen von SMI Unterbrechungs- Zeitpunkt und Dauer und · Berücksichtigung beim Systemverhalten.

Die Überprüfung der Echtzeitfähigkeit von vorgeblich echt- zeitfähigen Systemen hat verschiedene Vorteile. Eine kontinuierliche Überprüfung und ggf. Aufzeichnung der Echtzeitfähig- keit eines Systems kann unabhängig vom verwendeten Echtzeitbetriebssystem durchgeführt werden. Beschreibung der bevorzugten Ausgestaltungsformen

Kurzbeschreibung der Zeichnungen

Im Folgenden wird die Erfindung anhand von Ausführungsbei- spielen erläutert. Dabei zeigen

Figur 1 ein Ablaufdiagramm,

Figur 2 Beispiel für einen Ablauf mit SMI.

Figur 1 zeigt ein Ablaufdiagramm des erfindungsgemäßen Verfahrens für eine Realisierung als SMI-Tracer Routine innerhalb des Echtzeitbetriebssystems.

Zunächst wird die Routine initial aufgerufen. Dabei wird der Zeitcounter TSC a i t := TSC akt neu festgelegt. Nun wird die Routine wiederholt aufgerufen, beispielsweise in einem Aufrufintervall von 100 . Andere Werte sind aber möglich. Dann wird eine Differenz berechnet TSC_DIFF := TSC a kt - TSC a i t . Diese Differenz wird ggf. noch in eine andere Einheit (με) umgerechnet. Sofern die Differenz einen zuvor bestimmten Grenzwert nicht überschreitet, in dem Beispiel 600 με, wird keine weitere Handlung ausgeführt. Nach Ablauf des AufrufIntervalls wird die Routine erneut aufgerufen. Anderenfalls, wenn also der berechnete Wert den Grenzwert überschreitet, dann können zunächst verschiedene Handlungen ausgeführt werden. Beispielsweise kann die Abweichung in einem Speicher abgelegt und damit protokolliert werden, hierbei kann auch ein Zeitstempel mit gespeichert werden. Danach wird die Routine - ebenfalls wieder ausgeführt.

In Figur 2 ist jeweils die Erkennung eines SMI durch das erfindungsgemäße Verfahren dargestellt. Die abgebildeten Zeitbasen sind beispielhaft. Der Realtime (RT) -Timer bildet die Zeitbasis des EchtZeitbetriebssystems . Der TSC wird direkt vom Prozessor gebildet und ist unabhängig von eventuellen Systemunterbrechungen, SMI. Beispielhaft wird davon ausgegangen das, dass Anwenderpro ¬ gramm-Aufrufintervall) . Es tritt ein SMI von 1 ms auf. Dieser führt dazu, dass die Zeitbasis des Echtzeitbetriebssystems für die Dauer des SMIs aussetzt. Das reale Anwenderprogramm- AufrufIntervall verlängert sich dadurch auf 6 ms.

Durch die Überwachungsroutine „SMI-Tracer" kann dieses Verhalten nun erkannt und beherrscht werden. Dieser wird zyklisch alle 100 με aufgerufen und über den unabhängigen Time Stamp Counter TSC das Aufrufintervall überwacht. In obigem Beispiel ergibt sich TSC-Differenz von 1100 (Dauer des SMI + Aufrufintervall) . Auf Basis der erfassten Unterbrechung durch den SMI, kann dies steuerungsseitig berücksichtigt werden und das Vorhandensein von Unterbrechungen dem Anwender mitgeteilt oder entsprechend anderweitig reagiert werden.