Andiany fahefatra amin'ny patch ho an'ny kernel Linux miaraka amin'ny fanohanana ny fiteny Rust

Miguel Ojeda, mpanoratra ny tetikasa Rust-for-Linux, dia nanolotra dikan-teny fahefatra ho an'ny fampivoarana ny mpamily fitaovana amin'ny fiteny Rust mba hodinihin'ireo mpamorona kernel Linux. Ny fanohanan'ny harafesina dia heverina ho andrana, saingy efa nifanarahana ny hampidirana azy ao amin'ny sampana manaraka linux ary efa matotra vao manomboka miasa amin'ny famoronana sosona abstraction amin'ny subsystems kernel, ary koa ny fanoratana mpamily sy modules. Ny fampandrosoana dia vatsian'ny Google sy ny ISRG (Internet Security Research Group), izay mpanorina ny tetikasa Let's Encrypt ary mampiroborobo ny HTTPS sy ny fampivoarana ny teknolojia hanatsarana ny fiarovana amin'ny Internet.

Tsarovy fa ireo fanovana naroso dia ahafahana mampiasa ny Rust ho fiteny faharoa amin'ny famolavolana mpamily sy maody kernel. Ny fanohanan'ny Rust dia aseho ho toy ny safidy tsy avela amin'ny alΓ lan'ny default ary tsy miteraka ny Rust ho tafiditra ho fiankinan-doha ilaina amin'ny kernel. Ny fampiasana Rust ho an'ny fampandrosoana ny mpamily dia ahafahanao mamorona mpamily azo antoka kokoa sy tsara kokoa miaraka amin'ny ezaka kely indrindra, tsy misy olana toy ny fidirana amin'ny fahatsiarovana aorian'ny fanafahana, ny tsy fahampian'ny pointer tsy misy dikany ary ny fihoaran'ny buffer.

Ny harafesina dia manery ny fiarovana ny fitadidiana amin'ny fotoana fanangonana amin'ny alΓ lan'ny fanamarinana reference, ny fananana zavatra ary ny fanaraha-maso mandritra ny androm-piainana (scopes), ary amin'ny fanombanana ny fahamarinan'ny fidirana amin'ny fitadidiana amin'ny fotoana fandehanana. Ny Rust koa dia manome fiarovana amin'ny fihoaran'ny integer, mitaky ny fanombohana ny soatoavina miovaova alohan'ny hampiasana azy, manana fikarakarana fahadisoana tsara kokoa ao amin'ny tranomboky mahazatra, mampiasa ny foto-kevitry ny fanondroana sy ny fari-pitsipika tsy azo ovaina amin'ny alΓ lan'ny default, ary manolotra sora-baventy matanjaka mba hampihenana ny lesoka lojika.

Ny dikan-teny vaovao amin'ny patch dia manohy manafoana ny fanehoan-kevitra natao nandritra ny fifanakalozan-kevitra momba ny andiany voalohany, faharoa ary fahatelo amin'ny patch. Ao amin'ny dikan-teny vaovao:

  • Ny fifindrana amin'ny fampiasana ny famotsorana stable ny Rust 1.58.0 ho toy ny compiler reference dia natao. Anisan'ireo fanovana ilaina amin'ny tetikasa, izay tsy mbola tafiditra ao amin'ny kitapo fitaovan'ny Rust lehibe, ny saina "-Zsymbol-mangling-version=v0" (antenaina ao amin'ny Rust 1.59.0) ary ny fomba "mety_uninit_extra" (antenaina ao amin'ny Rust 1.60.0). .XNUMX) voamarika .
  • Nanampy fisavana mandeha ho azy ny fisian'ny fitaovana Rust mety ary nanitatra ny fahafahana hanandrana ny fanohanana Rust ao amin'ny rafitra.
  • Nisy abstractions vaovao natolotra ho an'ny fidirana amin'ny tabilao famantarana fitaovana ("IdArray" sy "IdTable") avy amin'ny Rust code.
  • Misy sosona fanampiny hidirana amin'ny asa mifandraika amin'ny fameram-potoana (rafitra famantaranandro).
  • Ny mpamily amin'ny sehatra izao dia voafaritra amin'ny alΓ lan'ny fampiharana toetra.
  • Nisy macro vaovao nampiana mba hanatsorana ny fisoratana anarana mpamily amin'ny sehatra, ary natolotra ny maodely mpamily generic vaovao.
  • Nampiana macros ho an'ny rafitra "dev_*".
  • Nampiana fomba "{mamaky, manoratra}*_relaxed" ho an'ny karazana IoMem .
  • Nesorina ny fananana FileOpener mba hanatsorana ny fiasan'ny rakitra.
  • Ny mari-pamantarana "ThisModule" dia nampiana tamin'ny tohan-kevitra nandalo rehefa nisoratra anarana mpamily.
  • Modely mahazatra amin'ny famoronana maody kernel amin'ny fiteny Rust no atolotra.

Source: opennet.ru

Add a comment