Rust, s čím vývojáři Linuxu zřejmě souhlasí

Programovací jazyk Rust si vždy klade za cíl nahradit C ve vývoji linuxového jádra A tím, jak Rust dospěl, několik vývojářů vyjádřilo rostoucí zájem o jeho použití v linuxovém jádře.

Ve virtuální konferenci dne Linux Plumbers 2020, tok mikrokonferencí podle LLVM uspořádal zasedání k otevřeným otázkám a bariéry pro upstreamové přijetí Rustu v linuxovém jádře.

Zájem o toto téma je viditelný, protože toto sezení bylo nejrušnější událostí roku 2020.

Měli bychom tedy nyní přepsat celé jádro Linuxu jazykem Rust? Tato diskuse nepochází od dnešního dne a byla zdůrazněna od objevení se první stabilní verze Rustu v roce 2015.

S ohledem na možnosti, které nabízí Rust, někteří navrhují to udělat. Letos na srpnové konferenci Linux Instalatéři řečníci měli čas znovu o tom diskutovat.

A překvapivé je to zdá se, že souhlasí jednomyslně ne ne přepsat existující kód v Rustu, ale aby vývoj jádra pokračoval v používání Rustu. To znamená, že si představují svět, ve kterém by bylo možné v Rustu psát nové části kódu.

Toto zasedání navázalo na předchozí práci mnoha vývojářů, včetně přednášky, kterou minulý rok přednesli Alex Gaynor a Geoffrey Thomas na bezpečnostním summitu o Linuxu.

Na konferenci představili svou práci na prototypování modulů jádra Rust a zasazovali se o přijetí Rustu v jádře.

Citovali práci, která ukazuje, že zhruba dvě třetiny chyb zabezpečení jádra přiřazených CVE v systémech Android a Ubuntu souvisí s problémy se zabezpečením paměti.

Nakonec to vysvětlili Rust se tomuto druhu chyby může zcela vyhnout díky bezpečnějším API povoleno vaším typem systému a ověřovatelem vaší půjčky.

Tato studie již dokázala přesvědčit několik správců Linus Torvalds, který podpořil zavedení Rustu do jádra. Diskuse na toto téma se zúčastnili Thomas a Gaynor, Josh Triplett, spolupředseda jazykového týmu Rust a dlouholetý vývojář linuxových jader.

Krátce se dotkli jeho dosavadní práce a některých jeho prvních myšlenek a otázek, než většinu času otevřeli k diskusi.

Jedná se o použití existujících API v jádře, podporu architektury a otázku kompatibility ABI mezi Rust a C.

Ve skutečnosti tomu původně věří zavedení Rustu do stromové struktury musí respektovat stávající C API. 

Každý však cítí, že ďábel je v detailech, a jak dosud vykonaná práce, tak konverzace během zasedání odhalily některé otevřené výzvy.

Například Linux hojně využívá preprocesorová makra a vložené funkce, které nástroj bindgen a rozhraní externích funkcí Rustu tak snadno nepodporují.

Podle nich, v současné době je jedinou vyspělou implementací Rust kompilátor rustc, který vydává kód prostřednictvím LLVM.

Linuxové jádro podporuje širokou škálu architektur, z nichž mnohé nemají k dispozici back-end LLVM.

Pokud jde o jeho část, Triplett navrhl, že přidání Rustu do jádra by pomohlo zvýšit architektonickou podporu Rustu, citujíc jeho zkušenosti s projektem Debian. Zmínil, že zavedení softwaru Rust v Debianu pomohlo motivovat nadšence a uživatele specializovaných architektur ke zlepšení podpory Rust, a doufá, že přidá podporu jádra, aby měla podobný účinek.

Zejména byl přesvědčen, že jakákoli architektura s back-endem LLVM bude rychle kompatibilní s Rustem. Diskuse se také zaměřila na alternativní implementace Rust jako cestu k podpoře širší architektury.

Zasedání skončilo bez dalších konkrétních milníků, ale zdá se, že panuje celkové nadšení pro podporu Rust Mods a rostoucí shodu ohledně obecných požadavků na tuto podporu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Autopilot řekl

    Zdá se, že je to začátek nové éry, přichází nepohyblivé C.

    Ahoj Rusti, čau Linus Torvalds!