Betriebssystem-Eigenschaften von RMOS3
8.5 Betriebsmittelverwaltung
8.5.2
Zeitverwaltung
Zentraler interner Betriebssystemtakt
Der interne Betriebssystemtakt wird durch einen Interrupt eines Timerbausteins am Eingang
des Interrupt-Controllers (IRQ0) erzeugt.
Das Zeitintervall bis zum nächsten Interrupt muss als ganzes Vielfaches einer Millisekunde
bei der Konfigurierung gewählt werden (Mindestzeitintervall). Der einstellbare Bereich des
Zeitintervalls zwischen zwei Systemtakten liegt zwischen einer Millisekunde und mehreren
Stunden (üblich sind 1 bis 10 Millisekunden).
Wird der Systemtakt klein gewählt, etwa eine Millisekunde, beträgt der Verwaltungsaufwand
für die Bearbeitung des Zeitgeber–Interrupts, je nach Prozessortakt, 1% bis 5% der
gesamten Ausführungszeit und geht somit auf Kosten der für die Task–Ausführung
verfügbaren Zeit. Der geeignete Systemtakt ist aus den zeitlichen Erfordernissen der
Anwendung abzuleiten. Der Systemtakt sollte etwa 1/10 des minimalen, von der Applikation
benötigten Zeitintervalls (z.B. für Pausen und Timeouts) betragen.
Wenn im Applikationssystem z.B. eine minimale Pause von 100 ms benötigt wird, sollte der
Systemtakt auf 10 ms konfiguriert werden (die "Unschärfe" der tatsächlichen Pause beträgt
dann maximal 10 ms, das entspricht 10%).
Verwendung
RMOS3 generiert aus dem Systemtakt die Überwachung aller
Aktualisierung des Round–Robin–Counters und eine Software–Uhr. Ist außerdem auch eine
Hardware–Uhr im System vorhanden, kann diese mit zusätzlichen Aufrufen in die
Zeitverwaltung integriert werden (vgl. Aufruf
RMOS3 auch als globale Zeit bezeichnet (im Gegensatz zur Software–Uhr). Alle SVCs, die
als Parameter eine Zeit enthalten, übergeben ein Zeitintervall und dessen Anzahl. Das
kleinste Zeitintervall ist eine Millisekunde, das größte eine Stunde.
Falls der Parameter für die Anzahl der Zeitintervalle Null ist, spricht man bei RMOS3 von
einem Minimalzeitintervall. Diese Zeitdauer entspricht dann einfach der Wartezeit auf den
nächsten Systemtakt.
Beim Systemhochlauf (ohne Hardware-Uhr, globale Zeit) setzt RMOS3 die Software–Uhr
(lokale Zeit) auf 01–JAN–1995 00:00:00.
Die Software– und Hardware–Uhr kann durch SVCs gelesen und gesetzt werden. Es sind
sowohl Datums– als auch Uhrzeitfunktionen implementiert. Die Auflösung beträgt eine
Sekunde. Ein Jahr wird als Schaltjahr betrachtet, wenn die Jahreszahl durch 4 ohne Rest
teilbar und kein ganzzahliges Vielfaches von 100 ist, oder durch 400 ohne Rest teilbar ist.
118
RmPauseTask
). Die Zeit einer Hardware–Uhr wird bei
RmInitOS
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
–SVCs, die