Objavljena je četrta različica popravkov za podporo gonilnikom Rust v Linuxu

Miguel Ojeda, avtor projekta Rust-for-Linux, Teme je pred kratkim predstavil četrti predlog za komponente gonilnika naprave Rust za razvijalce jedra Linuxa, ki jih je treba upoštevati.

Podpora proti rji velja za eksperimentalno, vendar je bil že dogovorjen, da bo vključen v vejo linux-next in je dovolj zrel, da začne delati na abstrakcijskih slojih na vrhu podsistemov jedra, pa tudi pisati gonilnike in module. Razvoj financirata Google in ISRG (Internet Security Research Group), ki je ustanovitelj projekta Let's Encrypt in promovira HTTPS ter razvoj tehnologij za povečanje internetne varnosti.

Tisti, ki se s predlaganimi spremembami še ne zavedajo, naj vedo, da to omogočajo uporaba Rusta kot drugega jezika za razvoj krmilnikov in modulov jedra. Podpora za Rust je predstavljena kot možnost, ki privzeto ni omogočena in ne povzroči, da bi bil Rust vključen med zahtevane odvisnosti gradnje za jedro.

Uporaba Rusta za razvoj gonilnikov vam bo omogočilo ustvarjanje boljših in varnejših gonilnikov z minimalnim naporom, brez težav, kot je dostop do pomnilniškega območja, potem ko ga sprostite, dereferenciranje ničelnih kazalcev in prelivanja medpomnilnika.

Varnost pomnilnika je v Rustu zagotovljena v času prevajanja s preverjanjem referenc, sledenjem lastništvu objektov in življenjske dobe objekta (obseg), kot tudi z ocenjevanjem pravilnosti dostopa do pomnilnika med izvajanjem kode.

Rust zagotavlja tudi zaščito pred prelivanjem celih števil, zahteva, da se spremenljivke inicializirajo pred uporabo, bolje obravnava napake v standardni knjižnici, privzeto uveljavlja koncept nespremenljivih spremenljivk in referenc ter ponuja močno statično tipkanje za zmanjšanje logičnih napak. .

Kakšne so spremembe v četrtem delu?

V tej novi različici predstavljenih popravkov je omenjeno, da so bili komentarji, podani med razpravo o prvi, drugi in tretji izdaji popravkov, še naprej odpravljani.

Posodabljali bomo, dokler ne bomo odvisni od nestabilnih funkcij;
takrat bomo morda želeli začeti razglašati minimalno različico Rusta
je podprto, kot je na primer za GCC in Clang.

Podobno smo prešli tudi na izdajo jezika Rust za leto 2021.

Kar zadeva druge spremembe, ki so bile narejene v tej novi različici, je v obvestilu navedeno naslednje:

  • Prehod na uporabo stabilnega Rusta 1.58.0 kot referenčnega prevajalnika.
  • Spremembe, potrebne za projekt, ki še niso vključene v glavni komplet orodij za Rust, vključujejo zastavico "-Zsymbol-mangling-version=v0" (pričakovano v Rust 1.59.0) in način "maybe_uninit_extra" (pričakovano v Rust 1.60.0) .
  • Dodana so samodejna preverjanja razpoložljivosti orodij Rust in njihove primernosti, razširjena pa je tudi možnost testiranja podpore za Rust v sistemu.
  • Predlagane so nove abstrakcije, da bi lahko dostopali do tabel identifikatorjev naprave ("IdArray" in "IdTable") iz kode Rust.
  • Dodane plasti za klicanje funkcij, ki so povezane s časovnikom (okvir ure).
  • Krmilniki platform so zdaj definirani z implementacijami lastnosti.
  • Dodan je bil nov makro za poenostavitev registracije gonilnikov platforme in predlagana je bila nova generična predloga gonilnika.
  • Dodani novi makri za strukture "dev_*".
  • Dodane nove metode "{read,write}*_relaxed" za tip IoMem .
  • Odstranjena lastnost FileOpener za poenostavitev operacij z datotekami.
  • Dodan parameter "ThisModule" številu argumentov, posredovanih med registracijo krmilnika.
  • Predlagana je tipična predloga za ustvarjanje modulov jedra v jeziku Rust.

Končno, če vas zanima več o tej novi različici, si lahko ogledate podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.