Egyszerűbb lesz Rustban fejleszteni drivert a Windowshoz
Új Cargo-alapú eszközt tett közzé a Microsoft a Windows driverek Rust nyelvben való írásához, hogy lendületet adjon a meglehetősen lassú folyamatnak.
A Microsoft már több éve tartó projektként fokozatosan integrálja a Rust programozási nyelvet a Windows kernelbe, amit követ az illesztőprogramok fejlesztési folyamatának ösztönzése is. A Microsoft Surface fejlesztői csapata nemrég blogbejegyzésben jelentette be, hogy újabb eszközökkel szeretné egyszerűbbé tenni a Rustban való fejlesztést. A Microsoft Visual Studio különféle sablonokat kínál a Windows driverek C nyelven történő írásához, ezt a segítséget kapják meg a Rustban fejlesztők is a cargo-wdk cargo kiterjesztéssel. Ezzel lehetővé válik a fejlesztők számára a projektstuktúra automatikus létrehozása, a függőségek és build-lépések előkonfigurálása, ami jelentősen megkönnyíti a dolgukat.
A Rust projektekhez elérhető egy GitHub repository is (windows-drivers-rs), ezekre a crate-ekre építve a fejlesztők ugyanazokat a könyvtárakat használhatják a Windows Driver Kithez (WDK), amit a C fejlesztők. A könyvtárat a későbbiekben további kódokkal tervezi bővíteni a Microsoft, amivel ígérete szerint idővel drámai mértékben sikerülhet csökkenteni az unsafe blokkok számát.
5 erős érv a Kafka alapozó képzésünk mellett Szeptember 15-én, hétfőn ONLINE formátumú, a Kafka alapjaiba bevezető képzést indít a HWSW, ezért most összefoglaltuk röviden, hogy miért érdemes részt venni ezen a tanfolyamon.
Bár a windows-drivers-rs crate-jei jelenleg tartalmazzák a Windows Rust illesztőprogramok programozásához szükséges összes építőelemet, továbbra is jelentős mennyiségű nem biztonságos Rust kódot kell használni a Windows operációs rendszerrel való interakcióhoz. De mindemellett továbbra is adottak olyan előnyök, mint az erős típusellenőrzés, a zero cost absztrakciók és a jó kompatibilitás. A bejegyzés alapján ezen a téren még bőven van mit tenni, hiszen a Rustban írt illesztőprogramokat egyelőre még nem igazán tudják szállítani a fejlesztők a nagyközönség számára, a legtöbb projekt korai szakaszban jár és nem ajánlott az éles környezetben történő használata.
A redmondi cég több éve mutat élénk érdeklődést a Rust iránt, elsősorban a nyelv azon képessége miatt, és hogy még azelőtt kiszúrhatók vele a memóriabiztonsági sérülékenységek és hibák, hogy az egyes frissítések eljutnának a felhasználókhoz. A Windows rendszerhez fűződő, javított CVE-sérülékenységeinek listájának jelentős százalékát pedig ilyen típusú sebezhetőségek teszik ki.
Három éve már a Microsoft Azure műszaki igazgatója, Mark Russinovich is úgy nyilatkozott, hogy az új projekteket már nem a két jól bevált nyelv, a C és a C++ használatával lenne javasolt fejleszteni. A CTO szorgalmazza, hogy az új eszközöket a vállalat már Rustban készítse, de az eddigi hatalmas mennyiségű C/C++-ban írt kódokat még legalább egy évtizedig fogják hasznosítani és fejleszteni.