Buga na biyu na faci na Linux kernel tare da goyan bayan yaren Rust

Miguel Ojeda, marubucin aikin Rust-for-Linux, ya ba da shawarar sabunta sigar abubuwan haɗin gwiwa don haɓaka direbobin na'ura a cikin Yaren Rust don la'akari da masu haɓaka kernel na Linux. Ana ɗaukar tallafin tsatsa a matsayin gwaji, amma an riga an amince da shi don haɗawa cikin reshe na gaba na Linux. Sabuwar sigar ta kawar da maganganun da aka yi yayin tattaunawar sigar farko ta faci. Linus Torvalds ya riga ya shiga cikin tattaunawar kuma ya ba da shawarar canza dabaru don sarrafa wasu ayyuka.

Ka tuna cewa canje-canjen da aka gabatar sun ba da damar yin amfani da Rust azaman harshe na biyu don haɓaka direbobi da samfuran kwaya. Ana gabatar da tallafin tsatsa azaman zaɓi wanda ba a kunna shi ta tsohuwa ba kuma baya haifar da shigar da tsatsa azaman dogaron ginawa da ake buƙata don kernel. Yin amfani da Rust don haɓaka direba zai ba ku damar ƙirƙirar mafi aminci kuma mafi kyawun direbobi tare da ƙaramin ƙoƙari, 'yanci daga matsaloli kamar samun damar ƙwaƙwalwar ajiya bayan 'yantarwa, ɓangarorin maƙasudin null, da buffer overruns.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba tunani, kiyaye bin diddigin mallakar abu da tsawon rayuwa (ikon), haka kuma ta hanyar kimanta daidaitaccen damar ƙwaƙwalwar ajiya yayin aiwatar da lambar. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙaddamar da ƙima mai mahimmanci kafin amfani, yana sarrafa kurakurai mafi kyau a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi marasa canzawa da masu canji ta tsohuwa, yana ba da buga rubutu mai ƙarfi don rage kurakurai masu ma'ana.

Canje-canjen da aka fi sani a cikin sabon sigar faci:

  • An kuɓutar lambar keɓewar ƙwaƙwalwar ajiya daga yuwuwar haifar da yanayin "firgita" lokacin da kurakurai kamar fitar da ƙwaƙwalwar ajiya suka faru. An haɗa bambance-bambancen ɗakin karatu na Rust alloc, wanda ke sake yin rikodin don magance gazawa, amma babban makasudin shine don canja wurin duk abubuwan da ake buƙata don kernel zuwa babban bugu na allo (an riga an shirya canje-canje kuma an canza su zuwa daidaitattun. Rust Library).
  • Maimakon ginin dare, yanzu zaku iya amfani da sakin beta da tsayayyen sakin mai tara rustc don haɗa kwaya tare da tallafin Rust. A halin yanzu, ana amfani da rustc 1.54-beta1 azaman mai tara bayanai, amma bayan sakin 1.54 a ƙarshen wata, za a tallafa masa azaman mai tara bayanai.
  • Ƙara goyon baya don gwaje-gwajen rubuce-rubuce ta amfani da daidaitaccen sifa "#[gwaji]" don Tsatsa da ikon yin amfani da doctests don rubuta gwaje-gwaje.
  • Ƙara tallafi don gine-ginen ARM32 da RISCV ban da goyon bayan x86_64 da ARM64 a baya.
  • Ingantattun aiwatarwa na GCC Rust (GCC frontend for Rust) da rustc_codegen_gcc (rustc backend for GCC), wanda yanzu ya wuce duk ainihin gwaje-gwaje.
  • An gabatar da sabon matakin abstraction don amfani a cikin shirye-shiryen tsatsa na hanyoyin kernel da aka rubuta a cikin C, kamar jajayen bishiyu, abubuwan ƙirga, ƙirƙirar bayanin fayil, ɗawainiya, fayiloli, da vectors I/O.
  • Abubuwan haɓaka haɓaka direbobi sun inganta tallafi don tsarin fayil_operations, tsarin! macro, rijistar macro, da direbobi masu mahimmanci (bincike da cirewa).
  • Binder yanzu yana goyan bayan wucewar bayanan fayil da ƙugiya na LSM.
  • An gabatar da ƙarin misali mai aiki na direban Rust - bcm2835-rng don janareta lambar bazuwar hardware na allon Rasberi Pi.

Bugu da ƙari, an ambaci wasu ayyukan kamfanoni masu alaƙa da amfani da Rust a cikin kwaya:

  • Microsoft ya nuna sha'awar shiga cikin aikin don haɗa tallafin Rust a cikin kwaya na Linux kuma yana shirye don samar da aiwatar da direbobi don Hyper-V akan Rust a cikin watanni masu zuwa.
  • ARM yana aiki don haɓaka tallafin Rust don tsarin tushen ARM. Aikin Rust ya riga ya ba da shawarar canje-canje waɗanda za su sanya tsarin 64-bit ARM ya zama dandalin Tier 1.
  • Google kai tsaye yana ba da tallafi ga aikin Rust don Linux, yana haɓaka sabon aiwatar da tsarin sadarwa na Binder a cikin Rust, kuma yana la'akari da yuwuwar sake yin aikin direbobi daban-daban a cikin Rust. Ta hanyar ISRG (Rukunin Binciken Tsaro na Intanet), Google ya ba da kuɗi don aiki don haɗa tallafin Rust a cikin kernel na Linux.
  • IBM ta aiwatar da tallafin kwaya don Rust don tsarin PowerPC.
  • Laboratory Research na LSE (Systems Research Laboratory) ya haɓaka direban SPI a cikin Rust.

source: budenet.ru

Add a comment