From eacbf5bb4d57af21c731f41251015d3b991ad490 Mon Sep 17 00:00:00 2001 From: guest Date: Fri, 30 Nov 2007 13:41:25 +0000 Subject: final version, initial import git-svn-id: svn+ssh://mecka.net/home/svn/rtcorba-thesis@1 cba7306a-a4a0-4afd-bcb4-bd19f8a24309 --- diplomathesis/node13.html | 127 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 diplomathesis/node13.html (limited to 'diplomathesis/node13.html') diff --git a/diplomathesis/node13.html b/diplomathesis/node13.html new file mode 100644 index 0000000..3d7e541 --- /dev/null +++ b/diplomathesis/node13.html @@ -0,0 +1,127 @@ + + + + + +RTOS + + + + + + + + + + + + + + + + + + + + +

+ +
+RTOS - Real-time Operating System - Echtzeitbetriebssystem +

+Konventionelle Betriebssysteme und Echtzeitbetriebssysteme unterscheiden sich am gravierendsten in der Implementierung des Schedulings. Insbesondere in der Implementierung der Warteliste. Sobald in der Warteliste eine höher priorisierte Aufgabe, als die die gerade bearbeitet wird eintrifft, muß ein RTOS die neu eingetroffene Aufgabe bearbeiten. Um dies ohne Zeitverluste gewährleisten zu können, muß bei einem RTOS das Auffinden der Aufgabe mit der höchsten Priorität in der Warteliste sehr effektiv implementiert sein. + +

+Beim Umgang mit Semaphoren und Mutexen muß bei der Implementation eines RTOS zusätzlich darauf geachtet werden, dass es bei verschieden priorisierten Aufgaben zu einer unerwünschten Priority Inversion kommen kann. Eine niedrig priorisierte Aufgabe hält einen Mutex. Dieser wird kurz darauf von einer höher priorisierten Aufgabe angefordert. In diesem Fall muß vermieden werden, dass die höher priorisierte Aufgabe solange blockiert, bis die niedriger Priorisierte den Mutex freigibt. + +

+Ein RTOS muß die Abarbeitung von Interrupts cachen, damit diese nicht die Ausführung von Echtzeitaufgaben beeinflussen. + +

+Die Reservierung von Speicher muß in konstanter Zeit, unabhängig von der Menge des angeforderten Speichers erfolgen. Bietet das RTOS dieses Feature nicht, muß der Programmierer vor der Echtzeitbearbeitung den von der Echtzeitroutine benötigten Speicher reservieren. + +

+Der vanilla Linux Kernel [The 07] bietet momentan noch keine ausreichende Grundlage für harte Echtzeit unter Linux. Der RT_ PREEMPT PATCH ([Moln07] und [Ts'o07]) von Ingo Molnar et al., faßt die nötigen Änderungen für harte Echtzeit gegenüber dem vanilla Kernel zusammen. Linus Torvalds ist mit der sukzessiven Integration des RT_ PREEMPT Patches in die vanilla Sources einverstanden. Jede Menge Code aus dem RT_ PREEMPT Patch wanderte mit 2.6.18 und 2.6.19 in die vanilla Sourcen. Weiteres wird mit den nächsten Kernel Releases folgen. + +

+Neben Linux mit RT_ PREEMPT Patch gibt es weitere (zum Teil kommerzielle) RTOSes. Ein kleiner Auszug bekannter Systeme: RTLinux [FSML07], INTEGRITY [Gree07], Symbian OS [Limi07], VxWorks [RIVE07], Windows CE [Micr07], Microware OS 9 [Radi07].... + +

+Bei TRUMPF Laser wird der Standard Kernel mit RT_ PREEMPT Patch verwendet, da ein Laser über 10 Jahre im Einsatz ist und kein kommerzielles Produkt mit entsprechend langem Supportzyklus angeboten wird. Ein weiterer Grund für Linux war die einfache Portierbarkeit des Codes, von dem zuvor eingesetzten Microware OS 9. + +

+ +

+ +
+Manuel Traut +2007-02-25 +
+ + -- cgit v1.2.3