Rust, noe Linux-utviklere ser ut til å være enige med

Programmeringsspråket Rust har alltid hatt som mål å erstatte C i Linux-kjerneutvikling Og det er at når Rust har modnet, har flere utviklere uttrykt en økende interesse for bruken av Linux-kjernen.

I den virtuelle konferansen av Linux Plumbers 2020, mikrokonferansestrømmen av LLVM organisert en økt på åpne spørsmål og barrierer for oppstrøms aksept av Rust på Linux-kjernen.

Interessen for dette emnet er synlig, siden denne økten var den travleste av 2020-arrangementet.

Så skal vi nå omskrive hele Linux-kjernen med Rust-språket? Denne diskusjonen stammer ikke fra i dag og har blitt forsterket siden den første stabile versjonen av Rust dukket opp i 2015.

Med tanke på mulighetene det gir Rust, noen foreslår at du gjør det. I år på Linux Plumbers-konferansen i august, høyttalerne hadde tid igjen til å diskutere det.

Og det overraskende er at de ser ut til å være enige enstemmig nei ikke for å omskrive den eksisterende koden i Rust, men for at kjerneutviklingen fortsetter å bruke Rust. Det vil si at de ser for seg en verden der nye kodestykker kan skrives i Rust.

Denne økten bygget på det forrige arbeidet til mange utviklere, inkludert en foredrag holdt i fjor av Alex Gaynor og Geoffrey Thomas på Linux Security Summit.

På konferansen presenterte de sitt arbeid med prototyping av Rust-kjernemoduler og gikk inn for adopsjonen av Rust i kjernen.

De siterte arbeid som viste at omtrent to tredjedeler av kjernesårbarhetene som er tildelt CVE i Android og Ubuntu, er relatert til minnesikkerhetsproblemer.

De endte med å forklare det Rust kan helt unngå denne typen feil takket være sikrere API-er aktivert av systemtypen og lånekontrolløren din.

Denne studien klarte å overbevise flere vedlikeholdere allerede Linus Torvalds, som støttet introduksjonen av Rust i kjernen. Thomas og Gaynor, Josh Triplett, medformann i Rust-språkteamet og mangeårig Linux-kjerneutvikler, samt andre interesserte utviklere deltok i diskusjonen om emnet.

De berørte kort hans arbeid så langt og noen av hans første tanker og spørsmål før de åpnet mesteparten av tiden for diskusjon.

Dette er bruken av eksisterende APIer i kjernen, arkitekturstøtte og et spørsmål om ABI-kompatibilitet mellom Rust og C.

Faktisk tror de opprinnelig det innføring av rust i trestrukturen må respektere eksisterende C API-er. 

Imidlertid føler alle djevelen er i detaljene, og både arbeidet som er gjort så langt og samtalen under økten har avslørt noen åpne utfordringer.

For eksempel bruker Linux tungt forprogrammeringsmakroer og innebygde funksjoner, som ikke støttes like enkelt av bindgen-verktøyet og Rusts eksterne funksjonsgrensesnitt.

Ifølge dem, For øyeblikket er kompilatoren den eneste modne implementeringen av Rust rustc, som utsteder kode gjennom LLVM.

Linux-kjernen støtter et bredt utvalg av arkitekturer, hvorav mange ikke har en LLVM-backend tilgjengelig.

For sin del foreslo Triplett at å legge Rust til kjernen ville bidra til å øke arkitektonisk støtte for Rust, med henvisning til hans erfaring med Debian-prosjektet. Han nevnte at introduksjonen av Rust-programvare i Debian har bidratt til å motivere entusiaster og brukere av nisjearkitekturer for å forbedre Rust-støtten, og han håper å legge til kjernestøtte for å ha en lignende effekt.

Spesielt var han overbevist om at enhver arkitektur med en LLVM-backend raskt ville være kompatibel med Rust. Diskusjonen fokuserte også på alternative Rust-implementeringer som en vei til bredere arkitekturstøtte.

Økten endte uten ytterligere spesifikke milepæler, men det ser ut til å være generell entusiasme for å støtte Rust Mods og økende enighet om de generelle kravene til denne støtten.


Legg igjen kommentaren

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

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  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.

  1.   Autopilot sa

    Det virker som begynnelsen på en ny æra, den faste C kommer opp.

    Hei Rust, Bye Linus Torvalds!