Nooca siddeedaad ee xirmooyinka taageerada darawalka Rust ee Linux ayaa yimid

Miguel Ojeda, qoraaga mashruuca Rust-for-Linux sii daayay siddeedaad horumarinta patches kernel Linux oo leh taageerada luqadda Rust ee horumarinta kernel Linux si ay u tixgeliyaan.

Tani waxay u dhigantaa sidii siideynta sagaalaad ee balastarrada (iyada oo la tixgelinayo nuqulkii ugu horreeyay ee la sii daayay iyada oo aan lahayn lambarka nooca). Taageerada miridhku waxa loo arkaa tijaabo laakiin waxa ay horeba ugu jirtay laanta linux-xigta, sheegashooyinka is dhexgalka xilliga dayrta ee 5.20/6.0, oo waa horumar ku filan si ay u bilawdo abuurista lakabyo abstraction ee sare ee nidaamyada kernel-ka, iyo sidoo kale qorista kontaroolayaasha iyo cutubyada.

Horumarka waxaa maalgeliya Google iyo ISRG (Kooxda Cilmi-baarista Amniga Internetka), oo ah aasaasaha mashruuca Aynu Encryption oo kor u qaada HTTPS iyo horumarinta tignoolajiyada si loo kordhiyo amniga internetka.

Isbeddellada la soo jeediyay ayaa suurtogal ka dhigaya in Rust loo isticmaalo luqad labaad ahaan horumarinta darawallada iyo cutubyada kernel-ka. Taageerada miridhku waxa loo soo bandhigaa sidii ikhtiyaar aan awood u lahayn si caadi ah oo aan keenin in miridhku lagu daro ku tiirsanaanta dhismaha loo baahan yahay ee kernel-ka. Isticmaalka Rust si aad u horumariso darawallada waxay kuu oggolaan doontaa inaad abuurto darawallo ka wanaagsan oo badbaado leh oo leh dadaal yar, iyada oo aan lahayn dhibaatooyin sida gelitaanka aagga xusuusta ka dib marka la sii daayo, tilmaameyaal aan waxba lahayn oo ka leexan ah, iyo qulqulka xad dhaafka ah.

Badbaadada xusuusta waxaa lagu bixiyaa miridhku marka la ururiyo wakhtiga iyadoo la hubinayo tixraacyada, la socodka lahaanshaha shayga, iyo cimriga shayga (xadka), iyo sidoo kale iyada oo la qiimeeyo saxnaanta gelitaanka xusuusta inta lagu jiro fulinta koodka.

Maxaa ku cusub sii dayntan sideedaad?

Soo jeedintan cusub ee la soo saaray, ayaa lagu xusay kala duwanaanshaha maktabadda alloc, kaas oo meesha ka saaray jiilka suurtagalka ah ee xaaladda "argagaxa" ee khaladaadka, waxaa lagu cusboonaysiiyay nooca Rust 1.62. Marka la barbardhigo noocii hore, Toolkit-ka Rust waxa uu xasiliyay taageerada shaqada const_fn_trait_bound ee loo isticmaalo balastarrada kernel-ka.

Ka sokow koodhka xidhitaanka waxa loo kala qaybiyaa xidhmo ah sanduuqyada "ku xidhidhiyaha". si gooni gooni ah, taas oo sahlaysa in dib loo dhiso haddii kaliya la beddelo xirmada kernel-ka.

The hirgelinta "concat_idents!" makro, Dib loo qoray sidii macro habraaceed, oo aan ku xidhnayn shaqada concat_idents oo u oggolaanaysa isticmaalka tixraacyada doorsoomayaasha maxalliga ah.

Intaa waxaa dheer, waxaa lagu xusay in macro "Staatik_sheeg!" dib ayaa loo qoray si loogu ogolaado "core :: caddayn!()" waxaa loo isticmaalaa xaalad kasta halkii joogto ah, halka makro "dhismaha_error!" ayaa loo habeeyey inuu shaqeeyo marka la dejinayo "RUST_BUILD_ASSERT_{WARN,ALLOW}" qaabka modulesyada.

fs module ku daray kaas oo bixiya xiriirinta la shaqaynta nidaamyada faylalka. Tusaalaha nidaamka faylka fudud ee ku qoran Rust ayaa la soo jeediyay, iyo sidoo kale moduleka safka shaqada ee lagu daray inuu la shaqeeyo nidaamka safafka.

Isbeddelada kale taas oo ka baxsan soo jeedintan cusub:

  • Waxaa lagu daray faylka qaabeynta gaar ah "kernel/configs/rust.config".
  • Faylasha "*.i" ee lagu farsameeyay beddelka sare waxaa loo beddelay "*.rsi".
  • Taageerada meesha laga saaray ee lagu dhisayo qaybaha Daxalka oo leh heerar wanaajin oo aan ahayn kuwa loo isticmaalo koodhka C.
  • Horumarinta moduleka kasync ayaa sii waday hirgelinta hababka barnaamijka asynchronous (async).
  • Waxaa lagu daray tusaale ka mid ah server-ka TCP heerka kernel oo ku qoran Rust oo ku daray awoodda lagu xakameynayo carqaladaha gudaha Rust.
  • Waxaa lagu daray makro habraac si ay ugu fududaato la shaqaynta miisaska tilmaamayaasha shaqada, sida qaab dhismeedka faylka_operations.
  • Waxaa lagu daray hirgelinta liiska iskuxiran ee laba jiho "liis_unsafe::List".
  • Taageerada bilowga ah ee lagu daray RCU iyo nooca ilaaliyaha si loo hubiyo in qufulka akhrisku ku xidhan yahay dunta hadda jirta.
  • Hawsha shaqo ee lagu daray::spawn() si si toos ah loo dhaliyo oo loo bilaabo dunta kernel-ka.
  • Habka Hawsha :: wake-up() ayaa sidoo kale lagu daray.
  • Lagu daray cutubka daahitaanka

Finalmente hadaad xiisaynayso inaad waxbadan ka ogaato, waad hubin kartaa faahfaahinta Xiriirka soo socda.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Ka mas'uul ah xogta: AB Internet Networks 2008 SL
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.