Linux 6.12 zou in realtime “PREMPT_RT”-ondersteuning kunnen hebben

Preempt-RT is een aanpassing waarmee taken met een hogere prioriteit taken met een lagere prioriteit kunnen onderbreken.

El concept van een realtime systeem Het is niet iets waar de afgelopen jaren in Linux aan is gedacht, sinds het idee hiervan begon bijna twintig jaar geleden, om precies te zijn in 20 als onderdeel van het “Realtime-Preempt” (“-rt”) project met de ontwikkeling van de PREEMPT_RT-modus voor de Linux-kernel.

Voor degenen die het niet weten PREEMPT_RT, dat zouden ze moeten weten het is een pleister voor de Linux-kernelen converteert het besturingssysteem naar een realtime besturingssysteem (realtime). Het belangrijkste doel van PREEMPT_RT is het verminderen van de latentie en het garanderen van voorspelbaarheid bij de uitvoering van taken, wat cruciaal is in toepassingen die snelle reacties vereisen.

In eenvoudiger woorden kunnen we zeggen dat PREEMPT_RT maakt het mogelijk dat bijna alle delen van de kernel worden onderbroken, wat de latentie vermindert. In tegenstelling tot een standaardkernel kunnen niet alle secties worden onderbroken, wat vertragingen in de responstijden kan veroorzaken.

Sinds 2015 staat het project onder toezicht van de Linux Foundation en tot nu toe werd de implementatie van de PREEMPT_RT-modus aangeboden in de vorm van externe patches. Op basis van deze patches kunnen distributies zoals RHEL, SUSE en Ubuntu hebben realtime edities van hun producten gemaakt, Er is veel vraag naar in sectoren als financiële systemen, audio- en videoverwerkingsapparatuur, luchtvaartsystemen, geneeskunde, robotica, telecommunicatie en industriële toepassingen, waar het essentieel is om voorspelbare responstijden voor evenementen te garanderen.

En 2019 begon het promotieproces van de patches die zijn ontwikkeld in het PREEMPT_RT-project naar de belangrijkste Linux-kernel. In kernelversie 5.3 was de optie PREEMPT_RT opgenomen in het configuratiebestand om de real-time modus in te schakelen.

De printk-bits die nodig zijn voor PREEMPT_RT bevinden zich in linux-next. Dit was het laatst bekende obstakel voor PREEMPT_RT. De RT-wachtrij heeft ook de "atomic console" voor de UART 8250 die nog niet binnen is Linux-volgende. Dit betekent "legacy console"-gedrag, zoals niet afdrukken vanaf de atomaire context in geval van nood. De 8250 UART-controller is de enige die vandaag de dag “atomic console” -ondersteuning biedt.

alle dit werk staat op het punt vruchten af ​​te werpen, aangezien de volledige integratie van de noodzakelijke veranderingen vijf jaar heeft geduurd en zijn voltooiing nadert, aangezien wordt verwacht dat in versie 6.12 de kernel in PREEMPT_RT-modus kan worden gecompileerd zonder de noodzaak om extra patches toe te passen.

Er wordt vermeld dat het laatste obstakel dat verhinderde dat PREEMPT_RT werd ingeschakeld, was het ontbreken van ondersteuning voor niet-blokkerende atomaire uitvoer met behulp van de printk-functie. Deze functionaliteit is al geweest overgenomen in de linux-next branch. Bovendien wacht de implementatie van een niet-blokkerende atomaire console voor de 8250 UART-controller, waarvan de afwezigheid momenteel de uitvoer van noodberichten naar de console verhindert vanuit code die wordt uitgevoerd in atomaire contexten.

Als printk-bits zijn samengevoegd, kan PREEMPT_RT worden ingeschakeld op X86, ARM64 en Risc-V. Deze drie samengevoegde architecturen vereisten in de loop der jaren veranderingen.
jaar, waardoor ik in een positie terechtkom waarin ik geen essentiële veranderingen in de situatie heb
wachtrij die hen zou beïnvloeden. ARM en POWERPC hebben nog enkele essentiële patches over...

Linux-kernelontwikkelaars hebben de integratie aangekondigd van de laatste noodzakelijke veranderingen in de linux-nex-takt, dat zal worden gebruikt om versie 6.12 te compileren. Deze veranderingen zullen het mogelijk maken dat de kernel wordt gecompileerd met de PREEMPT_RT optie, die real-time mogelijkheden introduceert.

Zodra deze wijzigingen zijn geaccepteerd op de hoofdtak, PREEMPT_RT-modus Het zal beschikbaar zijn voor X86-, ARM64- en RISC-V-architecturen. Ondersteuning voor ARM- en POWERPC-architecturen zal later worden toegevoegd, omdat de benodigde patches nog niet volledig zijn geïntegreerd.

Het is de moeite waard te vermelden dat de voorgestelde wijzigingen nog niet definitief zijn en het is mogelijk dat als PREEMPT_RT niet in de 6.12-branch arriveert, deze tot volgend jaar in versie 6.13 zal worden geïntegreerd.

Tenslotte als u er meer over wilt wetenkunt u de details in het volgende link.