Objavljena je četvrta verzija zakrpa za podršku Rust drajvera na Linuxu

Miguel Ojeda, autor projekta Rust-for-Linux, Teme je nedavno predstavio četvrti prijedlog za komponente upravljačkog programa uređaja Rust za programere Linux kernela koje treba uzeti u obzir.

Podrška hrđe smatra se eksperimentalnom, ali već je dogovoreno da bude uključen u linux-next granu i dovoljno je zreo da počne raditi na slojevima apstrakcije na vrhu podsustava kernela, kao i pisati upravljačke programe i module. Razvoj financiraju Google i ISRG (Internet Security Research Group), koji je osnivač projekta Let's Encrypt i promiče HTTPS i razvoj tehnologija za povećanje internetske sigurnosti.

Oni koji još nisu upoznati s predloženim promjenama, trebaju znati da one to omogućuju korištenje Rusta kao drugog jezika za razvoj kontrolera i modula jezgre. Podrška za Rust predstavljena je kao opcija koja nije omogućena prema zadanim postavkama i ne rezultira uključivanjem Rusta među potrebne ovisnosti izgradnje za kernel.

Korištenje Rusta za razvoj upravljačkih programa omogućit će vam stvaranje boljih i sigurnijih upravljačkih programa uz minimalan napor, bez problema kao što je pristup memorijskom području nakon što ga oslobodite, dereferenciranje nul pokazivača i prelijevanja međuspremnika.

Sigurnost memorije je osigurana u Rustu u vrijeme prevođenja provjerom referenci, praćenjem vlasništva nad objektom i životnim vijekom objekta (opseg), kao i procjenom ispravnosti pristupa memoriji tijekom izvršavanja koda.

Rust također pruža zaštitu od prekoračenja cijelog broja, zahtijeva da se varijable inicijaliziraju prije upotrebe, bolje obrađuje pogreške u standardnoj biblioteci, provodi koncept nepromjenjivih varijabli i referenci prema zadanim postavkama i nudi snažno statičko tipkanje kako bi se minimizirale logičke pogreške. .

Koje su promjene u četvrtom dijelu?

U ovoj novoj verziji zakrpa koje su predstavljene spominje se da su komentari dani tijekom rasprave o prvom, drugom i trećem izdanju zakrpa i dalje eliminirani.

Nastavit ćemo ažurirati sve dok ne ovisimo o nestabilnim značajkama;
u kojem trenutku ćemo možda htjeti početi deklarirati minimalnu verziju Rusta
je podržan, kao što je učinjeno, na primjer, za GCC i Clang.

Slično, također smo prešli na izdanje Rust jezika iz 2021.

Što se tiče ostalih promjena koje su napravljene u ovoj novoj verziji, u najavi se spominje sljedeće:

  • Prešao na korištenje stabilnog Rusta 1.58.0 kao referentnog prevoditelja.
  • Promjene potrebne za projekt, koje još nisu uključene u glavni Rust alat, uključuju oznaku "-Zsymbol-mangling-version=v0" (očekuje se u Rust 1.59.0) i "maybe_uninit_extra" način (očekuje se u Rust 1.60.0) .
  • Dodane su automatske provjere dostupnosti Rust alata i njihove prikladnosti, a proširena je i mogućnost testiranja Rust podrške na sustavu.
  • Predlažu se nove apstrakcije kako bi mogli pristupiti tablicama identifikatora uređaja ("IdArray" i "IdTable") iz Rust koda.
  • Dodani slojevi za pozivanje funkcija koje su povezane s timerom (okvir sata).
  • Kontroleri platforme sada su definirani kroz implementacije svojstava.
  • Dodan je novi makro kako bi se pojednostavila registracija upravljačkog programa platforme i predložen je novi generički predložak upravljačkog programa.
  • Dodane nove makronaredbe za strukture "dev_*".
  • Dodane nove metode "{read,write}*_relaxed" za IoMem tip .
  • Uklonjeno svojstvo FileOpener kako bi se pojednostavile operacije s datotekama.
  • Dodan parametar "ThisModule" broju argumenata proslijeđenih tijekom registracije kontrolera.
  • Predložen je tipičan predložak za izradu modula kernela u jeziku Rust.

Konačno, ako ste zainteresirani da možete saznati više o ovoj novoj verziji, možete pogledati detalje U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.