hallo an alle, ich würde mich gerne ein bisschen mit Echtzeitbetriebssystemen beschäftigen. Auf der Suche nach einführender Literatur bin ich allerdings leider niciht fündig geworden. Was könnt ihr denn empfehlen ? Gruß Tobi
Na da würd' ich mal bei Wikipedia vorbeischauen. Wenn Du dort nach "Echtzeitbetriebssystem" suchst, wirst Du von Weblinks und Beispielen regelrecht erschlagen ;-)
Genau dieses erschlagen bei Wikipedia ist mein Problem. Ich bin eben auf der suche na einführender Literatur. Die erstmal RTOS von der allgemeinen Seite betrachtet, und dann vielleicht auf die unterschiedlichen Typen eingeht. Wenn ich aus der Wiki Liste von zig Betriebsystemen mir alle anschauen will und sie gegeneinander Abwägen muss, welches gut und welches weniger gut ist, bin ich ja für tage beschäftigt... :-(
Was willst Du denn mit dem Echtzeitbetirbssystem machen? >Wenn ich aus der Wiki Liste von zig Betriebsystemen mir alle anschauen >will und sie gegeneinander Abwägen muss, welches gut und welches weniger >gut ist, bin ich ja für tage beschäftigt... :-( Alter SPSler Spruch: Echtzeit braucht echt Zeit!
Also die Richtung ist auf jedenfall ehr hin zu einem Os das keine MMU benötigt. also was richtig kleines.
XP, Vista zusammen in einem Satz mit dem Wort Echtzeitbetriebssystem zu nennen ist ja wohl ein schlechter Scherz. Da hat man das Gefühl die leute wissen nicht was Echtzeit bedeutet.... Zitat aus wikipedia: "Der Begriff „Echtzeit“ legt lediglich fest, dass ein System auf ein Ereignis innerhalb eines vorgegebenen Zeitrahmens reagieren muss." und das kann XP und andere Systeme von Microsoft definitiv nicht
>Also die Richtung ist auf jedenfall ehr hin zu einem Os das keine MMU >benötigt. also was richtig kleines. Nunja, das ist schon eine wichtige Information. Betriebssysteme für Prozessoren ohne MMU gibts nicht so viele. Mir fällt so spontan auch nur Embedded Linux ein, allerdings hat das wahrscheinlich nicht allzu viel mit RT zu tun ;-) Schau am besten einfach mal, welche RTOS es für z.B. ARM7 Prozessoren gibt...
Ich lese sehr viele beschränkte Kommentare. Macht mal eure Scheuklappen weg! Dat läuft auch uner XP: http://www.beckhoff.de/german/default.htm?twincat/default.htm Und zwar in echtzeit!
Tobi, warum willst Du Dich damit beschäftigen? Bist Du theoretisch oder praktisch interessiert? Also willst Zu was Zeitkritisches bauen, oder Systemanalyse betreiben?
Wie wär's mit den Klassikern: Tanenbaum, "Moderne Betriebssysteme" und Tanenbaum, "Operating Systems: Design and Implementation 3/E"
Meine Intention bei der Geschichte ist die, das ich herausfinden möchte ob für meinen anwendungsbereich in Zukunft der Einsatz von RTOS sinnmacht oder nicht. Hierbei dachte ich mach es am meisten Sinn mich zunächst erst einmal mit den Eigenschaften und Merkmalen und vor allem den unterschieden im Vergleich zu "normalen" Betriebssystemen was z.B. den Scheduler semaphoren etc. betrifft. des weiteren ist ein wichtiger Punkt für mich Herauszufinden was z.B. in sachen Latenzzeit für einen Taskswitch möglich ist usw..... All diese Betrachtungen wollte ich zunächst erstmal losgelöst auf theoretischer Seite angehen, ohne gleich den Blick auf die verfügbaren Systeme zu richten. zur Literatur: Das standardwerk von Tanenbaum liegt mir vor, aber auf RTOS wird hier ehr weniger eingegangen. Ich bin jetzt für das erste bei dem Werk MicroC/OS-II von Jean J. Labrose hängengeblieben. Das ist jetzt zwar auch OS spezifisch liefert aber zumindest auf den ersten Einblick in grundlegende Aspekte von RTOS.
Tobi, es gibt verschiedene Stufen. Das einfachste ist ein Kernel zu deinem Compiler. Das ist eine library die zur Applikation hinzugelinkt wird und dann den Scheduler, die Warteschlangen und den Taskswitcher zur Verfuergung stellt. Geladen wird das Programm mit einem Programmer von der Entwicklungsumgebung her. Was kann ein RTOS mehr ? 1)Es ueberminnt das Laden des Applikationsprogrammes. Bietet daher von sich aus schon kommunikation ueber Serial, USB, oder Ethernet an. Wahrscheinlich mit einem Filesystem auf HD oder flash. Tja, das isses eigentlich schon. Dh um in die Thematik einzusteigen ist ein Realtimekernel die bessere Wahl.
Was mach einen Realtime kernel aus ? Er bietet die Moeglichkeit mehrere Prozesse quasi gleichzeitig laufen zu lassen, sowie die Kommunikation zwischen diesen Prozessen. Die Kommunikation kann sein : shared memory, warteschlangen, semaphoren. Kann man das nicht auch mit einer Statusmaschine im Programm drin erreichen ? Ja kann man, aber ab einer gewissen komplexitaet ist ein realtime kernel uebersichtlicher. Rene
rene, du verwechselst da etwas, multitasking != realtime. in bestimmten faellen sogar genau das gegenteil ;) da kann ein task ewig nicht drann kommen weil sein kollege realtimetask jeden cpucycle nutzen mag um zur rechten zeit an sein ziel zu kommen und dies auch darf. mfg hansl
Na, es gibt auch unguenstige Designs. Und der Controller kann auch ueberfordert sein. Ein (Microsoft-)realtimetask, der alle Leistung absaugt ist ganz schlechtes design. Man sollte eh schauen, dass der Controller nicht mehr als halb ausgelastet ist. Multitasking == Realtime, unbedingt. Multitasking ersetzt die komplexe Statusmaschine in einem Singletask Design. Dies braucht zwar etwas Resourcen und bringt im Gegenzug die Uebersichlichkeit und Wartbarkeit. Da steh ich voll dahinter.
> Dat läuft auch uner XP: > http://www.beckhoff.de/german/default.htm?twincat/... > Und zwar in echtzeit! das ist aber geschummelt, weil's ausserhalb des win-kernels läuft (geht ja auch nicht anders) > Multitasking == Realtime, unbedingt. Multitasking ersetzt die komplexe > Statusmaschine in einem Singletask Design. es geht auch ohne context switches ;) guckst du: http://www.nilsenelektronikk.no/nenesos.html
@Rene Ich kann Dir nur zustimmen. Ein Kernel stellt lediglich den Scheduler (zyklische Aktivierung mit hoher Priorität) und die zum Multitasking gehörigen Tools zur Verfügung. Man kann mit einer "Anwender"-Software, die dieser Umgebung nicht Rechnung trägt, jeden Kernel an die Wand fahren! Die einzelnen Tasks (meist durch mehrere Mitarbeiter geschrieben), MÜSSEN für diese Umgebung in vollem "Bewusssein" dessen geschrieben und getestet werden. Dies betrifft besonders die dynamische Priorisierung einzelner Tasks, sowie Eingriffe in die Interruptsteuerung des Kernels. Eine gründliche Einarbeitung in das Thema Realtime/Multitasking ist gerade im Bereich Mikrocontroller nicht zu vermeiden! Und wenn man das hinter sich hat, sieht man den Begriff 'ECHTZEIT' in einem etwas anderem Licht. Wenn man damit umgehen kann, lohnt es sich. Gruss Mick.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.