Byla zveřejněna čtvrtá verze oprav pro podporu ovladačů Rust na Linuxu

Miguel Ojeda, autor projektu Rust-for-Linux, Teme nedávno představil čtvrtý návrh pro komponenty ovladače zařízení Rust pro vývojáře linuxového jádra ke zvážení.

Podpora rzi je považována za experimentální, ale již bylo dohodnuto, že bude zahrnuto do větve linux-next, a je dostatečně vyspělé, aby mohlo začít pracovat na abstraktních vrstvách nad subsystémy jádra a také na psaní ovladačů a modulů. Vývoj financuje Google a ISRG (Internet Security Research Group), která je zakladatelem projektu Let's Encrypt a propaguje HTTPS a vývoj technologií pro zvýšení bezpečnosti internetu.

Ti, kteří o navrhovaných změnách stále nevědí, by měli vědět, že je umožňují použití Rustu jako druhého jazyka pro vývoj ovladačů a modulů jádra. Podpora Rust je prezentována jako možnost, která není ve výchozím nastavení povolena a nemá za následek zařazení Rust mezi požadované závislosti sestavení pro jádro.

Použití Rustu k vývoji ovladačů vám umožní vytvářet lepší a bezpečnější ovladače s minimálním úsilímbez problémů, jako je přístup k oblasti paměti po jejím uvolnění, dereferencování nulových ukazatelů a přetečení vyrovnávací paměti.

Bezpečnost paměti je v Rustu zajištěna v době kompilace kontrolou referencí, sledováním vlastnictví objektu a životnosti objektu (rozsahu) a také vyhodnocováním správnosti přístupu do paměti během provádění kódu.

Rust také poskytuje ochranu proti přetečení celého čísla, vyžaduje inicializaci proměnných před použitím, lépe zpracovává chyby ve standardní knihovně, standardně prosazuje koncept neměnných proměnných a odkazů a nabízí silné statické typování pro minimalizaci logických chyb.

Jaké jsou změny ve čtvrtém díle?

V této nové verzi záplat, které jsou prezentovány, je zmíněno, že komentáře učiněné během diskuse o prvním, druhém a třetím vydání záplat byly nadále odstraňovány.

Budeme pokračovat v aktualizaci, dokud nebudeme závislí na žádných nestabilních funkcích;
v tomto okamžiku můžeme chtít začít deklarovat minimální verzi Rustu
je podporováno, jako je tomu například u GCC a Clang.

Podobně jsme také migrovali na verzi jazyka Rust z roku 2021.

Pokud jde o další změny, které byly provedeny v této nové verzi, oznámení zmiňuje následující:

  • Přechod na použití stabilního Rust 1.58.0 jako referenčního kompilátoru.
  • Změny požadované pro projekt, které ještě nejsou zahrnuty v hlavní sadě nástrojů Rust, zahrnují příznak "-Zsymbol-mangling-version=v0" (očekává se v Rust 1.59.0) a režim "možná_uninit_extra" (očekává se v Rust 1.60.0) .
  • Přibyly automatické kontroly dostupnosti nástrojů Rust a jejich vhodnosti a rozšířena byla i možnost testovat podporu Rust v systému.
  • Jsou navrženy nové abstrakce, aby bylo možné přistupovat k tabulkám identifikátorů zařízení ("IdArray" a "IdTable") z kódu Rust.
  • Přidány vrstvy pro volání funkcí, které souvisejí s časovačem (hodinovým rámcem).
  • Řadiče platformy jsou nyní definovány prostřednictvím implementací vlastností.
  • Bylo přidáno nové makro za účelem zjednodušení registrace ovladače platformy a byla navržena nová generická šablona ovladače.
  • Přidána nová makra pro struktury "dev_*".
  • Přidány nové metody „{read,write}*_relaxed“ pro typ IoMem .
  • Odebrána vlastnost FileOpener pro zjednodušení operací se soubory.
  • Přidán parametr "ThisModule" k počtu argumentů předávaných během registrace řadiče.
  • Je navržena typická šablona pro vytváření modulů jádra v jazyce Rust.

A konečně, pokud máte zájem dozvědět se více o této nové verzi, můžete se podívat na podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.