Inguqulelo yesithathu yeepetshi zenkxaso yomqhubi weRust kwiLinux sele ikhutshiwe

Kwiinyanga ezintandathu emva kokupapashwa kwenguqulelo yesibini, UMiguel Ojeda, umbhali weprojekthi yeRust-for-Linux, kwazisa isindululo sokhetho lwesithathu kuphuhliso lwabaqhubi besixhobo kulwimi lweRust kwiLinux Kernel.

Inkxaso yomhlwa ithathwa njengovavanyo, kodwa ukufakwa kwayo kwi-linux-isebe elilandelayo sele kuvunyelwene ngayo. Uphuhliso luxhaswa ngemali nguGoogle kunye ne-ISRG (iQela loPhando loKhuseleko lwe-Intanethi) umbutho, ongumseki weprojekthi ye-Let Encryption kunye negalelo ekukhuthazeni i-HTTPS kunye nophuhliso lobuchwepheshe ukuphucula ukhuseleko lwe-Intanethi.

Kufuneka kukhunjulwe ukuba utshintsho olucetywayo luvumela iRust ukuba isetyenziswe njengolwimi lwesibini ukuphuhlisa abaqhubi be-kernel kunye neemodyuli.

Abaqhubi be-rust kwi-Linux
Inqaku elidibeneyo:
Inguqulelo yesibini yeepatches zenkxaso yomqhubi weRust kwiLinux sele ithunyelwe

Inkxaso yomhlwa ibhengezwa njengokhetho olungasebenziyo ngokungagqibekanga kwaye ayibangeli ukuba iRust ibandakanywe kwizinto ezixhomekeke kulwakhiwo olusisiseko olufunekayo. Ukusebenzisa iRust kuphuhliso lwabaqhubi kuya kukuvumela ukuba udale abaqhubi abangcono nabakhuseleke ngakumbi ngomzamo omncinci, ngaphandle kobunzima bokufikelela kwindawo yenkumbulo xa sele ikhululiwe, ireferensi yezalathisi ezingenanto, kunye nokudlula imida ye-buffer.

Inguqulelo entsha yeepatches iyaqhubeka nokuphelisa izimvo ezenziwe ngexesha lengxoxo yenguqulelo yokuqala neyesibini yeepatches kunye nolona tshintsho luphawulekayo esinokulufumana:

Itshintshelwe kwiRust 1.57 inguqulelo ezinzileyo njengomqokeleli wereferensi kunye nokubophelela kuhlelo oluzinzileyo lweRust 2021 ulwimi lukhuselwe.kuvunyelwe ukuqalisa ukusebenza ukunqanda ukusebenzisa iimpawu ezingazinzanga kwiziqwenga ezifana const_fn_transmute, const_panic, const_unreachable_unchecked kunye core_panic kwaye try_reserve.

Ikwavelele ukuba uphuhliso lwenguqulelo yealloc luqhubekile ukusuka kwilayibrari yeRust, kwinguqulelo entsha, "no_rc" kunye "no_sync" iinketho ziphunyeziwe ukuvala umsebenzi engasetyenziswanga kwikhowudi yeRust yekernel, isenza ithala leencwadi libe yimodyuli ngakumbi. Siyaqhubeka nokusebenza kunye nabaphuhlisi abaphambili be-alloc ukuzisa utshintsho oluyimfuneko kwithala leencwadi. Ukhetho "no_fp_fmt_parse", olufunekayo ukuze ithala leencwadi lisebenze kwinqanaba le-kernel, liye lasiwa kwithala leencwadi le-Rust's base (kernel).

Ikhowudi icociwe ukususa izilumkiso zomqokeleli ezinokubakho xa uqulunqa ikernel kwindlela yeCONFIG_WERROR. Xa ikhowudi yenziwe kwi-Rust, iindlela ezongezelelweyo zokuxilonga i-diagnostic compiler kunye nezilumkiso ze-Clippy linter zibandakanyiwe.

Bacebisa ama-abstractions ukusebenzisa i-seqlocks (ukuvala ulandelelwano), ukufowunelwa kweefowuni zolawulo lwamandla, imemori ye-I / O (readX / bhalaX), ukuphazamisa kunye nabaphethe intambo, i-GPIO, ukufikelela kwisixhobo, abaqhubi kunye neziqinisekiso kwikhowudi yokugqwala.

Izixhobo zophuhliso lwabaqhubi zandisiwe ngokusetyenziswa kwemutexes ezinokufuduswa, i-bit iterators, izibophelelo ezenziwe lula phezu kwezikhombisi, ukuxilongwa kwempazamo okuphuculweyo, kunye neziseko ezizimeleyo zebhasi yedatha.

Umsebenzi onamakhonkco uphuculwe kusetyenziswa uhlobo lweRef yenziwe lula, ngokusekelwe kwi-refcount_t backend, esebenzisa i-API esembindini yegama elifanayo ukubala iimbekiselo. Inkxaso kwiintlobo ze-Arc kunye ne-Rc ezinikezelwe kwilayibrari yemephu esemgangathweni isusiwe kwaye ayifumaneki kwikhowudi eqhutywe kwinqanaba le-kernel (kwithala leencwadi ngokwalo, ukhetho lulungiselelwe ukukhubaza ezi ntlobo).

Inguqulelo yomqhubi we-PL061 GPIO, ebhalwe kwakhona kwi-Rust, yongezwe kwiipatches. Isici somqhubi kukuba ukuphunyezwa komgca-by-line kufutshane uphinda umqhubi okhoyo we-C GPIO. Kubaphuhlisi abafuna ukuqhelana nabalawuli bezakhiwo kwi-Rust, uthelekiso lwe-line-by-line lulungiselelwe, olubonelela ngengqiqo apho kwakha kwi-Rust ikhowudi ye-C iye yaba.

I-rust's main codebase ithatha i-rustc_codegen_gcc, i-rustc backend ye-GCC eyenza ukuhlanganiswa kwe-AOT kusetyenziswa ilayibrari ye-libgccjit. Ngophuhliso olufanelekileyo lwe-backend, kuya kukuvumela ukuba uqokelele ikhowudi ye-Rust ebandakanyekayo kwi-kernel usebenzisa i-GCC.
Ukongeza kwi-ARM, iGoogle, kunye neMicrosoft, iRed Hat ibonakalise umdla wokusebenzisa iRust kwiLinux kernel.

Okokugqibela, ukuba unomdla wokwazi ngakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Inoxanduva lwedatha: I-AB Internet Networks 2008 SL
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.