Uhlelo lwesine lweepetshi zeLinux kernel ngenkxaso yolwimi lweRust

UMiguel Ojeda, umbhali weprojekthi yeRust-for-Linux, ucebise inguqulelo yesine yamacandelo okuphuhlisa abaqhubi besixhobo ngolwimi lweRust ukuze baqwalaselwe ngabaphuhlisi be-Linux kernel. Inkxaso yomhlwa ithathwa njengovavanyo, kodwa sele kuvunyelwene ngayo ukuba ifakwe kwi-linux-isebe elilandelayo kwaye ikhule ngokwaneleyo ukuqalisa umsebenzi ekudaleni i-abstraction layers phezu kwe-kernel subsystems, kunye nokubhala abaqhubi kunye neemodyuli. Uphuhliso luxhaswa ngemali nguGoogle kunye ne-ISRG (iQela loPhando loKhuseleko lwe-Intanethi), ongumseki weprojekthi ye-Let Encrypt kwaye ikhuthaza i-HTTPS kunye nophuhliso lobuchwepheshe ukuphucula ukhuseleko lwe-Intanethi.

Khumbula ukuba utshintsho olucetywayo lwenza kube lula ukusebenzisa iRust njengolwimi lwesibini ekuphuhliseni abaqhubi kunye neemodyuli zekernel. Inkxaso yomhlwa inikezelwa njengokhetho olungenziwanga ngokungagqibekanga kwaye alubangeli ukuba iRust ibandakanywe njengokuxhomekeka kolwakhiwo olufunekayo kwikernel. Ukusebenzisa iRust kuphuhliso lomqhubi kuya kukuvumela ukuba wenze abaqhubi abakhuselekileyo nabangcono ngomzamo omncinci, simahla kwiingxaki ezinjengofikelelo lwememori emva kokukhulula, ukuchaswa kwesalathiso esingenanto, kunye nokugqithiswa kwe-buffer.

Ukuphathwa okukhuselekileyo kwimemori kubonelelwa kwiRust ngexesha lokuqokelela ngokujonga ireferensi, ukugcina umkhondo wobunini bento kunye nobomi bento (ububanzi), kunye nokuvavanya ukuchaneka kofikelelo lwememori ngexesha lokwenziwa kwekhowudi. Umhlwa ukwabonelela ngokhuseleko ngokuchasene nokuphuphuma kwenani elipheleleyo, kufuna ukuqaliswa okunyanzelekileyo kwamaxabiso aguquguqukayo ngaphambi kokusetyenziswa, iphatha iimpazamo ngcono kwithala leencwadi elisemgangathweni, isebenzisa ingqikelelo yeembekiselo ezingenakuguquguquka kunye nezinto eziguquguqukayo ngokungagqibekanga, ibonelela ngochwethezo olomeleleyo ukuze kuncitshiswe iimpazamo ezinengqiqo.

Inguqulelo entsha yeepatches iyaqhubeka nokuphelisa izimvo ezenziwe ngexesha lengxoxo yokuqala, yesibini kunye neyesithathu yokuhlelwa kweepatches. Kwinguqulelo entsha:

  • Ukutshintshwa ekusebenziseni ukukhululwa okuzinzile kweRust 1.58.0 njengoko i-reference compiler yenziwe. Phakathi kweenguqu eziyimfuneko kwiprojekthi, engekabandakanywa kwi-toolkit ye-Rust engundoqo, iflegi "-Zsymbol-mangling-version = v0" (ekulindeleke kwi-Rust 1.59.0) kunye nemodi "mhlawumbi_uninit_extra" (elindeleke kwi-Rust 1.60.0) .XNUMX) ziyaphawulwa. .
  • Kongezwe iitshekhi ezizenzekelayo zokufumaneka kwezixhobo ezifanelekileyo zeRust kunye nokwandisa amandla okuvavanya inkxaso yeRust kwinkqubo.
  • Ukutsalwa okutsha kuye kwacetywa ukufikelela kwiitafile zokuchonga isixhobo (“IdArray” kunye “ne-IdTable”) ukusuka kwikhowudi yeRust.
  • Iileya ezongeziweyo zokufikelela kwimisebenzi enxulumene nesibali-xesha (isakhelo sewotshi).
  • Abaqhubi beqonga ngoku bachazwa ngokusetyenziswa kweempawu.
  • Imakhro entsha yongezwa ukwenza lula ukubhaliswa kwabaqhubi beqonga, kwaye itemplate entsha yomqhubi wegeneric iye yandululwa.
  • Iimacros ezifakiweyo ze "dev_*" izakhiwo.
  • Kongezwe "{funda,bhala}*_relaxed" iindlela zohlobo lwe-IoMem .
  • Isuse ipropathi yeFayileOpener ukwenza lula ukusebenza kweefayile.
  • I parameter "Le Module" yongezwe kwiingxoxo ezigqithisiweyo xa kubhaliswa umqhubi.
  • Ithempleyithi esemgangathweni yokwenza iimodyuli zekernel kulwimi lweRust iyacetywa.

umthombo: opennet.ru

Yongeza izimvo