Buvo paskelbta ketvirtoji „Rust“ tvarkyklių palaikymo „Linux“ pataisų versija

Migelis Ojeda, projekto „Rust-for-Linux“ autorius, Teme neseniai pristatė ketvirtąjį pasiūlymą įrenginio tvarkyklės komponentai „Linux“ branduolio kūrėjai turėtų apsvarstyti rūdis.

Rūdžių palaikymas laikomas eksperimentiniu, bet jau susitarta, kad jis bus įtrauktas į linux-next šaką ir yra pakankamai subrendęs, kad būtų galima pradėti dirbti su abstrakcijos sluoksniais ant branduolio posistemių, taip pat rašyti tvarkykles ir modulius. Kūrimą finansuoja Google ir ISRG (Internet Security Research Group), kuri yra projekto Let's Encrypt įkūrėja ir skatina HTTPS bei interneto saugumui didinti skirtų technologijų kūrimą.

Tie, kurie vis dar nežino apie siūlomus pakeitimus, turėtų žinoti, kad jie tai įmanoma Rust kaip antrosios kalbos naudojimas valdikliams ir moduliams kurti branduolio. Rūdžių palaikymas pateikiamas kaip parinktis, kuri neįjungta pagal numatytuosius nustatymus, todėl rūdys neįtraukiamos tarp būtinų branduolio kūrimo priklausomybių.

Rust naudojimas kuriant tvarkykles leis minimaliomis pastangomis sukurti geresnius ir saugesnius tvarkykles, be problemų, tokių kaip prieiga prie atminties srities ją atlaisvinus, nulinių rodyklių panaikinimas 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.

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

Kokie pokyčiai ketvirtoje dalyje?

Šioje pristatomoje naujoje pataisų versijoje paminėta, kad ir toliau buvo panaikinti komentarai, išsakyti aptariant pirmąjį, antrąjį ir trečiąjį pataisų leidimus.

Atnaujinsime tol, kol nepriklausysime nuo jokių nestabilių funkcijų;
tada galime pradėti skelbti minimalią Rust versiją
palaikoma, kaip tai daroma, pavyzdžiui, GCC ir Clang.

Panašiai mes taip pat perėjome prie 2021 m. rūdžių kalbos leidimo.

Kalbant apie kitus pakeitimus, kurie buvo atlikti šioje naujoje versijoje, pranešime minima:

  • Pereita prie stabilios Rust 1.58.0 versijos kaip atskaitos kompiliatoriaus naudojimo.
  • Projektui reikalingi pakeitimai, kurie dar neįtraukti į pagrindinį Rust įrankių rinkinį, apima vėliavėlę „-Zsymbol-mangling-version=v0“ (tikimasi „Rust 1.59.0“) ir režimą „maybe_uninit_extra“ (tikimasi „Rust 1.60.0“ versijoje) .
  • Pridėtos automatinės Rust įrankių prieinamumo ir tinkamumo patikros, taip pat išplėsta galimybė išbandyti Rust palaikymą sistemoje.
  • Siūlomos naujos abstrakcijos, kad būtų galima pasiekti įrenginio identifikatorių lenteles („IdArray“ ir „IdTable“) iš „Rust“ kodo.
  • Pridėta sluoksnių, skirtų iškviesti funkcijas, susijusias su laikmačiu (laikrodžio rėmeliu).
  • Platformos valdikliai dabar apibrėžiami naudojant bruožus.
  • Siekiant supaprastinti platformos tvarkyklių registraciją, buvo pridėta nauja makrokomanda ir pasiūlytas naujas bendras tvarkyklės šablonas.
  • Pridėtos naujos makrokomandos „dev_*“ struktūroms.
  • Pridėta naujų metodų „{read,write}*_relaxed“ „IoMem“ tipui .
  • Pašalinta „FileOpener“ ypatybė, siekiant supaprastinti failo operacijas.
  • Prie valdiklio registracijos metu perduodamų argumentų skaičiaus pridėtas parametras „ThisModule“.
  • Siūlomas tipiškas šablonas branduolio moduliams kurti Rust kalba.

Galiausiai, jei norite sužinoti daugiau apie šią naują versiją, galite sužinoti daugiau Š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ą.