Antroji „Rust“ tvarkyklių palaikymo „Linux“ pataisų versija jau išsiųsta

Šių metų kovą „Linux-next“ filiale kuris tuo metu dirbo „Linux“ branduolyje 5.13, Pradinis komponentų rinkinys buvo sukurtas įrenginių tvarkyklėms kurti kalba „Rust“ ir dabar pateiktas prašymas įtraukti antrąjį leidimą pataisų, kad pridėtų „Rust“ palaikymą „Linux“ branduolyje.

Asmuo, kuris išsiuntė užklausą „Linux“ kūrėjams, yra Miguel Ojeda, projekto „Rust-for-Linux“ autorius ir apie kurį mes taip pat kalbėjome prieš kelias dienas, nes jis buvo pasamdytas vadovauti projektui „Prossimo“, kuris iš esmės daugiausia dėmesio skiriama pastangų koordinuoti svarbios programinės įrangos infrastruktūros perkėlimą į saugų kodą, kad „Linux“ branduolio atmintis būtų apsaugota naudojant „Rust“ (jei norite sužinoti daugiau apie projektą, galite kreiptis paskelbti žemiau esančioje nuorodoje.)

Rust tvarkyklės Linux
Susijęs straipsnis:
„Prossimo“, ISRG projektas, skirtas apsaugoti „Linux“ branduolio atmintį naudojant „Rust“

Miguelio Ojedos atsiųstas prašymas yra antroji atnaujinta versija komponentų, skirtų įrenginių tvarkyklių kūrimui „Rust“ kalba, ir kuriuose ištrinami pirmosios pataisų versijos aptarimo metu pateikti komentarai ir prie kurių Linus Torvalds jau prisijungė prie diskusijos ir pasiūlė pakeisti logiką, kad būtų apdorotos kai kurios bitų operacijos.

Viduje nauda kurie yra paminėti yra tai „Rust“ garantuoja saugų atminties valdymą kompiliavimo metu, tikrindami nuorodas, stebėdami objekto nuosavybės teises ir objekto tarnavimo laiką, taip pat įvertindami prieigos prie atminties teisingumą vykdymo metu.

Rūdys taip pat teikia sveikojo skaičiaus apsauga nuo perpildymoreikalauja prieš pradedant naudoti privalomą kintamųjų reikšmių inicijavimą, geriau tvarko standartinės bibliotekos klaidas, pagal numatytuosius nustatymus naudoja nuorodų ir nekintamų kintamųjų sąvoką ir siūlo stiprų statinį rašymą, kad sumažintų logines klaidas.

Iš pokyčių, kurie išsiskiria šios naujos pataisų versijos yra paminėta:

  • Atminties paskirstymo kodas užkerta kelią galimybei sukelti paniką, kai įvyksta tokios klaidos kaip atminties trūkumas.
  • Yra įtraukta „Rust“ paskirstymo bibliotekos variantas, kuriame kodas buvo perdirbtas tvarkyti spynas, bet galutinis tikslas yra atnešti visas reikalingas branduolio funkcijas į pagrindinį leidimo leidimą (pakeitimai jau paruošti ir perkelti į standartinę „Rust“ biblioteką).
  • Vietoj naktinių versijų dabar galima naudoti beta ir stabilias versijas „rustc“ kompiliatorius, kad sukompiliuotų „Rust“ palaikantį branduolį. Šiuo metu rustc 1.54-beta1 naudojamas kaip informacinis kompiliatorius, tačiau po 1.54 leidimo mėnesio pabaigoje jis bus palaikomas kaip referencinis kompiliatorius.
  • Pridėta parama rašant testus naudojant standartinį „Rust“ atributą „# [test]“ ir galimybė naudoti doctestus norint naudoti bandymo dokumento kodo pavyzdį.
  • Be anksčiau palaikytų x32_86 ir ARM64, buvo pridėta ARM64 ir RISCV architektūrų parama.
    Patobulinti GCC diegimai „Rust“ (GCC „Rust“ sąsaja) ir „rustc_codegen_gcc“ („GCC“ rustc „backend“), kurie dabar perduoda visus etalonus.
  • A naujas abstrakcijos lygis „Rust“ programoms naudoti branduolio mechanizmus, parašytus C, pvz., medžius, nuorodų skaičiavimo objektus, failų aprašų, užduočių, failų ir įvesties / išvesties vektorių kūrimą.
  • Tvarkyklių kūrimo komponentai patobulino „file_operations“ modulio, „module!“ Makrokomandų, makrokomandų žurnalų įrašymo ir elementarių tvarkyklių palaikymą (zondavimo ir šalinimo).
  • „Binder“ palaiko failų aprašų ir LSM nuorodų perdavimą.
  • Siūlomas funkcionalesnis „Rust“ tvarkyklės pavyzdys „bcm2835-rng“, skirtas aparatinės įrangos atsitiktinių skaičių generatoriui „Raspberry Pi“ plokštėms.

Galiausiai, jei norite sužinoti apie tai daugiau, galite sužinoti išsamią informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.