Muligheten for å integrere Rust-støtte i Linux 5.20-kjernen er ikke utelukket

På Open-Source Summit 2022-konferansen pågår i disse dager, i FAQ-delen, Linus Torvalds nevnte muligheten for tidlig integrering i Linux-kjernen av komponenter for å utvikle Enhetsdrivere i Rust.

Så det ble nevnt at Rust-aktiverte patcher kan bli akseptert i den neste endringsloggen som utgjør 5.20-kjernesammensetningen, planlagt til slutten av september.

Det skal huskes at Rust siden i fjor har blitt en av favorittene til å bli inkludert i ulike viktige prosjekter og at det i løpet av tiden som har gått allerede har blitt gjort arbeid knyttet til implementering av Rust-støtte.

Innenfor de anerkjente prosjektene som har vært interessert i rust siden i fjor, kan vi trekke frem for eksempel Android, siden den var interessert i Rust fordi det tillater oppnå ytelse nær C og C++ språk, slik at den kan brukes til å utvikle deler på plattformen på lave nivåer og komponenter for å grensesnitt med maskinvaren.

For å sikre sikkerheten til C- og C ++ -koden bruker Android sandkasseisolasjon, statisk analyse og fuzzing-tester. Sandbox isolasjonsevner er begrensede og har nådd grensen for deres evner (ytterligere fragmentering i prosesser er ikke praktisk sett fra et ressursforbruk synspunkt).

Blant begrensningene ved bruk av sandkasse, nevner de det høye overhead- og høyere minneforbruket forårsaket av behovet for å generere nye prosesser, samt den ekstra ventetiden som er forbundet med bruken av IPC.

Rust-Android
Relatert artikkel:
Rust er allerede en favoritt for Android-utvikling

På den annen side må vi ikke glemme det Linus Torvalds ga også sin mening om Rust og hvori brukt på å gjennomgå gjennomføringen lapp av muligheter for å sette Rust-språkdrivere i Linux-kjernen og ga kritikk.

De største klagene var forårsaket av unnslippe potensial "Kjøretidsfeil får panikk" i feil situasjoner, for eksempel i en situasjon uten minne, når dynamiske minnetildelingsoperasjoner, inkludert kjernen, kan mislykkes.

torvalds uttalte at et slikt fokus på kjernen er grunnleggende uakseptabelt, Og hvis du ikke forstår dette punktet, kan du helt avvise enhver kode som prøver å bruke en slik tilnærming. På den annen side var utvikleren av oppdateringen enig i problemet og anså det løst.

Linus Torvalds
Relatert artikkel:
Rust var ikke unntatt fra kritikken til Linus Torvalds

Men det er flere måneder siden Linus ga tilbakemeldinger og det har blitt jobbet hardt for å forbedre implementeringen. Som sådan, en pull-forespørsel for kjernen er foreløpig ikke sendt inn til Torvalds ennå, men patchsettet ble ytterligere revidert, keynotes fjernet, testet på linux-next-grenen i ganske lang tid, og brakt til en tilstand som er egnet for å bygge abstraksjonslag på toppen av kjerneundersystemer, skrive drivere og moduler.

Ruststøtte kommer som ekstrautstyr som ikke er aktivert som standard og ikke resulterer i at Rust inkluderes blant de nødvendige byggeavhengighetene for kjernen.

De foreslåtte endringene gjør det mulig å bruke Rust som andrespråk å utvikle drivere og kjernemoduler. Å bruke Rust til å utvikle drivere vil tillate deg å lage bedre og sikrere drivere med minimal innsats, uten problemer som å få tilgang til et minneområde etter å ha frigjort det, dereferering av null-pekere og bufferoverløp.

Minnesikkerhet er gitt i Rust på kompileringstidspunktet ved å sjekke referanser, spore objekteierskap og objektlevetid (omfang), samt ved å evaluere riktigheten av minnetilgang under kjøring av kode. Rust gir også heltalls overløpsbeskyttelse, krever at variabler initialiseres før bruk, håndterer feil i standardbiblioteket bedre, håndhever konseptet med uforanderlige variabler og referanser som standard, og tilbyr sterk statisk skriving for å minimere logiske feil.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.