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

Čini se da razvoj zakrpa za podršku Rust drajvera na Linuxu je pokupio dobar tempo Pa, prije nešto više od mjesec dana je objavljen uklonjeni prijedlog, pošto se od treće verzije svaki mjesec dostavljao novi prijedlog, a sada je objavljen novi prijedlog, ovo je šesto izdanje.

Miguel Ojeda je predložio novo izdanje komponenti razvoja upravljačkog programa Rust uređaja za programere Linux kernela koje treba uzeti u obzir. Ovo je šesto izdanje i dalje se smatra eksperimentalnim ali je već uključen u granu linux-next i dovoljno je zreo da počne raditi na kreiranju slojeva apstrakcije na vrhu podsistema kernela, kao i na pisanju drajvera i modula.

Za one koji još uvijek nisu svjesni ovog razvoja, trebali bi to znati finansiraju Google i ISRG (Internet Security Research Group), koja je osnivač projekta Let's Encrypt i promoviše HTTPS i razvoj tehnologija za povećanje internet sigurnosti.

Treba to upamtiti predložene promjene omogućavaju korištenje Rusta kao drugog jezika za razvoj drajvera i modula kernela. Podrška za Rust je predstavljena kao opcija koja nije omogućena prema zadanim postavkama i ne dovodi do toga da Rust bude uključen među potrebne ovisnosti izgradnje za kernel.

Korištenje Rusta za razvoj drajvera omogućit će vam da kreirate bolje i sigurnije drajvere uz minimalan napor, bez problema kao što je pristup memorijskom području nakon što ga oslobodite, dereferenciranje nultih pokazivača i prelivanje bafera.

Sigurnost memorije je osigurana u Rust eU vrijeme kompajliranja provjerom referenci, praćenjem vlasništva nad objektom i životnim vijekom objekta (opseg), kao i procjenom ispravnosti pristupa memoriji tokom izvršavanja koda. Rust takođe obezbeđuje zaštitu od prelivanja celog broja, zahteva da se varijable inicijalizuju pre upotrebe, bolje rukuje greškama u standardnoj biblioteci, primenjuje koncept nepromenljivih varijabli i referenci prema podrazumevanim postavkama, i nudi snažno statičko kucanje kako bi se minimizirale logičke greške. .

U novoj verziji zakrpa, nastavljeno je brisanje komentara datih tokom rasprave o prvoj, drugo, treća, četvrtina y peto izdanja zakrpa (od kojih vam ostavljam odgovarajuće linkove).

Glavne novine u šestom prijedlogu

Sa dolaskom ovog novog prijedloga komplet alata je ažuriran prije izlaska Rusta 1.59.0, zajedno s kojim varijanta alloc biblioteke takođe se sinhronizuje sa novom verzijom Rusta, eliminišući potencijal za "panično" stanje kada se pojave greške, kao što je nedostatak memorije.

Još jedna promjena koja je napravljena je da sada, umjesto pružanja datoteka sa specifikacijama platforme unaprijed kreirana destinacija generišu se dinamički na osnovu konfiguracije kernela.

Također se primjećuje da je parametar kernela HAVE_RUST dodat kako bi se omogućio za Rust kompatibilne arhitekture i da su apstrakcije predložene za korištenje u Rust kodu za hardverski generator pseudo-slučajnih brojeva.

S druge strane, to se spominje mogućnost korištenja asemblerskih umetaka je stabilizirana ("feature(global_asm)") i dodana podrška za kreiranje host programa u Rustu koji se koriste u procesu izgradnje kernela.

Od ostalih promjena koji se izdvajaju iz ovog novog prijedloga:

  • Korištenje kodova grešaka bez prefiksa "Error::" (na primjer, "return Err(EINVAL)") bilo je dozvoljeno da se približi rukovanje kodovima grešaka u C.
  • Dodan tip "CString" za izvorne C stringove. Kombinirani tipovi formatera i bafera.
  • Dodane Bool i LockInfo osobine.
  • Pojednostavljena implementacija spin-locka.

Konačno ako ste zainteresirani da saznate više o tome o ovom novom prijedlogu, možete pogledati detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.