Forum: Mikrocontroller und Digitale Elektronik Echtzeitbetriebssysteme


von Tobi (Gast)


Lesenswert?

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

von peterguy (Gast)


Lesenswert?

Na da würd' ich mal bei Wikipedia vorbeischauen. Wenn Du dort nach 
"Echtzeitbetriebssystem" suchst, wirst Du von Weblinks und Beispielen 
regelrecht erschlagen ;-)

von Tobi (Gast)


Lesenswert?

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...  :-(

von Dirk H. (arm-dran)


Lesenswert?

Windriver, QNX, ...


Vista, XP, ME, ... ;-)

von Der F. (zotos)


Lesenswert?

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!

von Tobi (Gast)


Lesenswert?

Also die Richtung ist auf jedenfall ehr hin zu einem Os das keine MMU 
benötigt. also was richtig kleines.

von Tom T. (tomtorres)


Lesenswert?

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

von Timo (Gast)


Lesenswert?

Hallo? Das war wohl ein Scherz!

von Obelix (Gast)


Lesenswert?

Was hast du denn? Windows läßt sich doch echt Zeit bei allem ;-)

von peterguy (Gast)


Lesenswert?

>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...

von Ulrich (Gast)


Lesenswert?

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!

von sepp (Gast)


Lesenswert?

Ja, manche Kommentare sind echt beschränkt! Wie deins!

von Carsten P. (papa_of_t)


Lesenswert?

Tobi, warum willst Du Dich damit beschäftigen? Bist Du theoretisch oder 
praktisch interessiert? Also willst Zu was Zeitkritisches bauen, oder 
Systemanalyse betreiben?

von arc (Gast)


Lesenswert?

Wie wär's mit den Klassikern:
Tanenbaum, "Moderne Betriebssysteme" und
Tanenbaum, "Operating Systems: Design and Implementation 3/E"

von Tobi (Gast)


Lesenswert?

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.

von Rene (Gast)


Lesenswert?

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.

von Rene (Gast)


Lesenswert?

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

von Hansl (Gast)


Lesenswert?

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

von Rene (Gast)


Lesenswert?

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.

von net (Gast)


Lesenswert?

> 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

von Michael R. (mick)


Lesenswert?

@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
Noch kein Account? Hier anmelden.