Hallo zusamen,
Kann sich jemand unter dem Begriff "Echtzeit-Kernel" etwas vorstellen? Ich ja - nämlich alles oder nichts:
Der Linux-Kernel 2.6.39 ist um eine Echtzeitfunktion erweitert worden: Die Interrupt-Verarbeitung erfolgt jetzt komplett in Kernel-Threads. Damit soll die Latenzzeit gesenkt werden. => http://www.golem.de/1105/83501.html
Ist das jetzt eine revolutionäre Neuerung gegenüber 2.6.38 und wenn ja, wie wirkt sich das auf das praktische Arbeiten aus?
CU
Olaf
Linux 15.036 Themen, 107.107 Beiträge
Das Problem dürften die angesprochenen Latenzzeiten sein. Also die Zeit, die das System benötigt um auf ein Ereignis zu reagieren. Mit einigen sekundenbruchteilen Verzögerung redet man da schon nicht mehr von Echtzeit.
AFAIK ist Linux da in der Tat etwas hinterher, weswegen Linux auch in der Audiobearbeitung im professionellen Sektor bisher ziemlich chanchenlos ist. Denn dort wird um jede Millisekunde gefeilscht (weswegen z.B. auch die ASIO-Treiber entwickelt wurden - eben um die Latenzzeiten zu drücken).
Für Otto Normalverbraucher dürfte das aber ein wenig relevanter Aspekt sein, in verschiedenen professionellen Anwenderkreisen wird das aber sicher mit Interesse zur Kenntnis genommen.
Das Erfüllen von (harten) Echtzeitanforderungen ist keine Frage der Reaktionsgeschwindigkeit. Echtzeit heißt er mal nur, dass man eine maximale Reaktionszeit garantieren kann die unter keinen Umständen überschritten wird. In vielen Fällen geht die Forderung nach Echtzeit allerdings mit sehr kurzen maximalen Reaktionszeiten einher, z.B. beim beim Auslösen eines Airbags im Auto...
AFAIK ist Linux da in der Tat etwas hinterher
Für Linux gibt es verschiedene Erweiterungen mit denen harte Echtzeitbedingungen erfüllt werden können.
weswegen Linux auch in der Audiobearbeitung im professionellen Sektor bisher ziemlich chanchenlos ist.
Für den Anwendungsfall gab es z.B. schon bei UbuntuStudio einen Low-Latency-Kernel. Millisekunden sind übrigens schon eine recht große Zeitspanne.
Danke für deine Info.
Echtzeitfunktionen sind, glaube ich, eine gute Sache auch wenn es sonst eher für Microkernel und nicht für monolithische gemacht wird?
Und ABatC,
bei Audio hätte ich zuerst garnicht vermutet so kritisch in Bezug auf Echtzeit zu sein.
Bei näherer Betrachtung ist es aber fast logisch.
ps
Demnächst also eine Maya Soundkarte in Linux.
Hab mal so ein weißes Prachtstüch im Internet gesehen..:-)
Hi!
In der Steuerungstechnik versteht man unter "Echtzeitfähigkeit", dass ein Steuerungsrechner garantiert in einer gewissen Zeit auf ein Ereignis reagiert.
Das hört sich nach wenig an, bedeutet aber, dass der Rechner unter keinen Umständen durch einen anderen Prozess blockiert werden darf (und dies nicht bemerkt wird).
Es muss sichergestellt werden, dass er sein Steuerprogramm, das eingehende Signale empfängt und verarbeitet (und ausgehende schaltete) immer in einer Vorgegeben Zykluszeit reagieren kann. Ist das nicht mehr gegeben, dann muss der Rechner das erkennen und die Anlage stoppen.
Ich vermute, dass mit dem neuen Kernel nun sichergestellt wird, dass die Interrupts immer das verbundene Programm starten können, also alles andere unterbrechen.
Steuerprogramme in embedded Controllern usw. werden diese Interrruotfunktionen nutzen, um das Steuerungsprogramm zu starten oder zu überwachen. (Ein Interrupt startet zyklisch das Steuerungsprogramm, ein zweiter würde nach einer gewissen Zeit kontrollieren, ob der letzte Aufruf komplett bearbeitet wurde, falls nicht, dann rotes Blinklicht und Weltuntergangsroutine auf der Lost-Insel einleiten.)
In der täglichen Powersurfer-Anwendung hat das wenig Auswirkungen. Hier kann sich höchstens ergeben, dass das Betriebssystem auch nach Abstürzen noch auf Funktionen reagiert, die Interrupts auslösen (Tastendrücke?).
Bis dann
Andreas
SysRequest als absolute LowLevel Funktion gib es schon eine gefühlte Ewigkeit. Ist eine gute Methode um ein ansonsten nicht mehr reagierendes Linux-System noch sauber herunterzufahren :-)
Hi!
Das stimmt, ich wusste nur nicht, wie man das nennt. ;-)
Mir ist ehrlich gesagt auch nicht ganz klar, was da nun im Desktopbereich der Vorteil sein soll. Ich tippe eigentlich darauf, dass man evtl. das Realtime-Kernel einstellt, weil es im Standard aufgeht. Wäre das denkbar?
Bis dann
Andreas
Hi!
Auf heise.de gibt es einen Bericht der detaillierter auf die Änderungen eingeht:
http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-39-1242011.html
Auf die geänderte Interruptbehandlung wird da nur am Rand eingegangen. Übrigens mit dem Hinweis, dass dies schon länger in der Echtzeit-Variante des Kernels im Einsatz war.
Das ist zwar offenbar technisch interessant, aber eher nur eine kleine Änderung.
Bis dann
Andreas
Habt vielen Dank für eure Beiträge! Jetzt wird schon einiges klarer.
CU
Olaf