Sigar takwas na faci don tallafin direban Rust akan Linux ya isa

Miguel Ojeda, marubucin aikin Rust-for-Linux saki na takwas na haɓaka facin kernel na Linux tare da tallafin harshen Rust don masu haɓaka kernel na Linux suyi la'akari.

Wannan matsayi a matsayin saki na tara na faci (la'akari da fitowar farko ba tare da lambar sigar ba). Ana ɗaukar tallafin tsatsa a matsayin gwaji, amma an riga an haɗa shi a cikin reshe na gaba na linux, da'awar haɗin kai a cikin sakin faɗuwar 5.20/6.0, kuma yana da ci gaba sosai don fara aiki akan ƙirƙirar yadudduka na abstraction a saman kernel subsystems, kazalika da masu sarrafa rubutu da kayayyaki.

Google da ISRG ne ke tallafawa ci gaban (Rukunin Binciken Tsaro na Intanet), wanda shi ne wanda ya kafa shirin Mu Encrypt aikin kuma yana haɓaka HTTPS da haɓaka fasahar haɓaka tsaro ta Intanet.

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 a cikin abubuwan dogaro da ake buƙata don kernel. Yin amfani da Rust don haɓaka direbobi zai ba ku damar ƙirƙirar ingantattun direbobi masu aminci tare da ƙaramin ƙoƙari, ba tare da matsaloli kamar samun damar wurin ƙwaƙwalwar ajiya bayan yantar da shi, ɓangarorin null pointers, da buffer ambaliya.

Ana ba da amincin ƙwaƙwalwar ajiya a cikin Tsatsa a lokacin tattarawa ta hanyar duba nassoshi, bin diddigin mallakar abu, da tsawon rayuwa (ikon), haka kuma ta hanyar kimanta daidaitaccen damar ƙwaƙwalwar ajiya yayin aiwatar da lambar.

Menene sabo a cikin wannan sakin na takwas?

A cikin wannan sabuwar shawara da aka fitar, an ambaci cewa bambance-bambancen ɗakin karatu na alloc, wanda ya kawar da yiwuwar tsara yanayin "firgita" akan kurakurai, An sabunta shi zuwa Rust 1.62. Idan aka kwatanta da sigar da ta gabata, Rust Toolkit ya daidaita tallafi don ayyukan const_fn_trait_bound da ake amfani da su a cikin facin kernel.

Bayan shi an raba lambar ɗaurin a cikin tarin akwatunan “bindings”. daban, wanda ke sauƙaƙa sake ginawa idan kawai an canza babban kunshin kernel.

Da aiwatar da "concat_idents!" macro, An sake rubuta shi azaman macro mai tsari, ba'a haɗa shi da ayyukan concat_idents ba kuma yana ba da damar amfani da nassoshi masu canji na gida.

Bugu da kari, an ambaci cewa macro "a tsaye_tabbatar!" an sake rubutawa don ba da damar "core:: assert!()" ana amfani da shi a kowane mahallin maimakon madaidaicin, yayin da macro "construction_error!" an daidaita shi don aiki yayin saita yanayin "RUST_BUILD_ASSERT_{WARN,ALLOW}" don kayayyaki.

fs module kara wanda ke ba da hanyoyin haɗin kai don aiki tare da tsarin fayil. An gabatar da misalin tsarin fayil mai sauƙi da aka rubuta a cikin Rust, da kuma ƙirar layin aiki da aka ƙara don aiki tare da layin tsarin.

Na sauran canje-canje wanda ya bambanta daga wannan sabon tsari:

  • An ƙara fayil ɗin sanyi daban "kernel/configs/rust.config".
  • Fayilolin "*.i" da aka sarrafa a cikin macro an canza suna zuwa "*.rsi".
  • Cire goyon baya don gina abubuwan Rust tare da haɓaka matakan haɓaka ban da waɗanda aka yi amfani da su don lambar C.
  • Ci gaban tsarin kasync ya ci gaba tare da aiwatar da hanyoyin shirye-shiryen asynchronous (async).
  • An ƙara misalin sabar TCP na kernel da aka rubuta a cikin Rust kuma ya ƙara da ikon sarrafa katsewa a cikin Rust.
  • Ƙara macro hanya don sauƙaƙa aiki tare da tebur mai nunin aiki, kamar tsarin fayil_operations.
  • Ƙaddara aiwatar da jerin abubuwan da aka haɗa mahaɗin bidirectional "lissafe_list::List".
  • Ƙara goyon baya na farko don RCU da nau'in Guard don bincika idan kulle karantawa yana daure zuwa zaren yanzu.
  • Ƙara aikin Aiki :: spawn() don haɗewa ta atomatik kuma fara zaren kernel.
  • Hakanan an ƙara hanyar Task :: wake_up().
  • An ƙara ƙirar jinkiri

Finalmente idan kuna sha'awar ƙarin sani game da shi, zaka iya duba bayanan A cikin mahaɗin mai zuwa.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Alhakin bayanai: AB Internet Networks 2008 SL
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.