Echtzeit-Linux ist nach Jahrzehnten der Debatte offiziell Teil des Kernels

Echtzeit-Linux ist nach Jahrzehnten der Debatte offiziell Teil des Kernels

Vergrößern / Das Schneiden von Metall mit Lasern ist schwierig, aber noch schwieriger wird es, wenn Sie die Worst-Case-Zeitabläufe Ihres Codes nicht kennen.

Getty Images

Wie so oft ist eine bemerkenswerte Ă„nderung in einem kommenden Linux-Kernel sowohl historisch als auch keine groĂźe Sache.

Wenn Sie “Real-Time Linux” fĂĽr Ihre Audio-AusrĂĽstung, Ihren industriellen SchweiĂźlaser oder Ihren Mars Rover verwenden wollten, hatten Sie diese Möglichkeit schon lange (vorausgesetzt, Sie wollten nicht QNX oder andere Alternativen). Universitäten begannen Ende der 1990er Jahre damit, ihre eigenen Echtzeitkernel zu entwickeln. Ein Patch-Set, PREEMPT_RTexistiert seit mindestens 2005. Und einige Aspekte der Echtzeitarbeit, wie NO_HZwurden schon vor langer Zeit in den Hauptkernel verschoben, was ihren Einsatz in Rechenzentren, im Cloud Computing oder ĂĽberall dort, wo viele CPUs vorhanden sind, ermöglicht.

Aber die Formalität ist immer noch wichtig, und im 6.12-Kernel wird PREEMPT_RT wahrscheinlich in die Hauptlinie integriert werden. Als notiert von Steven Vaughan-Nichols bei ZDNetdie endgültige Freigabe durch Linus Torvalds erfolgte während seiner Teilnahme am Open Source Summit Europe. Torvalds schrieb den ursprünglichen Code für printkein Debugging-Tool, das genau die Momente lokalisieren kann, in denen ein Prozess abstürzt, aber auch Latenzen einführt, die dem Echtzeit-Computing zuwiderlaufen. Das Phoronix-Blog hat den Fortschritt von PREEMPT_RT im Kernel verfolgt, zusammen mit die printk-Änderungen Dadurch wurde die für das Echtzeit-Mainlining entscheidende Thread-/Atomkonsolenunterstützung ermöglicht.

Was bedeutet das fĂĽr Desktop-Linux? Nicht viel. Abgesehen von High-End-Audioproduktion oder -replikation (und sogar das ist diskussionswĂĽrdig), ein Echtzeitkernel wird Windows wahrscheinlich nicht schneller machen oder Programme flotter. Aber die garantierte AusfĂĽhrung und die Worst-Case-Latenzzeiten, die ein Echtzeit-Linux bietet, sind ziemlich nĂĽtzlich fĂĽr Systeme, die beispielsweise Autobremsen ĂĽberwachen, CNC-Maschinen steuern und teuflisch komplexe Multi-CPU-Systeme regeln. Mit PREEMPT-RT im Hauptkernel ist es einfacher, ein Echtzeitsystem zu warten, als sich um Out-of-Tree-Patches zu kĂĽmmern.

Es wird wahrscheinlich die Dinge für die Anbieter ändern, die bisher auf Echtzeit-Betriebssystemlösungen für unternehmenskritische Systeme spezialisiert waren. Ubuntu zum Beispiel startete bietet eine Echtzeitversion seiner Verteilung im Jahr 2023, erforderte aber ein Ubuntu Pro-Abonnement für den Zugriff. Ubuntu richtete seine Veröffentlichung auf Robotik, Automatisierung, Embedded Linux und andere Echtzeitanforderungen aus, wobei die Fixes, Patches, Modulintegration und Tests von Ubuntu bereitgestellt wurden.

„Einen Laser mit Linux zu steuern ist verrĂĽckt“, Torvalds sagte auf dem Kernel Summit 2006“aber jeder in diesem Raum ist auf seine Weise verrĂĽckt. Wenn Sie also Linux verwenden möchten, um einen industriellen SchweiĂźlaser zu steuern, habe ich kein Problem damit, wenn Sie PREEMPT_RT verwenden.” Ungefähr 18 Jahre später haben Torvalds und das Kernel-Team, einschlieĂźlich des langjährigen Maintainers und Champions der Echtzeit Steven Rostedthaben es noch einfacher gemacht, solche Dinge zu tun.

Leave a Comment

Your email address will not be published. Required fields are marked *