Stöd för Rust i Linux-kÀrnan har mött kritik frÄn Torvalds.

Linus Torvalds har granskat patcharna för implementeringen av möjligheten att skapa drivrutiner pÄ Rust-sprÄket för Linux-kÀrnan och framfört vissa kritiska synpunkter.

De största invĂ€ndningarna vĂ€cktes av den potentiella risken för att gĂ„ in i panic() i felaktiga situationer, till exempel vid minnesbrist, dĂ€r operationer med dynamisk minnesallokering, Ă€ven inuti kĂ€rnan, kan misslyckas. Torvalds hĂ€vdade att en sĂ„dan strategi i kĂ€rnan Ă€r principiellt oacceptabel och om det inte förstĂ„s kan han helt avvisa (totally NAKed) all kod som försöker anvĂ€nda en sĂ„dan strategi. Å andra sidan höll utvecklaren som arbetade med patcharna med om problemet och anser att det Ă€r lösbart.

Ytterligare ett problem var försöken att anvĂ€nda flyttal eller 128-bitars typer, vilket inte Ă€r acceptabelt för miljöer som Linux-kĂ€rnan. Detta visade sig vara ett mer allvarligt problem, eftersom Rust:s grundlĂ€ggande bibliotek för nĂ€rvarande Ă€r ofördelat och utgör en stor blob — det finns ingen möjlighet att begĂ€ra endast vissa funktioner, vilket förhindrar anvĂ€ndning av problematisk funktionalitet. Lösningen pĂ„ problemet kan krĂ€va Ă€ndringar i Rust-kompilatorn och biblioteket, men för nĂ€rvarande har teamet ingen strategi för hur man ska genomföra modulĂ€ritet i biblioteken.

Dessutom pÄpekade Torvalds att det medföljande drivrutineksemplet Àr vÀrdelöst och rekommenderade att inkludera nÄgot drivrutins exempel som löser ett av de verkliga problemen.

Komplement: Google har meddelat sitt deltagande i initiativet för att frÀmja stödet för Rust i Linux-kÀrnan och angav de tekniska aspekterna av lÀmpligheten att implementera Rust för att lösa problem orsakade av fel i minneshantering. Google anser att Rust redan Àr redo att ansluta sig till C som ett sprÄk för utveckling av komponenter i Linux-kÀrnan. Artikeln innehÄller ocksÄ exempel pÄ anvÀndning av Rust för att utveckla kÀrndrivrutiner, i kontexten av dess anvÀndning i Android-plattformen (Rust erkÀnns som ett officiellt stött sprÄk för Android-utveckling).

Det har noterats att Google har förberett en första prototyp av en drivrutin skriven i Rust för mekanismen för interprocesskommunikation, Binder, vilket möjliggör en detaljerad jÀmförelse av prestanda och sÀkerhet mellan implementationer av Binder i C och Rust. Arbetet Àr Ànnu inte fullbordat, men nÀstan alla grundlÀggande abstraktioner av kÀrnans funktionalitet som behövs för att anvÀnda Binder har beretts för att anvÀndas med dessa abstraktioner i Rust-kod.

KĂ€lla: opennet.ru

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