A Microsoft bemutatta Néhány nappal ezelőtt már dolgozik a Windows kernel kódjának újraírásán, különösen az ablakok kezeléséért felelős területen, a Rust nyelven.
Amivel a Microsoft csatlakozik a Rust termékeibe való bevezetésének hullámához, és mindenekelőtt a jövőt szem előtt tartva, és mindenekelőtt ideális jelölt a C és C ++ nyelvek elhagyására. És ez a manőver arra emlékeztet, hogy a Linux kernel fejlesztéséhez ugyanazt a nyelvet alkalmazták. Ebben a Rust különbözik több olyan nyelvtől, amelyeket a múltban a C és a C++ helyettesítőjeként jelentettek be.
A Microsoft áthelyezte a Win32k GDI könyvtárat (ablakkezelő) a rozsda nyelvhez. A cég tisztviselőjea bejelentést a BlueHat konferencia legutóbbi kiadásában jelentette be. A cél az volt, hogy a könyvtárban található C++ típusok egy részét Rust megfelelőjükre konvertálják, hogy a memóriaelérések kevésbé szivárogjanak.
Ennek egyik fő oka az, hogy kihasználjuk azokat az előnyöket, amelyeket a Rust jelent a C nyelvhez képest, például a memóriabiztonságot. A gyakorlatban például a Google ma már erősen használja a Rust-ot Androidon.
„Nem az a cél, hogy a meglévő C/C++-t Rust-ra konvertáljuk, hanem az, hogy az új kódfejlesztést idővel memóriabiztos nyelvekre állítsuk át” – mondja a technológiai óriás.
Eredmény:
„Csökkent az Androidba belépő új memória-bizonytalan kód mennyisége, csökkent a memóriabiztonsági sérülékenységek száma is. 2019 és 2022 között az összes Android sebezhetőség 76%-ról 35%-ra esett vissza. 2022 az első olyan év, amikor a memória biztonsági rései nem okozzák az Android sebezhetőségeinek többségét” – teszi hozzá.
Ennek ellenére egyes érdekelt felek úgy vélik, hogy a C nyelv eltávolítására irányuló kezdeményezések kudarcra vannak ítélve, mivel a C3 nyelv megalkotója egy hosszú listát kínál az okokról, amelyek miatt a C nyelv eltávolítására irányuló kezdeményezések kudarcra vannak ítélve.
A Microsoft azon döntése, hogy a Rustot Windows rendszeren használja, a maga részéről a nyelv szoftveriparban betöltött növekvő befolyásának a jele. A Rustot a Stack Overflow felhasználói hat éve a legkedveltebb programozási nyelvnek választották, és tudományos kutatások és innovációk tárgya. A Rust abban is segíthet, hogy a Microsoft felvegye a versenyt a Linuxszal, amely nemrégiben bejelentette, hogy támogatja a Rustot, mint a kernelfejlesztés második magas szintű nyelvét.
„A Rust nyomon követésének és futtatásának szakaszában vagyunk a Windows rendszeren” – mondta Weston a Microsoft BlueHat IL 2023 konferenciáján. „A bolygó egyik legösszetettebb mérnöki termékéről beszélünk. De az a célunk, hogy ezt tegyük a biztonság javítása érdekében... Tehát valószínűleg a következő hetekben vagy hónapokban látni fogja, hogy a Windows rendszermagban Rusttal indul, ami nagyszerű. Az alapvető cél itt az, hogy e belső C++ adattípusok egy részét Rust megfelelőivé alakítsuk.”
Kimutattuk, hogy ennek az átalakításnak az az oka, hogy a A Microsoft mérnökei teljesen meg vannak győződve arról, hogy a Rust kódot sokkal könnyebb írni és megérteni mint a tényleges C++ kód. Biztonságosabb is: azok számára, akik nem ismerik, a Rust egy modern C-szerű programozási nyelv, amelyet a fejlesztők szeretnek, mert biztonságos natív kód létrehozását kényszeríti ki a kezelt nyelvek többletköltsége nélkül.
Weston szerint A Microsoft Rustban már 36 000 kódsort írt át a Windows kernelében, plusz további 152 000 sornyi kódot írt egy DirectWrite Core konceptkönyvtárhoz, és a teljesítmény kiváló, nincs regresszió a korábbi C++ kódhoz képest.
Azt is mondta, hogy:
"Most van egy rendszerhívás a Windows kernelben, Rust nyelven írva." A rendszerhívás vagy syscall az a mód, ahogyan a felhasználói módú alkalmazások kölcsönhatásba lépnek a belső kernelfunkciókkal (a túlzott leegyszerűsítés érdekében).
Végül, ha többet szeretne megtudni róla, tekintse meg a konferencia videóját BlueHat.