tRust me: egyre több Rust-kiegészítés érkezik a Linux 6.17 kernelbe

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Linux kernel fejlődése újabb mérföldkőhöz érkezett: a 6.17-es verzióban jelentős mennyiségű Rust nyelvi bővítés jelenik meg. Az újítások célja, hogy a Rust a C mellett elsőrendű nyelvvé váljon az illesztőprogram-fejlesztésben. A Rust programozási nyelv (biztonságos memóriakezelésével és modern szemléletével) már korábban is megjelent a Linux kernel egyes részeiben, de a 6.17-es verzió fejlesztési ciklusa alatt újabb nagy lépést teszünk a Rust-alapú kernelmodulok világában.

A fő Rust-változtatásokat Miguel Ojeda – a Rust-for-Linux projekt vezetője – küldte be. A változások között találjuk:

  • Új Clippy lint-szabályok engedélyezését, amelyek segítik a jobb minőségű Rust-kód írását.
  • Több Rust crate (csomag) bővítése, köztük a kernel és pin-init modulok új funkciókkal gazdagodtak.
  • A MAINTAINERS fájl frissítését, amelyben új Rust-kódfelelősök is megjelennek.

Új képességek a kernel crate-ben

A kernel crate egy központi Rust-csomag, amely a Linux kernel Rust-alapú elemeit tartalmazza. A 6.17-es verzióban az alábbi újdonságok kerülnek be:

  • Új bug modul, benne a warn_on! makróval, amely hasonlóan működik, mint a C-s WARN_ON().
  • Támogatás a bit és genmask függvényekhez a bits modulban.
  • További fejlesztések a workqueue modulhoz, például késleltetett munkák kezelése.
  • A pin-init crate is bővült, amely a „pinned” inicializálást segíti elő biztonságosan.

Illesztőprogram-oldali fejlesztések: új Rust-abstrakciók

A héten beküldött driver core változtatások szintén számos Rust-újdonságot tartalmaznak:

  • Új eszköz-kontextus: CoreInternal.
  • Támogatás ACPI eszközazonosítókhoz és driver match táblákhoz, immár Rust-ból is.
  • Új DMA-képességek, amelyek lehetővé teszik a közvetlen memóriaelérést Rust-kódon keresztül.
  • Frissített I/O-abstrakciók és különféle wrapper-ek.

A NOVA projekt és a jövő

A DRM (Direct Rendering Manager) alrendszerben is zajlik a Rust-alapú fejlesztés, különösen a NOVA, egy nyílt forráskódú NVIDIA driver kapcsán, amely szintén Rust nyelven készül. Jelenleg a 6.17-es verzió kéthetes „merge window” időszakának felénél tartunk, így további újdonságok is várhatók a végleges verzió előtt.

Népszerűsége és jövője

A Rust jelenleg a globális programozási nyelvek piacának nagyjából 3%-át teszi ki, ami elsőre talán nem tűnik kiemelkedőnek, de figyelembe véve, hogy főként rendszerszintű fejlesztésre használják, ez igen jelentős arány. A Stack Overflow felmérései szerint évek óta a „legkedveltebb nyelv” a fejlesztők körében, ami önmagában is figyelemreméltó.

A nyelv kiemelt szerepet játszik webböngészők, játékmotorok, operációs rendszerek, IoT eszközök és blokklánc-technológiák fejlesztésében is.