Tsarin don rubuta amintattun direbobi don kernel Linux a cikin Rust

Josh Triplett, wanda ke aiki a Intel kuma yana cikin kwamitin da ke kula da ci gaban Crates.io, yana magana a taron koli na Fasaha na Open Source. gabatar ƙungiyar aiki da nufin kawo harshen Rust zuwa daidaito tare da harshen C a fagen shirye-shiryen tsarin.

A cikin ƙungiyar aiki da ke cikin aiwatar da ƙirƙira, Masu haɓaka Rust, tare da injiniyoyi daga Intel, za su shirya ƙayyadaddun bayanai da ke bayyana ayyukan da ake buƙatar aiwatarwa a cikin Rust don shirye-shiryen tsarin. Shirye-shiryen tsarin sau da yawa yana buƙatar yin amfani da ƙananan matakai, kamar aiwatar da umarnin sarrafawa masu gata da samun cikakkun bayanai game da yanayin mai sarrafawa. Daga cikin irin waɗannan fasalulluka waɗanda aka riga aka haɓaka don Tsatsa, tallafi ga tsarin da ba a bayyana sunansa ba, ƙungiyoyi, abubuwan shigar da harshe taro (“asm!” macro) da kuma tsarin lambar BFLOAT16 mai iyo.

Josh ya yi imanin cewa makomar tsarin shirye-shiryen nasa ne na Rust, kuma harshen C a cikin zamani na zamani yana da'awar wurin da Majalisar ta mamaye a cikin shekarun da suka gabata. Tsatsa
ba wai kawai yana sauke masu haɓakawa daga matsalolin da ke cikin harshen C ba wanda ke tasowa saboda ƙananan aiki tare da ƙwaƙwalwar ajiya, amma kuma yana ba da damar yin amfani da shi wajen bunkasa shirye-shirye na zamani.

Yayin tattaunawa wasanni
Josh ya zo tare da ra'ayin ƙara ikon haɓaka direbobi a cikin Linux kernel a cikin harshen Rust, wanda zai ba da damar ƙirƙirar mafi aminci da mafi kyawun direbobi tare da ƙaramin ƙoƙari, ba tare da matsaloli kamar samun damar ƙwaƙwalwar ajiya bayan yantar da su ba. maƙasudin nuni da wuce gona da iri.

Greg Kroah-Hartman, wanda ke da alhakin kiyaye tsayayyen reshe na kernel na Linux, ya bayyana shirye-shiryensa don ƙara tsarin haɓaka direbobi a cikin yaren Rust zuwa kwaya idan yana da fa'ida ta gaske akan C, alal misali, zai samar da amintaccen tsari. ɗaurin kan Kernel API. Bugu da kari, Greg yana ɗaukar wannan tsarin azaman zaɓi kawai, ba yana aiki ta tsohuwa ba, don kar ya haɗa da Rust azaman dogaro da kernel.

Ya bayyana cewa tuni ƙungiyoyi da yawa suna aiki a wannan hanya. Misali, masu haɓakawa daga kamfanin "Kifi a cikin ganga" shirya kayan aiki don rubuta kayan aiki masu ɗaukar nauyi don Linux kernel a cikin Yaren Rust, ta amfani da saitin yadudduka masu ƙyalli akan musaya da tsarin kwaya don ƙara tsaro. Ana samar da yadudduka ta atomatik bisa fayilolin jigon kernel da ke akwai ta amfani da kayan aiki ɗaure. Ana amfani da Clang don gina yadudduka. Baya ga masu shiga tsakani, samfuran da aka haɗa suna amfani da fakitin staticlib.

Daidaici yana tasowa Wani aikin ya mayar da hankali kan haɓaka direbobi don tsarin da aka haɗa da na'urorin IoT, waɗanda kuma ke amfani da bindgen don samar da yadudduka dangane da fayilolin taken kernel. Tsarin yana ba ku damar inganta tsaro na direba ba tare da yin canje-canje ga kernel ba - maimakon ƙirƙirar ƙarin matakan keɓewa ga direbobi a cikin kwaya, an ba da shawarar toshe matsaloli a matakin tattarawa, ta amfani da mafi amintaccen yaren Rust. Ana tsammanin cewa irin wannan hanyar na iya zama buƙatar ta hanyar masana'antun kayan aiki masu haɓaka direbobi masu zaman kansu cikin gaggawa ba tare da gudanar da binciken da ya dace ba.

Ba duk ayyukan da aka yi niyya ba har yanzu an aiwatar da su, amma tsarin ya riga ya dace da aiki kuma an yi amfani da shi don rubuta direba mai aiki don LAN9512 USB Ethernet mai kula da aka kawo a cikin kwamitin Rasberi Pi 3. Direban smsc95xx na yanzu, an rubuta ta a ciki. C harshe. An lura cewa girman module da sama daga abubuwan da aka haɗa lokacin aiki lokacin haɓaka direba a cikin Rust ba su da mahimmanci, wanda ke ba da damar yin amfani da tsarin don na'urori masu iyakacin albarkatu.

source: budenet.ru

Add a comment