Rust på Linux: framsteg, utmaningar och aktuell status

Rost drivrutiner på Linux

Sedan Linus Torvalds inklusive Rust i Linux Kernel version 6.1, språket har gradvis vunnit mark och fler och fler utvecklare ansluter sig till denna rörelse.

Sin embargo, några av utvecklarna av linux-kärnan De lyfter fram att framsteg i allt högre grad kommer att innebära mer arbete och utmaningar, eftersom de i sina kommentarer antyder att ett dödläge kan uppstå.

Det är värt att förtydliga att vi inte nämner att implementeringen hamnar i en återvändsgränd, utan snarare med tanke på kommentarer från olika utvecklare och som vi redan nämnt har behovet av att minska arbetstakten börjat dyka upp i nuvarande skick, eller det är åtminstone vad följande artikel föreslår för oss LWN.net.

Och för flera veckor sedan stötte jag på den här artikeln som tar upp det aktuella läget för användningen av Rust i Linux och analyserar om experimentet med detta programmeringsspråk har varit framgångsrikt.

Det nämns att under några år, Rost har varit ett ämne som inte har slutat diskuteras vid "Kernel Maintainers Summit" och det som hölls 2023 var inget undantag, eftersom sedan det officiella genomförandet av Rust som ett andra programmeringsspråk i Linux, Miguel Ojeda, Rust-for-Linux-utvecklare, belyst det växande intresset för användningen av Rust för kärnutveckling under sessionen tillägnad detta ämne.

Miguel Ojeda nämner att projektet Rust-för-Linux har haft betydande fart under det senaste året, eftersom en heltidsanställd ingenjör och en studentutvecklare har anslutit sig och olika företag anslutit sig för att stötta arbetet. Dessutom pågår arbete med att integrera Coccinelle-verktyget med Rust-koden. Allt är dock inte rosenrött, eftersom en av de aktuella utmaningarna är att rekrytera fler granskare till koden som håller på att utvecklas.

Linux Kernel
Relaterad artikel:
Linux 6.1 kommer med Rust, prestandaförbättringar, drivrutiner och mer

I artikelnoch nämner att problemen har börjat märkas i verktygskedjan, sedan kompilatorns framsteg GCC-baserad Rust, känd som gccrs, har avtagit. Å andra sidan visar GCC-kodgeneratorn för rustc lovande framsteg och har slagits samman med kompilatorn, vilket gör att Rust-stödet kan utökas till arkitekturer som inte är kompatibla med LLVM.

Relaterad artikel:
I GCC godkände de implementeringen av RUST (gccrs)

Inuti kärnan, framsteg görs i flera delsystem, så är fallet med Rust-implementeringen av android pärm som har visat prestanda som är jämförbar med C-implementeringen, med en minimal mängd osäker kod. Dessutom pågår arbete med filsystemlänkning med målet att uppnå skrivskyddat stöd i Rust, med visionen att implementera ett helt säkert filsystem i Rust.

Dave Airlie, underhållaren av DRM (grafik) delsystemet, sa att om han får sin vilja igenom kommer det att finnas en sammanslagen Rust DRM-drivrutin i de kommande utgåvorna. Christoph Hellwig svarade att Airlie var villig att "göra allas liv till helvete" så att hon kunde leka med sin favoritleksak. Hellwig sa att en sammanslagning av Rust skulle tvinga andra att ta itu med ett andra språk, nya verktygskedjor och "omslag med konstig semantik." Dan Williams sa att den nuvarande situationen "är hur framgång ser ut" och att kärngemenskapen redan var engagerad i Rust.

Även om det finns ett växande intresse bland underhållare för att adoptera Rust, utmaningar uppstår, eftersom det har diskuterats måste ha kärnreferensdrivrutiner skrivna i Rust för att visa hur kontroller kan skrivas på detta språk. Dupliceringen av funktionalitet mellan förare i Rust och C har dock skapat misstro bland underhållare.

Diskussionen om införandet av Rust har tagit olika riktningar, Nåväl, vissa underhållare förespråkar att slå samman fristående Rust-drivrutiner, såsom bindemedelsdrivrutinen, för att visa deras lönsamhet, medan andra på andra sidan myntet De uttrycker oro över komplexiteten i att underhålla en kärna med två programmeringsspråk.

Airlie fortsatte med att säga att mycket av Rusts arbete för närvarande är låst i lite av ett kyckling- och äggproblem. Abstraktioner kan inte slås samman förrän det finns en användare för dem, men kod som behöver dessa abstraktioner blockeras i väntan på att koden ska nå flera delsystem. Som ett resultat har utvecklare som arbetar med Rust stora mängder patchar som de behöver för att få sin kod att fungera. Att bryta det hindret kommer att kräva att vissa abstraktioner kan komma in utan omedelbara användare.

Trots utmaningarna, kärngemenskapen erkänner Rusts potential att förbättra kodsäkerhet och stabilitet. Det finns möjlighet att slå ihop mer allmänt använda drivrutiner till Rust i framtiden, när farhågor om lappbarhet och underhållsbarhet är lösta.

Ojeda höll med om att detta problem har bromsat framstegen, men sa att han har försökt att inte pressa underhållare att slå samman kod snabbt. I fallet med nätverk, ironiskt nog, var Rust-utvecklarna tvungna att be nätverksfolket att bromsa sammansmältningen av Rust-koden.

Slutligen är det värt att nämna att vägen till utbredd användning av Rust på Linux innebär utmaningar, intresset och framstegen i detta utrymme är uppenbart. Med tiden förväntas Rust spela en viktig roll för att förbättra Linux.

Fuente: https://lwn.net/


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.