„Western Digital“ jau dirba su „Rust“ parašyta NVMe tvarkykle

Rustlinux

„Rust“ integracija „Linux“ sulaukė didelio bendruomenės ir kūrėjų pritarimo

„Linux Plumbers 2022“ konferencijos metu tai vyko šiomis dienomis, „Western Digital“ inžinierius skaitė pranešimą apie valdiklio kūrimą eksperimentinis SSD NVM-Express (NVMe), parašyta Rust ir veikia Linux branduolio lygiu.

Nors projektas dar tik pradiniame kūrimo etape, atlikti bandymai parodė, kad Rust NVMe tvarkyklės našumas atitinka branduolyje C parašytą NVMe tvarkyklę.

Aš esu Matthew Wilcox, aš esu vienas iš NVMe specifikacijų autorių, aš buvau tas, kuris pasiūlė man sukurti NVMe tvarkyklę, kad parodyčiau Rust vertę. Tai pasiteisino, nei tikėjausi. 

Dėl pateiktos ataskaitos Teigiama, kad dabartinė NVMe C tvarkyklė yra visiškai patenkinama kūrėjams, tačiau NVMe posistemė yra gera platforma tyrinėti, ar galima kurti tvarkykles „Rust“, nes ji gana paprasta, plačiai naudojama, turi aukštus našumo reikalavimus, turi patikrintą nuorodų diegimą palyginimui ir palaiko įvairias sąsajas ( dev, pci, dma, blk-mq, gendisk, sysfs).

Pastebima, kad Rust PCI NVMe tvarkyklė jau suteikia darbui reikalingas funkcijas, tačiau jis dar nėra paruoštas plačiai naudoti, nes reikia atskirų patobulinimų.

Ateities planuose – atsikratyti esamų nesaugių blokų, pagalba pašalinti įrenginį ir atsisiųsti tvarkyklę, palaiko sysf sąsają, įgyvendinti tingų inicijavimą, sukurti blk-mq valdiklį ir eksperimentuoti su asinchroniniu programavimo modeliu eilės_rq.

Be to, galime nurodyti atliktus eksperimentus NCC grupė sukūrė valdiklius Rust kalba FreeBSD branduolys. Pavyzdžiui, paprastas echo valdiklis, kuris grąžina duomenis, įrašytus į /dev/rustmodule. Kitame eksperimento etape NCC grupė svarsto galimybę pertvarkyti pagrindinius Rust komponentus, kad pagerintų tinklo ir failų operacijų saugumą.

Nepaisant to, nors buvo įrodyta, kad Rust galima sukurti paprastus modulius, glaudesnis Rust integravimas į FreeBSD branduolį pareikalaus papildomo darbo.

Pavyzdžiui, jis mini poreikį sukurti abstrakcijos sluoksnių rinkinį per branduolio posistemes ir struktūras, panašius į „Rust“ projekto, skirto Linux, paruoštus įskiepius. Ateityje planuojame atlikti panašius eksperimentus su Illumos branduoliu ir pabrėžti įprastas Rust abstrakcijas, kurios galėtų būti naudojamos Rust sukurtose tvarkyklėse, skirtose Linux, BSD ir Illumos.

„Microsoft“ ir „Google“ teigimu, apie 70 % jų programinės įrangos produktų pažeidžiamumų atsiranda dėl nesaugaus atminties valdymo.

„Rust“ kalbos naudojimas turėtų sumažinti pažeidžiamumų riziką sukelia nesaugus atminties tvarkymas ir pašalins klaidas, tokias kaip prieiga prie atminties srities ją atlaisvinus ir buferio perpildymas.

Atminties saugumas Rust užtikrinamas kompiliavimo metu, tikrinant nuorodas, stebint objekto nuosavybę ir objekto gyvavimo trukmę (apimtį), taip pat įvertinant prieigos prie atminties teisingumą kodo vykdymo metu.

Rūdys taip pat užtikrina sveikųjų skaičių perpildymo apsaugą, reikalauja, kad kintamieji būtų inicijuojami prieš naudojant, geriau tvarko standartinės bibliotekos klaidas, pagal numatytuosius nustatymus įgyvendina nekintamų kintamųjų ir nuorodų koncepciją ir siūlo tvirtą statinį spausdinimą, kad būtų sumažintos loginės klaidos.

Verta paminėti, kad gali būti, kad ateityje darbas vyks koja kojon su Miguelio Ojedos pristatytu darbu, susijusiu su savo „Rust for Linux“ tvarkyklėmis, kurios buvo pateiktos kaip pataisų serija.

Pagaliau jei norite sužinoti daugiau apie tai, išsamią informaciją galite sužinoti šią nuorodą.


Palikite komentarą

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

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  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ą.