Real-time Linux maakt officieel deel uit van de kernel, na tientallen jaren van discussie

De CNC-laser springt over het metalen oppervlak en laat bij lange belichtingstijden lichtsporen achter.
Toename / Metaal snijden met lasers is moeilijk, maar nog moeilijker als je de slechtst mogelijke timing van je code niet kent.

Getty-afbeeldingen

Zoals vaak het geval is, is een significante verandering in de komende Linux-kernel historisch en geen groot probleem.

Als je “Real-Time Linux” wilde gebruiken voor je audioapparatuur, je industriële laser voor het lassen of je Mars-rover, dan heb je die optie al lang gehad (ervan uitgaande dat je QNX of andere alternatieven niet wilt gebruiken). Universiteiten begonnen eind jaren negentig met het bouwen van hun eigen realtime kernels. De patchset, PREEMPT_RT, bestaat al sinds minstens 2005. En sommige aspecten van realtime, zoals NO_HZ, zijn lang geleden naar de hoofdkern verplaatst, waardoor het gebruikt kon worden in datacenters, cloud computing of iets anders met veel CPU. .

Maar officieelheid doet er nog steeds toe, en in kernel 6.12 zal PREEMPT_RT waarschijnlijk worden samengevoegd met de hoofdlijn. Zoals opgemerkt door Steven Vaughan-Nichols van ZDNet, ondertekende Linus Torvalds uiteindelijk het contract tijdens het bijwonen van de Open Source Summit Europe. Torvalds schreef de originele code voor printk, een debugging-tool die de momenten kan lokaliseren waarop een proces crasht, maar ook een vertraging introduceert die in strijd is met real-time berekeningen. De Phoronix-blog heeft de voortgang van PREEMPT_RT in de kernel gevolgd, samen met printk-wijzigingen die threaded/atomic console-ondersteuning mogelijk maakten die cruciaal is voor realtime mainlining.

Wat betekent dit voor desktop Linux? Niet veel. Afgezien van superieure audioproductie of -replicatie (en zelfs dat is discutabel), zal een real-time kernel Windows waarschijnlijk niet sneller maken en programma’s niet sneller. Maar de gegarandeerde uitvoering en de slechtste timing die Linux in realtime biedt, zijn behoorlijk nuttig voor bijvoorbeeld systemen die autoremmen monitoren, CNC-machines aansturen en duivels complexe multi-CPU-systemen regelen. Het hebben van PREEMPT-RT in de hoofdkernel maakt het gemakkelijker om het systeem in realtime te onderhouden, in plaats van te neigen naar out-of-tree-patches.

Dit zal waarschijnlijk de zaken veranderen voor wat tot nu toe gespecialiseerde leveranciers van real-time OS-oplossingen voor kritieke systemen zijn geweest. Ubuntu begon bijvoorbeeld in 2023 met het aanbieden van een realtime versie van zijn distributie, maar voor toegang was een abonnement op Ubuntu Pro vereist. Ubuntu introduceerde zijn release voor robotica, automatisering, embedded Linux en andere realtime behoeften, met fixes, patches, module-integratie en testen geleverd door Ubuntu.

“Het besturen van Laster met Linux is waanzinnig”, zei Torvalds op de Kernel Summit van 2006, “maar iedereen in deze zaal is op zijn eigen manier gek. Dus als je Linux wilt gebruiken om een ​​industriële laslaser te besturen, heb ik geen probleem met jou. met PREEMPT_RT.” Zo’n 18 jaar later hebben Torvalds en het kernelteam, inclusief oud-onderhouder en real-time kampioen Steven Rostedt, het nog gemakkelijker gemaakt om zulke dingen te doen.