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!
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...
Tobi, warum willst Du Dich damit beschäftigen? Bist Du theoretisch oder
praktisch interessiert? Also willst Zu was Zeitkritisches bauen, oder
Systemanalyse betreiben?
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.