Linux 6.12 könnte „PREEMPT_RT“-Unterstützung in Echtzeit haben

Preempt-RT ist eine Modifikation, die es Aufgaben mit höherer Priorität ermöglicht, Aufgaben mit niedrigerer Priorität zu unterbrechen.

El Konzept eines Echtzeitsystems Daran wurde in den letzten Jahren unter Linux nicht mehr gedacht, seitdem die Idee dazu aufkam begann vor fast 20 Jahren, um genau zu sein im Jahr 2005 im Rahmen des Projekts „Realtime-Preempt“ („-rt“) mit der Entwicklung des PREEMPT_RT-Modus für den Linux-Kernel.

Für diejenigen, die es nicht wissen PREEMPT_RTDas sollten sie wissen es ist ein Patch für den Linux-Kernelund wandelt das Betriebssystem in ein Echtzeit-Betriebssystem um (Echtzeit). Das Hauptziel von PREEMPT_RT besteht darin, die Latenz zu reduzieren und die Vorhersagbarkeit bei der Aufgabenausführung sicherzustellen, was bei Anwendungen, die schnelle Antworten erfordern, von entscheidender Bedeutung ist.

Mit einfacheren Worten können wir PREEMPT_RT sagen ermöglicht die Unterbrechung fast aller Teile des Kernels, was die Latenz reduziert. Im Gegensatz zu einem Standardkernel können nicht alle Abschnitte unterbrochen werden, was zu Verzögerungen bei den Antwortzeiten führen kann.

Seit 2015 steht das Projekt unter der Aufsicht der Linux Foundation und bisher wurde die Implementierung des PREEMPT_RT-Modus in Form externer Patches angeboten. Basierend auf diesen Patches können Distributionen wie z RHEL, SUSE und Ubuntu haben Echtzeit-Editionen ihrer Produkte erstellt, Sie sind in Branchen wie Finanzsystemen, Audio- und Videoverarbeitungsgeräten, Luftfahrtsystemen, Medizin, Robotik, Telekommunikation und industriellen Anwendungen sehr gefragt, wo es wichtig ist, vorhersehbare Reaktionszeiten für Ereignisse zu gewährleisten.

En 2019 begann der Promotionsprozess der im PREEMPT_RT-Projekt entwickelten Patches zum Haupt-Linux-Kernel. In der Kernel-Version 5.3 wurde die Option PREEMPT_RT in die Konfigurationsdatei aufgenommen, um den Echtzeitmodus zu aktivieren.

Die für PREEMPT_RT erforderlichen printk-Bits befinden sich in linux-next. Das war das letzte bekannte Hindernis für PREEMPT_RT. Die RT-Warteschlange hat auch die „Atomkonsole“ für den UART 8250, die noch nicht verfügbar ist Linux-next. Dies bedeutet ein „Legacy-Konsolen“-Verhalten, das bedeutet, dass nicht von dort aus gedruckt wird den atomaren Kontext im Notfall. Der 8250 UART-Controller ist der einzige das heute „Atomic Console“-Unterstützung bietet.

alle Diese Arbeit wird bald Früchte tragen., da die vollständige Integration der notwendigen Änderungen fünf Jahre gedauert hat und kurz vor dem Abschluss steht, da erwartet wird, dass in Version 6.12 der Kernel im PREEMPT_RT-Modus kompiliert werden kann, ohne dass zusätzliche Patches eingespielt werden müssen.

Es wird erwähnt, dass das letzte Hindernis Dass PREEMPT_RT nicht aktiviert werden konnte, war das Fehlen von Unterstützung für nicht blockierende atomare Ausgabe mithilfe der printk-Funktion. Diese Funktionalität wurde bereits bereitgestellt im Linux-Next-Zweig übernommen. Darüber hinaus steht die Implementierung einer nicht blockierenden atomaren Konsole für den 8250-UART-Controller aus, deren Fehlen derzeit die Ausgabe von Notfallmeldungen an die Konsole von Code verhindert, der in atomaren Kontexten ausgeführt wird.

Mit zusammengeführten Printk-Bits könnte PREEMPT_RT auf X86, ARM64 aktiviert werden und Risc-V. Diese drei zusammengeführten Architekturen erforderten im Laufe der Jahre Änderungen.
Jahre, was mich in einer Position zurücklässt, in der ich keine wesentlichen Änderungen in der
Warteschlange, die sie betreffen würde. Für ARM und POWERPC sind noch einige wichtige Patches verfügbar …

Linux-Kernel-Entwickler haben die Integration der neuesten notwendigen Änderungen im Linux-Nex-Zweig angekündigtt, das zum Kompilieren von Version 6.12 verwendet wird. Diese Änderungen ermöglichen die Kompilierung des Kernels mit der Option PREEMPT_RT, die Echtzeitfunktionen einführt.

Sobald diese Änderungen akzeptiert werden im Hauptzweig, PREEMPT_RT-Modus Es wird für X86-, ARM64- und RISC-V-Architekturen verfügbar sein. Die Unterstützung für ARM- und POWERPC-Architekturen wird später hinzugefügt, da die erforderlichen Patches noch nicht vollständig integriert sind.

Es ist erwähnenswert, dass die vorgeschlagenen Änderungen noch nicht endgültig sind und es möglich ist, dass PREEMPT_RT, wenn es nicht im 6.12-Zweig ankommt, erst nächstes Jahr in Version 6.13 integriert wird.

Schließlich wenn Sie mehr darüber wissen möchtenkönnen Sie die Details in der überprüfen folgenden Link