El konsepto ng isang real time system Ito ay hindi isang bagay na naisip sa mga nakaraang taon sa Linux, mula noong ideya nito nagsimula halos 20 taon na ang nakalilipas, upang maging eksakto noong 2005 bilang bahagi ng proyektong “Realtime-Preempt” (“-rt”) kasama ang pagbuo ng PREEMPT_RT mode para sa Linux kernel.
Para sa mga hindi nakakaalam PREEMPT_RT, dapat malaman nila iyon ito ay isang patch para sa Linux kernelat ginagawang real-time ang operating system (real-time). Ang pangunahing layunin ng PREEMPT_RT ay bawasan ang latency at tiyakin ang predictability sa pagsasagawa ng gawain, na mahalaga sa mga application na nangangailangan ng mabilis na mga tugon.
Sa mas simpleng salita, masasabi natin na PREEMPT_RT pinapayagan ang halos lahat ng bahagi ng kernel na magambala, na nagpapababa ng latency. Hindi tulad ng isang karaniwang kernel, hindi lahat ng mga seksyon ay maaaring magambala, na maaaring magdulot ng mga pagkaantala sa mga oras ng pagtugon.
Mula noong 2015 ang proyekto ay nasa ilalim ng pangangasiwa ng Linux Foundation at hanggang ngayon, ang pagpapatupad ng PREEMPT_RT mode ay inaalok sa anyo ng mga panlabas na patch. Batay sa mga patch na ito, ang mga pamamahagi tulad ng Ang RHEL, SUSE at Ubuntu ay lumikha ng mga real-time na edisyon ng kanilang mga produkto, mataas na hinihingi sa mga sektor gaya ng mga financial system, audio at video processing device, aviation system, gamot, robotics, telekomunikasyon at mga pang-industriya na aplikasyon, kung saan mahalagang garantiyahan ang mga predictable na oras ng pagtugon para sa mga kaganapan.
En 2019 nagsimula ang proseso ng promosyon ng mga patch na binuo sa proyektong PREEMPT_RT sa pangunahing Linux kernel. Sa kernel na bersyon 5.3, ang PREEMPT_RT na opsyon ay kasama sa configuration file upang paganahin ang real-time na mode.
Ang mga printk bit na kinakailangan para sa PREEMPT_RT ay matatagpuan sa linux-next. Ito ay ang huling kilalang hadlang para sa PREEMPT_RT. Ang RT queue ay mayroon gayundin ang "atomic console" para sa UART 8250 na wala pa linux-susunod. Nangangahulugan ito ng "legacy console" na gawi tulad ng hindi pagpi-print mula sa ang konteksto ng atom sa mga kaso ng emerhensiya. Ang 8250 UART controller ay isa lamang na nagbibigay ng suporta sa "atomic console" ngayon.
Lahat ang gawaing ito ay malapit nang magbunga, dahil ang kumpletong pagsasama ng mga kinakailangang pagbabago ay tumagal ng limang taon at malapit nang makumpleto, dahil inaasahan na sa bersyon 6.12, ang kernel ay maaaring i-compile sa PREEMPT_RT mode nang hindi nangangailangan ng karagdagang mga patch.
Nabanggit na ang huling balakid na pumigil sa PREEMPT_RT na paganahin ay ang kakulangan ng suporta para sa non-blocking atomic output gamit ang printk function. Ang pagpapaandar na ito ay naging pinagtibay sa linux-susunod na sangay. Bukod pa rito, ang isang hindi humaharang na atomic console ay nakabinbing pagpapatupad para sa 8250 UART controller, ang kawalan nito ay kasalukuyang pumipigil sa output ng mga emergency na mensahe sa console mula sa code na pinaandar sa atomic na konteksto.
Kapag pinagsama ang mga printk bit, maaaring paganahin ang PREEMPT_RT sa X86, ARM64 at Risc-V. Ang tatlong pinagsamang arkitektura na ito ay nangangailangan ng mga pagbabago sa paglipas ng mga taon.
taon, na iniiwan ako sa isang posisyon kung saan wala akong mahahalagang pagbabago sa
pila na makakaapekto sa kanila. Ang ARM at POWERPC ay may ilang mahahalagang patch na natitira...
Mga developer ng kernel ng Linux ay nag-anunsyo ng pagsasama ng mga pinakabagong kinakailangang pagbabago sa sangay ng linux-next, na gagamitin sa pag-compile ng bersyon 6.12. Ang mga pagbabagong ito ay magbibigay-daan sa kernel na ma-compile sa PREEMPT_RT na opsyon, na nagpapakilala ng mga real-time na kakayahan.
Kapag natanggap na ang mga pagbabagong ito sa pangunahing sangay, PREEMPT_RT mode Magiging available ito para sa mga arkitektura ng X86, ARM64 at RISC-V. Ang suporta para sa mga arkitektura ng ARM at POWERPC ay idadagdag sa ibang pagkakataon, dahil hindi pa ganap na pinagsama ang mga kinakailangang patch.
Ito ay nagkakahalaga ng pagbanggit na ang mga iminungkahing pagbabago ay hindi pa pinal at posible na kung ang PREEMPT_RT ay hindi dumating sa 6.12 branch, ito ay isasama hanggang sa susunod na taon sa bersyon 6.13.
Sa wakas, kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.