WALTER, Markus (Max-Planck-Str. 23, Bamberg, 96050, DE)
KYDLES, Jens (Grossweidenmühlstr. 32, Nürnberg, 90419, DE)
WALTER, Markus (Max-Planck-Str. 23, Bamberg, 96050, DE)
| 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. |
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.
Next Patent: TECHNIQUE FOR PACKET FLOW ANALYSIS
