Roststöd för kÀrnan Linux mötte kritik frÄn Torvalds

Linus Torvalds granskade patchar som implementerar möjligheten att skapa drivrutiner i Rust-sprÄket för kÀrnan. Linuxoch framförde nÄgra kritiska kommentarer.

De största klagomĂ„len orsakades av den potentiella möjligheten till panic() i felsituationer, till exempel i en situation med lĂ„gt minne, nĂ€r dynamiska minnesallokeringsoperationer, inklusive inom kĂ€rnan, kan misslyckas. Torvalds sa att ett sĂ„dant tillvĂ€gagĂ„ngssĂ€tt i kĂ€rnan Ă€r fundamentalt oacceptabelt och om denna punkt inte förstĂ„s kan han fullstĂ€ndigt NAKed alla kod som försöker anvĂ€nda en sĂ„dan metod. Å andra sidan höll patchutvecklaren med om detta problem och anser att det gĂ„r att lösa.

Ett annat problem var försök att anvĂ€nda flyttal eller 128-bitarstyper, vilket inte Ă€r acceptabelt för miljöer som kĂ€rnan. LinuxDetta visade sig vara ett allvarligare problem, eftersom Rust-kĂ€rnbiblioteket för nĂ€rvarande Ă€r odelbart och representerar en stor blob – det tillĂ„ter dig inte att bara begĂ€ra vissa funktioner, vilket förhindrar anvĂ€ndningen av viss problematisk funktionalitet. Att lösa detta problem kan krĂ€va Ă€ndringar i Rust-kompilatorn och biblioteken, och teamet har för nĂ€rvarande ingen strategi för att implementera modularitet i sprĂ„kbiblioteken.

Dessutom noterade Torvalds att det medföljande drivrutinsexemplet var vÀrdelöst och rÄdde oss att som exempel anvÀnda nÄgon drivrutin som löser ett av de verkliga problemen.

Uppdatering: Google har meddelat sitt deltagande i initiativet att integrera stöd för Rust i kÀrnan. Linux och skisserade den tekniska genomförbarheten av att implementera Rust för att bekÀmpa problem som uppstÄr pÄ grund av minneshanteringsfel. Google tror att Rust nu Àr redo att ansluta sig till C som sprÄk för att utveckla kÀrnkomponenter. LinuxArtikeln ger ocksÄ exempel pÄ hur man anvÀnder Rust-sprÄket för att utveckla kÀrndrivrutiner, i samband med deras anvÀndning i plattformen. Android (Rust Àr erkÀnt som ett officiellt stödt sprÄk för utveckling) Android).

Det noteras att Google har förberett en första prototyp av en drivrutin skriven i Rust för Binders interprocesskommunikationsmekanism, vilket kommer att möjliggöra en detaljerad jÀmförelse av prestanda och sÀkerhet för Binder-implementationer i C och Rust. I sin nuvarande form Àr arbetet Ànnu inte fÀrdigt, men för nÀstan alla grundlÀggande abstraktioner av kÀrnfunktionaliteten som krÀvs för att Binder ska fungera, har lager förberetts för att anvÀnda dessa abstraktioner i Rust-kod.

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster