Megjelent a Linuxon futó Rust illesztőprogram-támogatás javításának negyedik verziója

Miguel Ojeda, a Rust-for-Linux projekt szerzője, Teme nemrégiben ismertette a negyedik javaslatot eszközillesztő összetevők Rozsda a Linux kernel fejlesztői számára, amit fontolóra kell venni.

A rozsdatámogatás kísérleti jellegű, de már megállapodtak benne, hogy bekerül a linux-next ágba, és elég érett ahhoz, hogy elkezdjen dolgozni a kernel alrendszerek tetején lévő absztrakciós rétegeken, valamint meghajtók és modulok írásán. A fejlesztést a Google és az ISRG (Internet Security Research Group) finanszírozza, amely a Let's Encrypt projekt alapítója, és a HTTPS-t és az internet biztonságát növelő technológiák fejlesztését népszerűsíti.

Azok számára, akik még mindig nem ismerik a javasolt változtatásokat, tudniuk kell, hogy lehetővé teszik a Rust mint második nyelv használata vezérlők és modulok fejlesztéséhez a kernel. A Rust támogatása olyan opcióként jelenik meg, amely alapértelmezés szerint nincs engedélyezve, és nem eredményezi, hogy a Rust szerepeljen a kernel szükséges összeépítési függőségei között.

A Rust használata illesztőprogramok fejlesztésére lehetővé teszi jobb és biztonságosabb illesztőprogramok létrehozását minimális erőfeszítéssel, olyan problémák nélkül, 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ória biztonságát a Rust a fordítási időben biztosítja a hivatkozások ellenőrzésével, az objektum tulajdonjogának és az objektum élettartamának (hatókörének) követésével, valamint a memória-elérés helyességének értékelésével a kód végrehajtása során.

A Rust egész számok túlcsordulás elleni védelmét is biztosítja, 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, valamint erős statikus gépelést kínál a logikai hibák minimalizálása érdekében.

Mik a változások a negyedik részletben?

A bemutatott javítások új verziójában megemlítjük, hogy a javítások első, második és harmadik kiadásának tárgyalása során elhangzott megjegyzések továbbra is kikerültek.

Addig frissítjük, amíg nem függünk semmilyen instabil szolgáltatástól;
ekkor érdemes elkezdeni deklarálni a Rust minimális változatát
támogatott, mint például a GCC és a Clang esetében.

Hasonlóképpen áttértünk a Rust nyelv 2021-es kiadására is.

Ami az új verzióban végrehajtott egyéb változtatásokat illeti, a közlemény a következőket említi:

  • Áttérés a stabil Rust 1.58.0 használatára referencia-fordítóként.
  • A projekthez szükséges, a fő Rust eszközkészletben még nem szereplő változtatások közé tartozik a "-Zsymbol-mangling-version=v0" jelző (a Rust 1.59.0-ban várható) és a "maybe_uninit_extra" mód (a Rust 1.60.0-ban várható) .
  • Bekerült a Rust eszközök elérhetőségének és alkalmasságának automatikus ellenőrzése, és kibővült a rendszeren a Rust támogatás tesztelésének lehetősége is.
  • Új absztrakciók javasoltak az eszközazonosító táblák ("IdArray" és "IdTable") eléréséhez a Rust kódból.
  • Hozzáadott rétegek az időzítőhöz (órakerethez) kapcsolódó funkciók hívásához.
  • A platformvezérlőket immár jellemző implementációk határozzák meg.
  • A platform illesztőprogram-regisztrációjának egyszerűsítése érdekében új makrót adtak hozzá, és új, általános illesztőprogram-sablont javasoltak.
  • Új makrók hozzáadva a „dev_*” struktúrákhoz.
  • Új „{read,write}*_relaxed” metódusok hozzáadva az IoMem típushoz .
  • A FileOpener tulajdonság eltávolítása a fájlműveletek egyszerűsítése érdekében.
  • "ThisModule" paraméter hozzáadva a vezérlő regisztrációja során átadott argumentumok számához.
  • A rendszermagmodulok Rust nyelven történő létrehozásához egy tipikus sablon javasolt.

Végül, ha többet szeretne megtudni erről az új verzióról, tájékozódhat a részletekről A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.