Rost, något Linux-utvecklare verkar hålla med

Programmeringsspråket Rust har alltid syftat till att ersätta C i Linux-kärnutveckling Och det är att när Rust har mognat har flera utvecklare uttryckt ett växande intresse för dess användning i Linux-kärnan.

I den virtuella konferensen av Linux Plumbers 2020, mikrokonferensflödet av LLVM anordnade en session om öppna frågor och hinder för uppströms acceptans av Rust i Linux-kärnan.

Intresset för detta ämne är synligt, eftersom denna session var den mest trafikerade av 2020-evenemanget.

Så ska vi nu skriva om hela Linux-kärnan med Rust-språket? Denna diskussion går inte från idag och har accentuerats sedan den första stabila versionen av Rust 2015 utkom.

Med tanke på de möjligheter det erbjuder Rost, vissa föreslår att du gör det. I år, vid Linux Plumbers-konferensen i augusti, talarna hade tid igen att diskutera det.

Och det överraskande är att de verkar vara överens enhälligt nej inte för att skriva om den befintliga koden i Rust utan för att kärnutvecklingen fortsätter att använda Rust. Det vill säga de ser för sig en värld där nya kodbitar kan skrivas i Rust.

Denna session byggde på det tidigare arbetet från många utvecklare, inklusive ett föredrag som förra året gavs av Alex Gaynor och Geoffrey Thomas vid Linux Security Summit.

På konferensen presenterade de sitt arbete med att prototyper rostkärnmoduler och förespråkade antagandet av rost i kärnan.

De citerade arbete som visade att ungefär två tredjedelar av kärnans sårbarheter som tilldelats CVE i Android och Ubuntu är relaterade till minnessäkerhetsproblem.

De slutade med att förklara det Rust kan helt undvika denna typ av fel tack vare säkrare API: er aktiveras av din systemtyp och din låneverifierare.

Denna studie lyckades redan övertyga flera underhållare Linus Torvalds, som stödde införandet av Rust i kärnan. Thomas och Gaynor, Josh Triplett, medordförande för Rust-språkteamet och den långvariga Linux-kärnutvecklaren, liksom andra intresserade utvecklare deltog i diskussionen om ämnet.

De berättade kort om hans arbete hittills och några av hans första tankar och frågor innan de öppnade för det mesta för diskussion.

Det här är användningen av befintliga API: er i kärnan, arkitektursupport och en fråga om ABI-kompatibilitet mellan Rust och C.

Faktum är att de ursprungligen tror det införande av Rust i trädstrukturen måste respektera befintliga C API: er. 

Men alla känner att djävulen är i detaljerna, och både arbetet som gjorts hittills och konversationen under sessionen har avslöjat några öppna utmaningar.

Till exempel använder Linux kraftigt förprocessormakron och inline-funktioner, som inte stöds lika enkelt av bindgen-verktyget och Rusts gränssnitt för externa funktioner.

Enligt dem, just nu är kompilatorn den enda mogna implementeringen av Rust rustc, som utfärdar kod via LLVM.

Linux-kärnan stöder en mängd olika arkitekturer, varav många inte har en LLVM-backend tillgänglig.

För sin del föreslog Triplett att lägga till Rust i kärnan skulle bidra till att öka arkitektoniskt stöd för Rust, med hänvisning till hans erfarenhet av Debian-projektet. Han nämnde att introduktionen av Rust-programvaran i Debian har hjälpt till att motivera entusiaster och användare av nischarkitekturer för att förbättra Rust-stödet, och han hoppas kunna lägga till kärnstöd för att få en liknande effekt.

I synnerhet var han övertygad om att alla arkitekturer med en LLVM-backend snabbt skulle vara kompatibla med Rust. Diskussionen fokuserade också på alternativa rostimplementeringar som en väg till bredare arkitekturstöd.

Sessionen avslutades utan ytterligare specifika milstolpar, men det verkar finnas en övergripande entusiasm för att stödja Rust Mods och växande enighet om de allmänna kraven för detta stöd.


Lämna din kommentar

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

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  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.

  1.   Autopilot sade

    Det verkar början på en ny era, den fasta C kommer upp.

    Hej Rust, Hejdå Linus Torvalds!