Druhá verze oprav pro podporu ovladače Rust v systému Linux byla dodána

V březnu tohoto roku na linux-next pobočce ve které v té době pracoval pro linuxové jádro 5.13, byla zahrnuta počáteční sada komponent pro vývoj ovladačů zařízení v systému Windows jazyk Rust a nyní byla podána žádost o zařazení druhého vydání oprav pro přidání podpory Rust do linuxového jádra.

Osoba, která zaslala žádost vývojářům Linuxu, je Miguel Ojeda, autor projektu Rust-for-Linux a o kterém jsme také mluvili před několika dny, protože byl najat, aby převzal odpovědnost za projekt „Prossimo“, který v zásadě se zaměřuje na koordinaci úsilí o přesun kritické softwarové infrastruktury do zabezpečeného kódu pro zabezpečení paměti linuxového jádra pomocí Rustu (pokud se chcete o projektu dozvědět více, můžete se poradit zveřejněním na níže uvedeném odkazu.)

Rust ovladače pro linux
Související článek:
Prossimo, projekt ISRG k zabezpečení paměti linuxového jádra pomocí Rust

Žádost zaslaná Miguelem Ojedou je druhou aktualizovanou verzí komponent pro vývoj ovladačů zařízení v jazyce Rust a ve kterých jsou odstraněny komentáře učiněné během diskuse o první verzi oprav a ke kterým se již připojil Linus Torvalds k diskusi a navrhl změnu logiky zpracování některých bitových operací.

Uvnitř výhod které jsou zmíněny bezpečná správa paměti je v Rustu zaručena v době kompilace kontrolou odkazů, sledováním vlastnictví a životnosti objektu a také hodnocením správnosti přístupu do paměti za běhu.

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

Ze změn, které vynikají u této nové verze oprav je uvedeno:

  • Kód přidělení paměti zabraňuje možnosti generování panického stavu, když dojde k chybám, jako je nedostatek paměti.
  • Je zahrnuto varianta knihovny Rust alloc, ve které byl kód přepracován tak, aby zpracovával zámky, ale konečným cílem je přinést všechny potřebné funkce jádra do hlavního vydání alloc (změny již byly připraveny a přeneseny do standardní knihovny Rust).
  • Místo nočních verzí lze nyní použít beta a stabilní verze Rustc kompilátor pro kompilaci jádra podporujícího Rust. V současné době se rustc 1.54-beta1 používá jako referenční kompilátor, ale po vydání 1.54 na konci měsíce bude podporován jako referenční kompilátor.
  • Přidána podpora pro psaní testů pomocí standardního atributu Rust „# [test]“ a schopnost používat doctesty k použití ukázkového kódu z dokumentace jako testů.
  • Přidaná podpora pro architektury ARM32 a RISCV kromě dříve podporovaných x86_64 a ARM64.
    Vylepšené implementace GCC Rust (frontend GCC pro Rust) a rustc_codegen_gcc (rustc backend pro GCC), které nyní procházejí všemi měřítky.
  • A nová úroveň abstrakce pro programy Rust používají mechanismy jádra napsané v jazyce C, jako jsou stromy, objekty pro počítání odkazů, vytváření deskriptorů souborů, úkolů, souborů a I / O vektorů.
  • Komponenty pro vývoj ovladačů zlepšily kompatibilitu s modulem „file_operations“, „modul!“ Makro, protokolování maker a základní ovladače (testovat a mazat).
  • Binder má podporu pro předávání deskriptorů souborů a odkazů LSM.
  • Pro hardwarový generátor náhodných čísel pro desky Raspberry Pi je navržen funkčnější příklad ovladače Rust, bcm2835-rng.

Nakonec, pokud máte zájem o tom vědět více, můžete si přečíst 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.