A Rust illesztőprogram-támogatás javításainak második verziója Linuxon már leszállítva

Ez év márciusában a linux-next ágon amelyben abban az időben a Linux kernel 5.13-nál dolgozott, A kezdeti alkatrészkészletet az illesztőprogramok kifejlesztésére használták fel a nyelv Rust és most azt a kérést tették, hogy tartalmazzon egy második kiadást javítások hozzáadása a Rust támogatáshoz a Linux kernelhez.

Az a személy, aki elküldte a kérést a Linux fejlesztőknek, Miguel Ojeda, a Rust-for-Linux projekt szerzője, akiről néhány nappal ezelőtt beszéltünk is, mivel őt vették fel a "Prossimo" projekt irányítására, amely alapvetően a kritikus szoftverinfrastruktúra biztonságos kódba helyezésére irányuló erőfeszítések összehangolására összpontosít, hogy a Linux kernel memóriáját a Rust segítségével biztonságossá tegye (ha többet szeretne tudni a projektről, konzultálhat közzététel az alábbi linken.)

Rust illesztőprogramok Linuxon
Kapcsolódó cikk:
Prossimo, egy ISRG projekt, amely a Linux kernelmemóriáját a Rust segítségével biztosítja

A Miguel Ojeda által küldött kérelem egy második frissített változat az eszközillesztők Rust nyelvű fejlesztésére szolgáló komponensek közül, amelyekben a javítások első verziójának megvitatása során tett megjegyzéseket törlik, és amelyekhez Linus Torvalds már csatlakozott a vitához, és javasolta a logika megváltoztatását néhány bites művelet feldolgozásához.

Az előnyök belsejében amelyeket megemlítenek a Rust-ban garantált a biztonságos memóriakezelés fordítási időben a referenciák ellenőrzésével, az objektum tulajdonjogának és az objektum élettartamának nyomon követésével, valamint a memória hozzáférésének helyességének értékelésével a futás közben.

Rust is nyújt egész szám túlcsordulás elleni védelem, használat előtt megköveteli a változóértékek kötelező inicializálását, jobban kezeli a szabványos könyvtár hibáit, alapértelmezésben átveszi a referenciák és a változhatatlan változók fogalmát, és erős statikus írást kínál a logikai hibák minimalizálása érdekében.

A kiemelkedő változások közül a javítások új verziójának megemlítése:

  • A memória-allokációs kód megakadályozza a pánik kialakulását, ha olyan hibák fordulnak elő, mint a memória kifogyása.
  • Tartalmazza a Rust allokkönyvtár egy változata, amelyben a kódot átdolgozták a zárak kezelésére, de a végső cél az, hogy a kernel minden szükséges tulajdonságát eljuttassa az allokáció fő kiadásába (a változtatásokat már előkészítették és átvitték a szokásos Rust könyvtárba).
  • Az éjszakai összeállítások helyett most már béta és stabil verziók is használhatók rustc fordító Rust-kompatibilis kernel fordításához. Jelenleg a rustc 1.54-beta1 használható referencia fordítóként, de a hónap végi 1.54 kiadás után referencia fordítóként támogatják.
  • Támogatás a tesztek írásához a "# [test]" szabványos Rust attribútummal, valamint a doctests használatának képessége a dokumentáció mintakódjának tesztként való felhasználásához.
  • Az ARM32 és RISCV architektúrák támogatása hozzáadódott a korábban támogatott x86_64 és ARM64 mellett.
    Továbbfejlesztett GCC implementációk: Rust (a RC GCC kezelőfelülete) és rustc_codegen_gcc (a GCC rustc backendje), amelyek most már teljesítik az összes referenciaértéket.
  • A az absztrakció új szintje a Rust programok számára a C-ben írt kernelmechanizmusok, például fák, referenciaszámláló objektumok, fájlleírók, feladatok, fájlok és I / O vektorok létrehozása.
  • Az illesztőprogram-fejlesztő komponensek tovább támogatták a "file_operations" modult, a "module!" Makrót, a makró naplózást és az alapvető meghajtókat (szondázás és törlés).
  • A Binder támogatja a fájlleírók és az LSM linkek továbbítását.
  • A Rustberry meghajtó funkcionálisabb példája, a bcm2835-rng, a Raspberry Pi táblák hardveres véletlenszám-generátorához javasolt.

Végül, ha érdekel, hogy többet tudjon meg róla, olvassa el a részleteket 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.