Linus Torvalds má v úmyslu zahrnout související změny související s Rustem bez zprostředkování správců.

Christoph Hellwig, správce subsystému DMA, KVM, Slab Allocator a architektury PowerPC v jádře Linux, zásadně odmítající zahrnout Rustové obalit do jádra subsystému DMA, se připojil k diskusi o pravidlech údržby Rustu v jádře, které byly zveřejněny projektem Rust for Linux. Podle Christopha jsou tato pravidla zbytečná, dokud nebudou dohodnuta se komunitou a zahrnuta do dokumentace k jádru.

Christoph také upozornil na to, že v pravidlech je uvedena nesprávná informace týkající se toho, že správci mohou samostatně rozhodovat o zahrnutí kódu souvisejícího s Rustem do svých subsystémů. Podle Christopha v osobním rozhovoru Linus Torvalds prohlásil, že je pevně odhodlán zahrnout Rustový kód do jádra, bez ohledu na námitky správců. Tím pádem se nyní vývojářům a správcům jádra bude muset vypořádat s Rustem, ať už to chtějí nebo ne.

Christoph také znovu přirovnal rozšíření Rustových obalů k rakovinovému tumoru, který se rozšíří do všech subsystémů jádra a povede k fragmentaci. Z jednotného celku se jádro mění na projekt napsaný v několika jazycích, bez jasného vymezení toho, kdy by se jaký jazyk měl používat. Podle Christopha se práce s takto smíšenou kódovou základnou stala jeho nejhorším nočním můrou, jelikož v takových podmínkách stále dochází k přepisování kódu z jednoho jazyka do druhého a pak zpět.

Kristof se ptá na cíl zavedení Rustu do jádra. Pokud je cílem řešení problémů s bezpečností, které vznikají při nízkoúrovňové práci s pamětí, je nejprve potřeba modernizovat existující kód. Vzhledem k tomu, že údržbáři bolestně reagují i na triviální věci, jako jsou kontroly na přetečení celých čísel, není jasné, jak lze překonat mezeru mezi jednou částí jádra, která neakceptuje ani jednoduchá pravidla pro zajištění bezpečnosti, a druhou částí, jež dodržuje přísná pravidla. Pokud je cílem zjednodušení vývoje ovladačů, pak zavedení podpory dalšího jazyka pouze přidá novou práci a zvýší zátěž na už tak zahlcené lidi, kteří udržují infrastrukturu jádra v provozu.

Co se týče podporovatelů zavedení Rustu do jádra, uvádějí následující cíle:

  • Psaní nového kódu v jazyce Rust sníží riziko chyb při práci s pamětí a závodních podmínek, a také vyloučí některé logické chyby.
  • Údržbářům bude snazší recenzovat změny a provádět refaktoring modulů s ohledem na záruky, které jazyk Rust poskytuje.
  • Přítomnost abstrakcí využívajících pokročilé vlastnosti jazyka Rust usnadní vytváření nových ovladačů a modulů.
  • Podpora moderního jazyka přiláká k vývoji jádra nové účastníky.
  • Využití možností nástrojů Rust usnadní plnění požadavků na dokumentaci kódu. Například v projektu Rust for Linux bylo zavedeno požadavek na povinnou dokumentaci veřejných API, požadavků na bezpečnost, unsafe bloků a invariantů typů.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster