Dika vaovao 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 ny famoahana ireo singa v5 ho an'ny fampivoarana ny mpamily fitaovana amin'ny fiteny Rust mba hodinihin'ireo mpamorona kernel Linux. Ity no andiany fahenina amin'ny patch, raha raisina ny dikan-teny voalohany, navoaka tsy misy laharana dikan-teny. Ny fanohanan'ny harafesina dia heverina ho andrana, saingy efa tafiditra ao amin'ny sampana linux-manaraka ary efa novolavolaina ampy hanombohana asa amin'ny famoronana sosona abstraction amin'ny subsystems kernel, ary koa ny fanoratana mpamily sy maody. 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, fahatelo, fahefatra ary fahadimy amin'ny patch. Ao amin'ny dikan-teny vaovao:

  • Nohavaozina ny kitapom-pitaovana hamoahana ny Rust 1.59.0. Misy variana amin'ny tranomboky alloc koa ampiarahina amin'ny dikan-teny vaovao amin'ny Rust, manafoana ny mety hisian'ny toe-javatra β€œsahiran-tsaina” rehefa misy lesoka, toy ny tsy fitadidiana. Ny fahafahana mampiasa assembler insert ("feature(global_asm)") dia niorina.
  • Fanampiana fanampiny amin'ny famoronana programa mpampiantrano ao amin'ny Rust izay ampiasaina mandritra ny fanangonana kernel.
  • Raha tokony hanatitra ireo rakitra voafaritra amin'ny sehatra kendrena efa novolavolaina, dia noforonina mavitrika mifototra amin'ny fanamafisana kernel.
  • Nampiana ny mari-pamantarana kernel HAVE_RUST mba ahafahan'ny maritrano manohana ny Rust.
  • Ny abstraction dia atolotra hampiasaina amin'ny kaody Rust ho an'ny mpanamboatra nomerao pseudo-random hardware.
  • Namela ny fampiasana kaody diso tsy misy tovana "Error::" (ohatra, "return Err(EINVAL)") mba hanombanana ny fitantanana ny code error ao amin'ny C.
  • Nampiana karazana "CString" ho an'ny tady C mahazatra. Ny karazana Formatter sy Buffer dia natambatra.
  • Nampiana karazana Bool sy LockInfo.
  • Nohamafisina ny fampiharana ny hidin-trano.

Source: opennet.ru

Add a comment