Na konferenci Maintainers Summit, která se v těchto dnech koná, se diskutovalo o výsledcích experimentu s přidáváním do jádra. Linux Schopnost vyvíjet komponenty v jazyce Rust. Účastníci považovali experiment za úspěšný a rozhodli se přesunout podporu jazyka Rust do jádra programu, čímž odstranili jeho označení experimentální funkce.
Před třemi lety byla do jádra 6.1 přidána možnost vyvíjet ovladače a moduly v Rustu. Od té doby jádro zahrnuje abstrakce pro vývoj ovladačů v Rustu pro GPU, souborové systémy, bloková zařízení, síťové adaptéry a USB zařízení. Ovladač Nova pro GPU NVIDIA, Asahi pro GPU Apple AGX, Tyr pro GPU ARM Mali a rust_ext2 se souborovým systémem Ext2 jsou všechny vyvíjeny v Rustu. Do jádra byla přijata implementace IPC Binder napsaná v Rustu. Projekt RROS vyvíjí pro jádro subsystém reálného času. Linux, napsaný v Rustu. Podpora Rustu je ve výchozím nastavení zakázána a nezahrnuje Rust jako povinnou závislost sestavení jádra.
Zastánci jazyka Rust věří, že jazyk eliminuje většinu základních chyb způsobených tzv. „corner case“ (neúplnými případy) v jazyce C, což umožňuje recenzentům kódu soustředit se na logické chyby a soubojové podmínky. Rust pomáhá eliminovat problémy, jako je přístup po uvolnění, přeplnění vyrovnávací paměti, nesprávné uvolnění zdrojů během ošetřování chyb a kontroly návratového kódu pro zapomenuté chyby. Použití jazyka Rust pro nový kód také zkracuje dobu vývoje snížením úsilí o ladění a silnými zárukami jazyka, které detekují chyby v rané fázi vývojového procesu.
Odpůrci zahrnutí Rustu do jádra považují za nepřijatelné používat více programovacích jazyků ve složitých projektech. Smíšené kódové základny komplikují práci správců, protože je činí závislými na kódu napsaném v jiném jazyce. Například pokud existují vazby Rustu, vývojáři subsystémů založených na jazyce C musí zvážit dopad změn na další funkčnost těchto vazeb.
Zdroj: opennet.ru
