A Rust for Linux számos támogatást tartalmaz

Az elmúlt hónapokban A Linux-fejlesztők vitatkoztak a lehetősége lehetővé teszi a Rust nyelv használatát hogy új eszközillesztőket írjunk a kernelhez.

Tavaly a Linux kernel fejlesztői úgy tűnik, megegyezésre jutottak az ügyben, A Rust támogatói olyan munkákra hivatkoztak, amelyek azt mutatják, hogy az Android és az Ubuntu CVE-jéhez rendelt kernel-sebezhetőségek nagyjából kétharmada memóriabiztonsági problémákkal kapcsolatos.

Ezt a nyilatkozatot követően Linus Torvalds szoftvermérnök, vezető alkotó és a Linux kernel fejlesztője egy interjúban azt mondta, hogy a témával kapcsolatos viták sokkal fontosabbak lennének, mint egy hosszú Google-bejegyzés a nyelvről.

Amikor a Rust használatára vonatkozó javaslatról kérdezték, azt mondta: "A megoldás itt egyszerű: csak használja a C ++-t a Rust helyett."

Azután márciusban indult az első támogatáse, amely lehetővé tette a Rust illesztőprogramok elhelyezését a Linux-Next fában további tesztelés céljából, mielőtt azok végül belekerülnének a fő kernelbe.

Közvetlenül mögötte volt a kernel levelezőlistáján újra kiadott "kommentárkérés" a Linux kernel Rust-kód perspektívájáról.

Miguel OjedaA Linux kernel fejlesztője elindított egy Request for Comments (RFC) javaslatot a Linux kernel levelezőlistáján.

A levelezőlista-bejegyzés felvázolta a Rust kód kernelhez való hozzáadásával foglalkozó fejlesztők meggyőződését, az olyan előnyöket, mint a jobb memóriabiztonság stb.

„Néhányan észrevették az elmúlt hetekben és hónapokban, hogy komoly kísérlet történik egy második nyelv bevezetésére a rendszermagba. Végre itt vagyunk egy RFC-vel, amely Rust támogatást ad a Linux kernelhez” – mondta Miguel Ojeja. "Tudjuk, hogy egy új nyelv kernelbe való bevezetése óriási költségekkel és kockázatokkal jár" - tette hozzá.

A Rust for Linux Project Team a Rust béta fordítóról átkerült a stabil kiadások használatára, minden új verzió kiadásakor áttelepül.

"Szeretnénk megköszönni Rustnak, hogy velünk dolgozott ezeken a lehetőségeken, hogy a kernel használni tudja őket" - mondta Miguel.

A fordító frissítésekor a csapat sikerült eltávolítani néhány instabil szolgáltatást a listáról: const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic és try_reserve.

Ezen kívül kiemelik, hogy néhány modularizációs lehetőség hozzáadásra került Többet kell lefoglalni néhány szükségtelen funkció letiltásához: no_rc és no_sync.

Az Upstream mag a no_fp_fmt_parse-t is hozzáadta ahhoz, hogy a kernelhasználati esetet jól támogassa, pontosabban a kernelnek szükséges opciók "mixét".

Másrészt a Rust egy sor további diagnosztikát tett lehetővé a Rust and Clippy fordító számára. Az egyik különbség a C-hez képest, hogy a Rust diagnosztikát valamivel könnyebben letiltható kódban, ami általános esetben szigorúbb.

is absztrakciók és illesztőprogram-frissítések valósultak meg. A csapat absztrakciókkal bővítette a streamzárakat, az energiagazdálkodási visszahívásokat, az io memóriát (readX / writeX), az irq chipeket és a magas szintű adatfolyam-kezelőket, a gpio chipeket (beleértve az irq chipeket is), a perifériákat, az amba perifériákat és az illesztőprogramokat.

A támogatás a a vezérlőt buszfüggetlen infrastruktúrával bővítették, Visszavonható objektumok, visszavonható mutexek, hatékony bititerátorok, jobb pánikdiagnosztika és egyszerűsített mutatóburkolók. Ezenkívül javította és egyszerűsítette a Ref objektumokat (kompatibilis a refcount_t-vel), és lecserélte az összes Rust példányt.

A gpio PL061 eszközök új illesztőprogramját pedig RFC javításként szállították ki.

Végül meg kell jegyezni, hogy A rozsdatámasztás még mindig kísérleti jellegű. Azonban, a támogatás elég jó ahhoz, hogy a kernelfejlesztők munkához láthassanak a Rust absztrakciókban írási alrendszerekhez és vezérlőkhöz és egyéb modulokhoz. A mostani sorozat most érkezett meg Linux-nextre, így az első futtatásra ezen a héten kerül sor.

forrás: https://lkml.org/lkml


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: Miguel Ángel Gatón
  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.