Линук 6.12 би могао имати подршку „ПРЕЕМПТ_РТ“ у реалном времену

Преемпт-РТ је модификација која дозвољава задацима са вишим приоритетом да прекидају задатке нижег приоритета.

El концепт система у реалном времену То није нешто о чему се размишљало последњих година у Линуку, од идеје о овоме започето пре скоро 20 година, тачније 2005 као део пројекта „Реалтиме-Преемпт” (“-рт”) са развојем ПРЕЕМПТ_РТ режима за Линук кернел.

За оне који не знају ПРЕЕМПТ_РТ, то би требали знати то је закрпа за Линук кернели претвара оперативни систем у систем у реалном времену (у реалном времену). Главни циљ ПРЕЕМПТ_РТ је да смањи кашњење и обезбеди предвидљивост у извршавању задатака, што је кључно у апликацијама које захтевају брзе одговоре.

Једноставнијим речима, можемо рећи да ПРЕЕМПТ_РТ омогућава да се скоро сви делови језгра прекину, што смањује кашњење. За разлику од стандардног кернела, не могу се све секције прекинути, што може узроковати кашњење у времену одговора.

Од 2015. године пројекат је под надзором Линук фондације а до сада је имплементација ПРЕЕМПТ_РТ режима била понуђена у виду екстерних закрпа. На основу ових закрпа, дистрибуције као нпр РХЕЛ, СУСЕ и Убунту су креирали издања својих производа у реалном времену, веома захтеван у секторима као што су финансијски системи, уређаји за аудио и видео обраду, ваздухопловни системи, медицина, роботика, телекомуникације и индустријске апликације, где је неопходно гарантовати предвидљиво време одзива за догађаје.

En 2019. почео је процес промоције од закрпа развијених у пројекту ПРЕЕМПТ_РТ на главно језгро Линука. У верзији кернела 5.3, опција ПРЕЕМПТ_РТ је укључена у конфигурациони фајл да би се омогућио режим у реалном времену.

Принтк битови потребни за ПРЕЕМПТ_РТ налазе се у линук-нект. Ово је била последња позната препрека за ПРЕЕМПТ_РТ. РТ ред има такође "атомска конзола" за УАРТ 8250 која још увек није унутра линук-нект. То значи понашање „наслеђене конзоле“ као да се не штампа са атомски контекст у хитним случајевима. 8250 УАРТ контролер је једини који данас пружа подршку за „атомску конзолу“.

Све Овај рад ће уродити плодом., пошто је комплетна интеграција неопходних измена трајала пет година и приводи се крају, пошто се очекује да у верзији 6.12 кернел може да се компајлира у ПРЕЕМПТ_РТ режиму без потребе за применом додатних закрпа.

Спомиње се да је последња препрека који је спречио ПРЕЕМПТ_РТ да буде омогућен је недостатак подршка за неблокирајући атомски излаз помоћу функције принтк. Ова функционалност је већ била усвојено у линук-нект грани. Поред тога, атомска конзола која не блокира блокаду чека имплементацију за 8250 УАРТ контролер, чије одсуство тренутно спречава излаз хитних порука на конзолу из кода који се извршава у атомском контексту.

Са спојеним принтк битовима, ПРЕЕМПТ_РТ би могао бити омогућен на Кс86, АРМ64 и Рисц-В. Ове три спојене архитектуре захтевале су промене током година.
године, остављајући ме у позицији у којој немам суштинских промена у
ред који би на њих утицао. АРМ и ПОВЕРПЦ имају неке преостале битне закрпе…

Програмери Линук кернела су најавили интеграцију најновијих неопходних промена у линук-нек гранут, који ће се користити за компајлирање верзије 6.12. Ове промене ће омогућити да се кернел компајлира са опцијом ПРЕЕМПТ_РТ, која уводи могућности у реалном времену.

Када се ове промене прихвате на главној грани, ПРЕЕМПТ_РТ режим Биће доступан за Кс86, АРМ64 и РИСЦ-В архитектуре. Подршка за АРМ и ПОВЕРПЦ архитектуре ће бити додата касније, пошто неопходне закрпе још нису у потпуности интегрисане.

Вреди напоменути да предложене измене још увек нису коначне и могуће је да ће, уколико ПРЕЕМПТ_РТ не стигне у грану 6.12, бити интегрисан до следеће године у верзији 6.13.

Коначно, ако сте заинтересовани да сазнате више о томе, детаље можете погледати у следећи линк.