El reāllaika sistēmas koncepcija Tas nav nekas tāds, par ko pēdējos gados ir domāts Linux, kopš šīs idejas rašanās sākās gandrīz pirms 20 gadiem, precīzāk sakot, 2005. gadā kā daļa no projekta “Realtime-Preempt” (“-rt”) ar PREEMPT_RT režīma izstrādi Linux kodolam.
Tiem, kas nezina PREEMPT_RTviņiem tas būtu jāzina tas ir plāksteris Linux kodolamun pārvērš operētājsistēmu reāllaika operētājsistēmā (reāllaikā). PREEMPT_RT galvenais mērķis ir samazināt latentumu un nodrošināt paredzamību uzdevumu izpildē, kas ir ļoti svarīgi lietojumprogrammās, kurām nepieciešama ātra reakcija.
Vienkāršākiem vārdiem sakot, mēs varam teikt, ka PREEMPT_RT ļauj pārtraukt gandrīz visas kodola daļas, kas samazina latentumu. Atšķirībā no standarta kodola, ne visas sadaļas var tikt pārtrauktas, kas var izraisīt reakcijas laika aizkavēšanos.
Kopš 2015. gada projekts ir Linux fonda pārraudzībā un līdz šim PREEMPT_RT režīma ieviešana tika piedāvāta ārējo ielāpu veidā. Pamatojoties uz šiem ielāpiem, izplatījumi, piemēram, RHEL, SUSE un Ubuntu ir izveidojuši savu produktu reāllaika izdevumus, ļoti pieprasītas tādās nozarēs kā finanšu sistēmas, audio un video apstrādes ierīces, aviācijas sistēmas, medicīna, robotika, telekomunikācijas un rūpnieciskās lietojumprogrammas, kurās ir svarīgi garantēt paredzamu reakcijas laiku uz notikumiem.
En 2019. gadā sākās veicināšanas process no projektā PREEMPT_RT izstrādātajiem ielāpiem uz galveno Linux kodolu. Kodola versijā 5.3 konfigurācijas failā tika iekļauta opcija PREEMPT_RT, lai iespējotu reāllaika režīmu.
Printk biti, kas nepieciešami PREEMPT_RT, atrodas Linux-next. Šis bija pēdējais zināmais šķērslis PREEMPT_RT. RT rindā ir arī "atomu konsole" UART 8250, kas vēl nav ievietota linux-next. Tas nozīmē "mantotās konsoles" darbību, piemēram, nedrukāšanu no atomu konteksts ārkārtas gadījumos. 8250 UART kontrolieris ir vienīgais kas šodien nodrošina "atomu konsoles" atbalstu.
Viss Šis darbs drīz nesīs augļus., jo nepieciešamo izmaiņu pilnīga integrācija ir prasījusi piecus gadus un tuvojas noslēgumam, jo sagaidāms, ka versijā 6.12 kodolu var kompilēt PREEMPT_RT režīmā bez nepieciešamības lietot papildu ielāpus.
Tiek minēts, ka pēdējais šķērslis kas neļāva PREEMPT_RT iespējot, bija trūkums atbalsts nebloķējošai atomu izvadei, izmantojot funkciju printk. Šī funkcionalitāte jau ir bijusi pieņemts linux-next filiālē. Turklāt 8250 UART kontrollerim tiek gaidīta nebloķējoša atomu konsole, kuras trūkums pašlaik neļauj konsolei izvadīt avārijas ziņojumus no koda, kas izpildīts atomu kontekstā.
Kad printk biti ir apvienoti, PREEMPT_RT var iespējot X86, ARM64 un Risk-V. Šīs trīs apvienotās arhitektūras gadu gaitā prasīja izmaiņas.
gados, atstājot mani stāvoklī, kurā man nav būtisku izmaiņu
rinda, kas viņus ietekmētu. ARM un POWERPC ir atlikuši daži būtiski ielāpi…
Linux kodola izstrādātāji ir paziņojuši par jaunāko nepieciešamo izmaiņu integrāciju linux-nex filiālēt, kas tiks izmantota versijas 6.12 kompilēšanai. Šīs izmaiņas ļaus kodolu kompilēt, izmantojot opciju PREEMPT_RT, kas ievieš reāllaika iespējas.
Tiklīdz šīs izmaiņas tiks pieņemtas galvenajā atzarā PREEMPT_RT režīms Tas būs pieejams X86, ARM64 un RISC-V arhitektūrām. Vēlāk tiks pievienots atbalsts ARM un POWERPC arhitektūrām, jo nepieciešamie ielāpi vēl nav pilnībā integrēti.
Ir vērts pieminēt, ka piedāvātās izmaiņas vēl nav galīgas un iespējams, ja PREEMPT_RT neienāks 6.12 filiālē, tas tiks integrēts līdz nākamajam gadam 6.13 versijā.
Visbeidzot, ja jūs interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.