Muligheden for at integrere Rust-understøttelse i Linux 5.20-kernen er ikke udelukket

På Open-Source Summit 2022-konferencen igangværende i disse dage, i FAQ-sektionen, Linus Torvalds nævnte muligheden for tidlig integration i Linux-kernen af ​​komponenter til at udvikle Enhedsdrivere i Rust.

Så det blev nævnt, at Rust-aktiverede patches kan blive accepteret i den næste ændringslog, der udgør 5.20-kernesammensætningen, planlagt til slutningen af ​​september.

Det skal huskes, at Rust siden sidste år er blevet en af ​​favoritterne til at indgå i forskellige vigtige projekter, og at der i den tid, der er gået, allerede er blevet arbejdet med implementeringen af ​​Rust-støtte.

Inden for de anerkendte projekter, der har interesseret sig for rust siden sidste år, kan vi fremhæve fx Android, da det var interesseret i Rust fordi det tillader det opnå ydeevne tæt på C og C++ sprog, der gør det muligt at bruge det til at udvikle dele på lavt niveau på platformen og komponenter til interface med hardware.

For at sikre sikkerheden af ​​C- og C ++ -koden bruger Android sandkasseisolering, statisk analyse og fuzzing-test. Sandbox-isolationsfunktioner er begrænsede og har nået grænsen for deres kapaciteter (yderligere fragmentering i processer er ikke praktisk set fra et ressourceforbrugssynspunkt).

Blandt begrænsningerne ved at bruge sandkasse nævner de det høje overhead og højere hukommelsesforbrug forårsaget af behovet for at generere nye processer samt den ekstra latens, der er forbundet med brugen af ​​IPC.

Rust-Android
relateret artikel:
Rust er allerede en favorit til Android-udvikling

Det må vi på den anden side ikke glemme Linus Torvalds gav også sin mening om Rust og hvori brugt på at gennemgå implementeringen patch af muligheder for at indstille Rust-sprogdrivere i Linux-kerne og gav udtryk for kritik.

De største klager var forårsaget af undslippe potentiale "Kørselsfejl får panik" i forkerte situationer, for eksempel i en situation uden for hukommelsen, når dynamiske hukommelsesallokeringsoperationer, herunder kerneoperationer, muligvis mislykkes.

Torvalds sagde, at et sådant fokus på kernen i grunden er uacceptabelt, Og hvis du ikke forstår dette punkt, kan du helt afvise enhver kode, der forsøger at bruge en sådan tilgang. På den anden side var udvikleren af ​​programrettelsen enig i problemet og betragtede det som løst.

Linus Torvalds
relateret artikel:
Rust var ikke fritaget for kritikken fra Linus Torvalds

Men det er flere måneder siden Linus gav sin feedback, og der er blevet arbejdet hårdt på at forbedre implementeringen. Som sådan, en pull-anmodning om kernen er endnu ikke indsendt til Torvalds, men patch-sættet blev yderligere revideret, keynotes fjernet, testet på linux-next-grenen i et stykke tid og bragt til en tilstand, der er egnet til at bygge abstraktionslag oven på kerneundersystemer, skrivedrivere og moduler.

Ruststøtte kommer som ekstraudstyr som ikke er aktiveret som standard og ikke resulterer i, at Rust inkluderes blandt de påkrævede build-afhængigheder for kernen.

De foreslåede ændringer gør det muligt at bruge Rust som andetsprog at udvikle drivere og kernemoduler. Brug af Rust til at udvikle drivere vil give dig mulighed for at skabe bedre og sikrere drivere med minimal indsats, uden problemer som at få adgang til et hukommelsesområde efter at have frigivet det, dereference nul-pointere og bufferoverløb.

Hukommelsessikkerhed leveres i Rust på kompileringstidspunktet ved at kontrollere referencer, spore objektejerskab og objektlevetid (omfang), samt ved at evaluere korrektheden af ​​hukommelsesadgang under kodeudførelse. Rust giver også heltalsoverløbsbeskyttelse, kræver, at variabler initialiseres før brug, håndterer bedre fejl i standardbiblioteket, håndhæver konceptet med uforanderlige variabler og referencer som standard og tilbyder stærk statisk skrivning for at minimere logiske fejl.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.