Linux 6.12-l võib olla reaalajas PREEMPT_RT tugi

Preempt-RT on modifikatsioon, mis võimaldab kõrgema prioriteediga ülesannetel katkestada madalama prioriteediga ülesanded.

El reaalajas süsteemi kontseptsioon Seda pole viimastel aastatel Linuxis mõelnud, alates selle ideest sai alguse peaaegu 20 aastat tagasi, täpsemalt 2005. aastal osana projektist "Realtime-Preempt" ("-rt") koos režiimi PREEMPT_RT väljatöötamisega Linuxi tuuma jaoks.

Neile, kes ei tea PREEMPT_RT, nad peaksid seda teadma see on plaaster Linuxi tuuma jaoksja teisendab operatsioonisüsteemi reaalajas toimivaks (reaalajas). PREEMPT_RT põhieesmärk on vähendada latentsust ja tagada ülesannete täitmise prognoositavus, mis on ülioluline kiireid vastuseid nõudvate rakenduste puhul.

Lihtsamate sõnadega võib öelda, et PREEMPT_RT võimaldab katkestada peaaegu kõik tuuma osad, mis vähendab latentsust. Erinevalt tavalisest kernelist ei saa kõiki sektsioone katkestada, mis võib reaktsiooniaegades viivitusi põhjustada.

Alates 2015. aastast on projekt olnud Linuxi sihtasutuse järelevalve all ja siiani on PREEMPT_RT režiimi rakendamist pakutud väliste paikade kujul. Nende plaastrite põhjal on distributsioonid nagu RHEL, SUSE ja Ubuntu on loonud oma toodetest reaalajas väljaanded, väga nõutud sellistes sektorites nagu finantssüsteemid, heli- ja videotöötlusseadmed, lennundussüsteemid, meditsiin, robootika, telekommunikatsioon ja tööstuslikud rakendused, kus on oluline tagada sündmustele prognoositav reageerimisaeg.

En 2019 algas reklaamiprotsess PREEMPT_RT projektis välja töötatud plaastritest Linuxi põhikernelile. Kerneli versioonis 5.3 lisati konfiguratsioonifaili suvand PREEMPT_RT, et lubada reaalajas režiim.

PREEMPT_RT jaoks vajalikud printk-bitid asuvad linux-next'is. See oli viimane teadaolev takistus PREEMPT_RT jaoks. RT järjekorras on ka "atomikonsool" UART 8250 jaoks, mis pole veel sees linux-next. See tähendab "pärandkonsooli" käitumist, nagu mitteprintimist aatomikontekst hädaolukordades. 8250 UART kontroller on ainus mis pakub tänapäeval "atomikonsooli" tuge.

Kõik See töö hakkab vilja kandma., kuna vajalike muudatuste täielik integreerimine on kestnud viis aastat ja on peaaegu lõpule jõudmas, kuna eeldatakse, et versioonis 6.12 saab kerneli kompileerida režiimis PREEMPT_RT, ilma et oleks vaja täiendavaid plaastreid rakendada.

Mainitakse, et viimane takistus mis takistas PREEMPT_RT lubamist, oli selle puudumine toetus mitteblokeerivale aatomiväljundile, kasutades funktsiooni printk. See funktsioon on juba olemas vastu võetud linux-next harus. Lisaks on 8250 UART-kontrolleri juurutamisel ootel mitteblokeeriv aatomikonsool, mille puudumine takistab praegu hädaabiteadete väljastamist konsooli koodist, mida käivitatakse atomaarsetes kontekstides.

Kui printk-bitid on liidetud, saab PREEMPT_RT lubada X86-l, ARM64-l ja Risk-V. Need kolm ühendatud arhitektuuri nõudsid aastate jooksul muudatusi.
aastat, jättes mind positsioonile, kus mul pole olulisi muudatusi
järjekord, mis neid mõjutaks. ARM-il ja POWERPC-l on mõned olulised paigad alles...

Linuxi tuumaarendajad on teatanud viimaste vajalike muudatuste integreerimisest linux-nexi harust, mida kasutatakse versiooni 6.12 kompileerimiseks. Need muudatused võimaldavad kerneli kompileerida suvandiga PREEMPT_RT, mis tutvustab reaalajas võimalusi.

Kui need muudatused on vastu võetud põhiharus PREEMPT_RT režiim See on saadaval X86, ARM64 ja RISC-V arhitektuuridele. ARM-i ja POWERPC-arhitektuuride tugi lisatakse hiljem, kuna vajalikud paigad pole veel täielikult integreeritud.

Tasub mainida, et kavandatavad muudatused pole veel lõplikud ja on võimalik, et kui PREEMPT_RT 6.12 harusse ei jõua, integreeritakse see kuni järgmise aastani versioonisse 6.13.

Lõpuks kui olete huvitatud sellest rohkem teada saama, saate üksikasju vaadata järgmine link.