Linux-kerneludviklerne har annonceret overførslen til linux-next-grenen, som vil blive brugt til at danne version 6.12, af de sidste ændringer, der er nødvendige for at compile kernen med PREEMPT_RT-optionen, der inkluderer midler til realtidsdrift. Efter ændringerne er accepteret i hovedkernen, vil PREEMPT_RT-tilstand være tilgængelig for X86, ARM64 og RISC-V arkitekturer. Senere vil der blive tilføjet støtte til ARM og POWERPC-arkitekturer, for hvilke ikke alle patches endnu er overført til kernen.
Udviklingen af realtidsdrift til Linux-kernen har stået på siden 2005 i rammerne af projektet "Realtime-Preempt" ("-rt"), og fra 2015 har det været overvåget af Linux Foundation. Hidtil har implementeringen af PREEMPT_RT-tilstanden været leveret som eksterne patches, på basis af hvilke nogle distributioner som RHEL, SUSE og Ubuntu har skabt separate Realtime-udgaver af deres produkter, efterspurgt i områder som finanssystemer, lyd- og videoredigeringsenheder, luftfart, medicin, robotteknologi, telekommunikations- og industrielle systemer, hvor det er nødvendigt at sikre forudsigelig behandlingstid af begivenheder.
I 2019 begyndte fremme af de udviklede PREEMPT_RT-patches i den centrale del af kernen. I konfigurationsfilen for kernelversion 5.3 blev PREEMPT_RT-optionen tilføjet for at aktivere realtidsdrift, men integrationen af de nødvendige ændringer til dens drift strakte sig over 5 år. Nu nærmer denne proces sig sin afslutning, og sandsynligvis vil det i version 6.12 være muligt at kompilere kernen i PREEMPT_RT-tilstand uden brug af yderligere patches.
Den sidste manglende funktion i kernen, som forhindrede aktivering af PREEMPT_RT-tilstanden, var understøttelsen af blokkeringsfri atomisk output via printk-funktionen. Denne mulighed er nu blevet accepteret i linux-next-grenen. Også implementeringen af en atomisk og blokkeringsfri konsol til UART 8250-driveren forventes at blive inkluderet i linux-next-grenen, uden hvilken output af nødmeddelelser til konsollen fra koden i atomisk kontekst i øjeblikket er deaktiveret.
Kilde: opennet.ru
