Versioni i dytë i arnimeve për mbështetjen e shoferit Rust në Linux është dërguar tashmë

Në mars të këtij viti në degën linux-next në të cilën në atë kohë po punonte për kernelin Linux 5.13, Një grup fillestar i përbërësve u përfshi për të zhvilluar drejtuesit e pajisjeve në Gjuha Rust dhe tani kërkesa është bërë për të përfshirë një botim të dytë të arnimeve për të shtuar mbështetjen e Rust në kernelin Linux.

Personi që i ka dërguar kërkesën zhvilluesve të Linux është Miguel Ojeda, autor i projektit Rust-for-Linux dhe për të cilin kemi biseduar edhe disa ditë më parë, pasi që ai ishte punësuar për të marrë përgjegjësinë e projektit "Prossimo" i cili në thelb përqendrohet në bashkërendimin e përpjekjeve për të zhvendosur infrastrukturën kritike të softuerit në një kod të sigurt për të siguruar memorjen e bërthamës Linux me Rust (nëse doni të dini më shumë rreth projektit, mund të këshilloheni duke postuar në linkun më poshtë.)

Drejtuesit e ndryshkut në Linux
Artikulli i lidhur:
Prossimo, një projekt ISRG për të siguruar memorien e kernelit Linux me Rust

Kërkesa e dërguar nga Miguel Ojeda është një version i dytë i azhurnuar të komponentëve për zhvillimin e drejtuesve të pajisjeve në gjuhën Rust dhe në të cilat komentet e bëra gjatë diskutimit të versionit të parë të arnimeve janë fshirë dhe të cilave Linus Torvalds tashmë iu bashkua diskutimit dhe sugjeroi ndryshimin e logjikës për të përpunuar disa operacione bit.

Brenda përfitimeve që përmenden janë se menaxhimi i sigurt i kujtesës është i garantuar në Rust në kohën e përpilimit duke kontrolluar referencat, duke ndjekur pronësinë e objektit dhe jetëgjatësinë e objektit, si dhe duke vlerësuar korrektësinë e qasjes së kujtesës në kohën e ekzekutimit.

Rust gjithashtu siguron mbrojtje nga mbingarkesa e plotë, kërkon fillimin e detyrueshëm të vlerave të ndryshueshme para përdorimit, trajton më mirë gabimet në bibliotekën standarde, miraton konceptin e referencave dhe variablave të pandryshueshëm si parazgjedhje, dhe ofron një shkrim të fortë statik për të minimizuar gabimet logjike.

Nga ndryshimet që bien në sy i këtij versioni të ri të arnimeve përmendet:

  • Kodi i ndarjes së kujtesës parandalon mundësinë e gjenerimit të një paniku kur ndodhin gabime të tilla si jashtë kujtesës.
  • Përfshihet një variant i bibliotekës së alokuar Rust, në të cilën kodi është ripunuar për të trajtuar bravat, por qëllimi përfundimtar është që të sjellë të gjitha tiparet e nevojshme për kernelin në edicionin kryesor të alokimit (ndryshimet janë përgatitur tashmë dhe të bartura në bibliotekën standarde Rust).
  • Në vend të ndërtimeve të natës, tani mund të përdoren versione beta dhe të qëndrueshme përpiluesi rustc për të përpiluar një bërthamë të mundësuar nga Rust. Aktualisht rustc 1.54-beta1 përdoret si përpilues i referencës, por pas lëshimit të 1.54 në fund të muajit do të mbështetet si përpilues i referencës.
  • Mbështetje e shtuar për shkrimin e testeve duke përdorur tiparin standard të Rust "# [test]" dhe aftësinë për të përdorur doktestë për të përdorur kodin shembull nga dokumentacioni si teste.
  • Mbështetja për arkitekturat ARM32 dhe RISCV u shtua përveç x86_64 dhe ARM64 të mbështetur më parë.
    Zbatimet e përmirësuara të GCC Rust (fronti i GCC për Rust) dhe rustc_codegen_gcc (pjesa e prapme e rustc për GCC), i cili tani kalon të gjitha standardet.
  • A nivel i ri i abstraksionit që programet Rust të përdorin mekanizmat e bërthamave të shkruara në C, siç janë pemët, objektet e numërimit të referencës, krijimi i përshkruesve të skedarëve, detyrave, skedarëve dhe vektorëve I / O.
  • Komponentët e zhvillimit të drejtuesit kanë përmirësuar mbështetjen për modulin "file_operations", "modulin!" Makro, regjistrimet makro dhe drejtuesit rudimentarë (hetimi dhe fshirja).
  • Binder ka mbështetje për kalimin e përshkruesve të skedarëve dhe lidhjeve LSM.
  • Një shembull më funksional i një shoferi Rust, bcm2835-rng, është propozuar për një gjenerator të numrave të rastësishëm hardware për bordet Raspberry Pi.

Së fundmi, nëse jeni të interesuar të dini më shumë rreth kësaj, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.