Az Open-Source Summit 2022 konferencián ezekben a napokban a GYIK rovatban Linus Torvalds a korai integráció lehetőségét említette a fejlesztendő komponensek Linux kernelében Eszköz illesztőprogramok Rustban.
Így szóba került, hogy a Rust-kompatibilis foltokat a következő változásnaplóban fogadhatják el, amely az 5.20-as kernel összetételét alkotja, szeptember végére.
Nem szabad megfeledkezni arról, hogy a Rust tavaly óta a különböző fontos projektek egyik kedvence lett, és az eltelt idő alatt a Rust-támogatás megvalósításával kapcsolatos munka már történt.
A tavaly óta a rozsda iránt érdeklődő neves projektek közül kiemelhetjük például az Androidot, hiszen az érdekelte Rozsda mert megengedi C és C++ nyelvekhez közeli teljesítményt érhet el, lehetővé téve a platform alacsony szintű részeinek és a hardverrel való interfészhez szükséges összetevők fejlesztését.
A C és C ++ kódok biztonságának biztosítása érdekében az Android sandbox elkülönítést, statikus elemzést és összemosó teszteket használ. A homokozó elszigetelési képességek korlátozottak, és elérték képességeik határát (a folyamatok további széttagolása erőforrás-felhasználás szempontjából nem célszerű).
A sandbox használatának korlátai között megemlítik az új folyamatok generálásának szükségessége miatti magas rezsiköltséget és nagyobb memóriafelhasználást, valamint az IPC használatához kapcsolódó további késleltetést.
Másrészt ezt nem szabad elfelejtenünk Linus Torvalds is elmondta a véleményét Rustról és amelyben a megvalósítás felülvizsgálatával töltöttem a Rust nyelvi illesztőprogramok Linux kernelbe állításának lehetőségeinek javítása és némi kritikának adott hangot.
A legnagyobb panaszokat az okozta menekülési potenciál "Futásidejű kudarc pánik" rossz helyzetekben, például memóriahiányos helyzetben, amikor a dinamikus memória-allokációs műveletek, beleértve a kernelét is, sikertelenek lehetnek.
torvalds kijelentette, hogy a kernelre való ilyen figyelem alapvetően elfogadhatatlan, És ha nem érted ezt a pontot, akkor teljesen elutasíthatsz minden olyan kódot, amely ilyen megközelítést próbál használni. Másrészt a javítás fejlesztője egyetértett a problémával, és megoldhatónak tartotta.
De több hónap telt el azóta, hogy Linus visszajelzést adott, és kemény munkát végeztek a megvalósítás javításán. Mint olyan, a magra vonatkozó lehívási kérelmet jelenleg még nem nyújtották be Torvaldsnak, de a javítócsomagot tovább javították, eltávolították a kulcsszavakat, jó ideig tesztelték a linux-next ágon, és olyan állapotba hozták, amely alkalmas absztrakciós rétegek felépítésére a kernel alrendszerek tetején, illesztőprogramok és modulok írására.
A rozsdatámogatás opcióként kapható amely alapértelmezés szerint nincs engedélyezve, és nem eredményezi, hogy a Rust szerepeljen a kernel szükséges összeállítási függőségei között.
A javasolt változtatások lehetővé teszik a Rust második nyelvként való használatát illesztőprogramok és kernelmodulok fejlesztésére. A Rust használata az illesztőprogramok fejlesztésére lehetővé teszi jobb és biztonságosabb illesztőprogramok létrehozását minimális erőfeszítéssel, anélkül, hogy olyan problémákat okozna, mint a memóriaterület elérése a felszabadítás után, a nulla mutatók hivatkozásának megszüntetése és a puffer túlcsordulása.
A memóriabiztonság a Rustban a fordítási időben biztosított a hivatkozások ellenőrzésével, az objektumok tulajdonjogának és az objektum élettartamának (hatókörének) követésével, valamint a kódvégrehajtás során a memóriaelérés helyességének kiértékelésével. A rozsda egész számú túlcsordulás elleni védelmet is biztosít, megköveteli a változók inicializálását használat előtt, jobban kezeli a szabványos könyvtár hibáit, alapértelmezés szerint érvényesíti a megváltoztathatatlan változók és hivatkozások koncepcióját, és erős statikus gépelést kínál a logikai hibák minimalizálása érdekében.