A Rust támogatása a Linux kernel számára kritikába ütközött Torvaldstól

Linus Torvalds felülvizsgálta a Rust nyelv használatával készült kernel meghajtókkal kapcsolatos javításokat, és kritikát fogalmazott meg.

A legnagyobb aggályokat a panic() potenciális lehetősége váltotta ki hibás helyzetekben, például memóriahiány esetén, amikor a dinamikus memóriakezelési műveletek, beleértve a kernelben lévőket is, hibába futhatnak. Torvalds kijelentette, hogy egy ilyen megközelítés a kernelben alapvetően elfogadhatatlan, és ha valaki nem érti ezt, teljes mértékben el fogja utasítani (totally NAKed) bármilyen kódot, amely megpróbálja alkalmazni ezt a megközelítést. Másrészt a javításokkal foglalkozó fejlesztő egyetértett ezzel a problémával, és úgy gondolja, hogy megoldható.

További probléma volt a lebegőpontos számítások vagy a 128 bites típusok használatának megkísérlése, ami nem megengedett olyan környezetekben, mint a Linux kernel. Ez komolyabb problémának bizonyult, mivel a Rust alapkönyvtára jelenleg oszthatatlan, egy nagy blobként létezik — nincs lehetőség arra, hogy csak néhány funkciót kérjünk le, így megakadályozva egyes problémás funkciók használatát. A probléma megoldásához a Rust fordítón és a könyvtáron is módosításokat kell végrehajtani, miközben a csapatnak jelenleg még nincs stratégiája a könyvtárak modularitásának megvalósítására.

Továbbá Torvalds megjegyezte, hogy a bemutatott meghajtó példa — haszontalan, és javasolta, hogy egy valós problémát megoldó meghajtót mellékeljenek példaként.

Kiegészítés: A Google bejelentette részvételét a Rust támogatásának előmozdítására irányuló kezdeményezésben a Linux kernelben, és technikai szempontokat hozott fel a Rust bevezetésének ésszerűségéről, hogy megoldja a memóriahibákból adódó problémákat. A Google úgy véli, hogy a Rust már készen áll arra, hogy a C-vel együtt a Linux kernel komponenseinek fejlesztéséhez használt nyelv legyen. A cikk említi a Rust nyelv kernelmeghajtók fejlesztésében való alkalmazásának példáit is, különös figyelmet szentelve azok Android platformon való használatára (a Rust hivatalosan támogatott nyelv az Android fejlesztéséhez).

Jelentős előrelépés, hogy a Google elkészítette az első prototípusát egy Rust nyelven írt meghajtónak a Binder köztesfolyamat- kommunikációs mechanizmushoz, amely lehetővé teszi a Binder C és Rust nyelvű megvalósításainak teljesítményének és biztonságának részletes összehasonlítását. Jelenlegi állapotában a munka még nem fejeződött be, de már szinte minden alapvető kernelfunkcióhoz szükséges absztrakcióhoz készültek rétegek, amelyek lehetővé teszik ezen absztrakciók használatát Rust kódon.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster