• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Real Time Linux

tbm

Newbie
Erst mal Hallo an alle, bin neu! :oops:

Also folgendes Problem ich habe den auftrag einen Vortrag über Realtime Linux zu halten. Ich habe bei euch schon die Suchfunktion benutzt und bin zu einer Distribution namen QNX gekommen, dies half schon ein wenig weiter aber es hilft noch nicht ganz!

Ich haben da mal ein paar fragestellungen auf die ich antwortwen brauche!

- Art und Weise der Prozess- bzw. Threadverwaltung (incl. Prozess-
zustände und Scheduling)
- vorhandene Synchronisations- und Kommunikationsmittel
- Struktur und Arbeitsweise des Filesystems.

Dies aber halt für "alle" RTLinx Systeme und nicht nur eine Distri.

Danke schonmal, mal sehen was so kommt! :roll:
 

WernerS

Newbie
Hallo tbm!

Hier einige subjektive Betrachtungen zur Entwicklung und dem derzeitigen Stand von Linux-Echtzeit-Erweiterungen:

RTLinux, dessen Grundlagen als Doktorarbeit an der Universität von New Mexico durch Michael Barabanov unter Prof. Victor Yodaiken entwickelt wurde, war die erste uns bekannte Linux-Erweiterung, welche harte Echtzeitanforderungen erfüllte. In der Folge beteiligte sich eine weltweite Community an der Weiterentwicklung. Da es immer wieder zu Situationen kam, in denen Vorschläge von außen an die beiden genannten Personen von diesen abgelehnt oder überhaupt ignoriert wurden, spaltete sich schon bald eine Gruppe von Entwicklern unter der Führung von Prof. Paolo Mantegazza (vom Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano) ab und begannen auf Basis eines HALs (Hardware Abstraction Layers) das Projekt RTAI (Real Time Application Interface) voranzutreiben.

Im Laufe der Zeit wurde RTAI immer umfangreicher. Interessanterweise wurden immer wieder Erweiterungen, welche von den RTLinux-Betreibern zuerst abgelehnt worden waren, bei RTAI realisiert und tauchten nach einiger Zeit (unter anderem Namen, mit neuer Begründung, warum es doch notwenige oder zumindest sinnvolle Features seien) auch bei RTLinux auf.
Verschärft wurde der Wettstreit dieser beiden Systeme durch eine Firmengründung durch Prof. Yodaiken und eine Patentierung des von RTLinux verwendeten Verfahrens. Dadurch wurde der Open-Source-Gedanke bei RTLinux immer stärker zurückgedrängt und die kommerzielle Nutzung rückte in den Vordergrund. Viele Entwickler, denen dieser Gesichtspunkt jedoch wichtig war, wanderten zu RTAI ab.
Um eventuele Patentprobleme zu vermeiden (welche für Anwender mit Zielmarkt USA ein Problem wäre) wurde RTAI vor einiger Zeit von RTHAL auf Adeos umgestellt). Adeos basiert auf einer schon vor Jahrzehnten veröffentlichten Arbeit und verletzt damit keine (neueren) Patente.

Eine der Schwachstellen von RTLinux und RTAI war immer, dass durch die Tatsache, dass die Anwenderprogramme im Kernel-Space ablaufen, ein Fehler in der Applikation das gesamte System ins Verderben reißen kann. Im Jahr 2000 kam es hier zu einer einschneidenden Verbesserung: LXRT (als Erweiterung zu RTAI) erschien. Dadurch war es möglich, Applikationen im User Space ablaufen zu lassen und trotzdem harte Echtzeit zu erreichen, wobei performanceseitig nur sehr geringe Abstriche gegenüber dem im Kernelspace laufenden RTAI in Kauf zu nehmen sind.
Philip Gerum entwickelt innerhalb des RTAI-Projektes mit Fusion eine neuere Variante mit vollständig neu geschriebenem Code.

Bei RTAI und RTLinux läuft Linux sozusagen als Idle-Task des Echtzeitsystems. Echtzeit-Tasks werden nie von normalen Linux-Tasks unterbrochen.
Das ursprüngliche (Kernel-)RTAI unterschied streng zwischen Echtzeit und Nicht-Echtzeit-Tasks (=Posix-Threads). Als Filesystem ist das normale Linux-File-System verwendbar, wobei bei Verwendung des (Kernel-)RTAIs nur aus User-Space-Tasks darauf zugegriffen werden kann. Echtzeit-Tasks müssen den Umweg über diese nehmen. Unter LXRT gibt es neben den nicht echtzeitfähigen Posix-Threads Soft- und Hard-Realtime-Tasks. Hier können Soft-Realtime-Tasks auch auf Dateien und andere Nicht-Echtzeit-Resourcen direkt zugreifen.
RTAI/LXRT verwendet ein eigenes API, welches mehr Möglichkeiten als das Posix-API bietet, dafür aber auf Kompatibilität zu anderen Systemen verzichtet.
Unter Fusion sollte es möglich sein, verschiedene Skins (entsprechend verschiedenen APIs) zu verwenden, z.B. das RTAI-API, aber auch das anderer Echtzeit-Betriebssysteme.

Zu RTAI gibt es eine Reihe weiterer kooporierender Projekte, wie z.B. das Linux Trace Toolkit, das Echtzeit-Netzwerk RTNet, usw.


Vor einiger Zeit erschien ein drittes System namens LibeRTOS, welches ebenso wie RTAI auch den Ablauf von Echtzeit-Pogrammen im Userspace unterstützt (Siehe auch Zeitschrift ELEKTRONIK Heft 19/2004). Libertos wurde von Thomas Gleixner und Robert Schwebel entwickelt. Bisher gibt es meines Wissens nur Beta-Versionen.

Hier einige Links zu den drei Betriebssystem-Erweiterungen:

RTAI:
Homepage: http://www.rtai.org
Fusion: http://www.rtai.org/modules.php?name=Content&pa=showpage&pid=1
Allgemein: http://www.enseirb.fr/~kadionik/rmll2004/presentation/philippe_gerum.pdf
Adeos: http://home.gna.org/adeos/
Linux Trace Toolkit: http://www.opersys.com/LTT/
RTNet: http://www.rts.uni-hannover.de/rtnet/

RTLinux:
Betreiber-Firma FSMLabs: http://www.fsmlabs.com/

LiberTOS:
http://www.linutronix.de/linutronix/d/libertos.html

Das von Dir zitierte QNX hat mit Linux eigentlich nicht direkt etwas zu tun. Es basiert auf einem eigenen Micro-Kernel, welcher das Posix-API verwendet, wodurch eine schnelle Anpassung von Standard-Linux-Anwendungen möglich sein sollte.

Ich hoffe ich konnte Dir einige Infos und Anregungen für weitere Nachforschungen geben!

Werner
 
OP
T

tbm

Newbie
danke danke danke, man ich war lange net hier und dann seh ich deine antwort ich acker das nun mal durch!!! DANKE nochmal!!!
 

WernerS

Newbie
Hallo!

Noch ein kleiner Nachtrag:

Für den Kernel 2.6 gibt es seit einiger Zeit den "Real-Time Preemption Patch" von Ingo Molnar. Damit gepatchte Kernel erzielen nach den veröffentlichten Messungen Ergebnisse, welche bezüglich Echtzeitfähigkeit schon ziemlich in die Größenordnung von RTAI und Co vordringen.

Ciao
Werner
 
Oben