Megjelent a Linuxon futó Rust illesztőprogram-támogatáshoz szükséges javítások ötödik verziója

nemrég Miguel Ojeda, a Rust-for-Linux projekt szerzője közzétette az ötödik javaslatot A fejlesztői összetevők számára választott Linux-kernel-fejlesztők Rozsda eszköz illesztőprogramok hogy mérlegeljék.

Aki még nem ismeri ezt a több hónapja megjelent javaslatsorozatot, annak tudnia kell, hogy az ötlet mögött az áll, hogy jelenleg kísérleti jellegűnek számít a Rust támogatás, de már benne van a linux-next ágban, és elég érett ahhoz, hogy elkezdjen dolgozni az absztrakciós rétegek létrehozásán a kernel alrendszereiről, valamint az illesztőprogramok és modulok írásáról.

Jelenleg Miguel Ojeda fejlesztési bizottságát a Google és az ISRG finanszírozza (Internet Security Research Group), 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.

Fontos megemlíteni, hogy a javasolt változtatások lehetővé teszik a Rust második nyelvként való használatát illesztőprogramok és kernelmodulok fejlesztéséhez. 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álatával az illesztőprogramok fejlesztésére jobb és biztonságosabb illesztőprogramokat készíthet 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ó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.

Az ötödik javaslat főbb újdonságai

A javítások új verziójában folytatta a hozzászólások törlését az első, második, harmadik és negyedik kiadású patch tárgyalása során készült.

Az elvégzett változtatások, fejlesztések részében azt tapasztalhatjuk, hogy a komponens érvényesítése a kompatibilitás érdekében A folyamatos integrációs rendszerbe bekerült a Rust Az Intel kompatibilis 0DAY/LKP bot alapján, és megkezdődött a tesztjelentések közzététele.

Ezen kívül kiemelik, hogy ben készül a Rust támogatás integrációja automatizált tesztrendszer KernelCI, plusz a GitHub CI alapú teszteket konténerek használatára váltották.

Azt is kiemelik hozzáadta a további paraméterek meghatározásának lehetőségét eszközök regisztrálásakor, valamint az is_rust_module.sh szkriptet újratervezték és a statikus szinkronizálási primitívek (globális megosztott változók) támogatása a „CONFIG_CONSTRUCTORS” megvalósításon alapul.

A egyéb kiemelkedő változások ebben az új vezérlőjavaslatban:

  • A Rust Core modulokat megkíméli a következő attribútumok meghatározása: "#![no_std]" és "#![feature(...)]".
  • Hozzáadott támogatás az egyszeri összeállítású célokhoz (.o, .s, .ll és .i).
  • A kódra vonatkozó irányelvek mostantól szabályokat határoznak meg a megjegyzések ("//") és a kód dokumentálása ("///") elválasztására.
  • Egyszerűsített zárkezelés: A Guard és a GuardMut egyetlen paraméterezett típusba egyesítve.
  • Hozzáadtuk az "RwSemaphore" absztrakciót, amely burkolóként működik a C rw_semaphore struktúra felett.
  • Az mmap használatához egy új mm-modul és egy VMA-absztrakció (a vm_area_struct szerkezethez kötve) került hozzáadásra.
  • A PL061 GPIO vezérlő a „dev_*!” makróra módosult.
  • Általános kódtisztítás.

Végül ha érdekel, hogy többet tudjon meg róla az új javaslattal kapcsolatban 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.