Programmierung: Rust im Linux-Kernel bekommt Async und Netzwerk-Code

Mit den aktuellen Rust-Patches für den Linux-Kernel bekommt das Projekt ein neues Programmiermodell, das es mit C so nicht gibt.

Artikel veröffentlicht am ,
Rust im Linux-Kernel macht zahlreiche Fortschritte.
Rust im Linux-Kernel macht zahlreiche Fortschritte. (Bild: NICOLAS GARCIA/AFP via Getty Images)

Der Betreuer des Projekts, Rust im Linux-Kernel zu etablieren, Miguel Ojeda, hat seine Patch-Serie aktualisiert und dabei erstmals Unterstützung für Netzwerk-Code umgesetzt sowie erste Arbeiten am Async-Support vorgenommen. Beides zusammen könnte ein grundlegend neues Programmiermodell im Linux-Kernel etablieren, sofern die Rust-Patches irgendwann im stabilen Hauptzweig landen.

Stellenmarkt
  1. Senior Transition Projektleiter (w/m/d)
    Bechtle Onsite Services GmbH, Neckarsulm
  2. Fachinformatiker*in / Informatiker*in - Web-Content-Management-System
    Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., München
Detailsuche

Für die Netzwerkunterstützung sind vor allem einige sehr wichtige und grundlegende Datentypen hinzugekommen. Dazu zählen etwa Typen für IPv4- und IPv6-Adressen sowie Socket-Adressen für IPv4 und IPv6, ein Buffer für Sockets, Namensräume sowie mit TcpListener und TcpStream ein prinzipieller Ersatz für die klassischen Netzwerk-Sockets.

Darüber hinaus ist das Async-Modul von Rust auf den Linux-Kernel adaptiert worden. Damit könnte das Projekt erstmals eine in die Sprache eingebaute Möglichkeit zur asynchronen Programmierung erhalten. Das ist mit C so bisher nicht möglich. Umsetzen lassen soll sich so etwa asynchroner TCP-Socket-Code, was Ojeda auch direkt mit einem Code-Beispiel in Rust illustriert und dieses erklärt. Dazu heißt es, dass der Code sehr ähnlich zu seiner synchronen Variante sei, der sogenannte Executor aber noch fehle.

Neu zum Rust-Code hinzugekommen sind außerdem Paketfilter, einige Locking-Mechanismen, eine einfache Mutex-Variante, die weniger Funktionen als das vorhandene C-Pendant bietet, sowie ein neuer Datentyp zu Referenzzählung, der das Definieren von Wrapper für den C-Code erleichtern soll. Möglich ist mit dem Rust-Code nun auch, Dokumentationstests auszuführen. Durch Umbauarbeiten am Code lassen sich so auch Kernel-APIs testen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Raspberry Pi
Besser gießen mit Raspi und Xiaomi-Pflanzensensor

Wer keinen grünen Daumen hat, kann sich von Sensoren helfen lassen. Komfortabel sind sie aber erst, wenn die Daten automatisch ausgelesen werden.
Eine Anleitung von Thomas Hahn

Raspberry Pi: Besser gießen mit Raspi und Xiaomi-Pflanzensensor
Artikel
  1. Heimkino und Hi-Fi: Onkyo meldet Konkurs an
    Heimkino und Hi-Fi
    Onkyo meldet Konkurs an

    Onkyo hat beim Bezirksgericht Osaka Konkurs angemeldet. Ob das überschuldete Unternehmen gerettet werden kann, ist ungewiss.

  2. Framedeck: Bastler verwandelt Framework Laptop in Retro-Terminal-PC
    Framedeck
    Bastler verwandelt Framework Laptop in Retro-Terminal-PC

    Mainboard und der Akku des Framework Laptop bilden die Grundlage des Framedeck, das seinerseits von einem PC der 80er inspiriert wurde.

  3. Bundesländer: Umweltminister einig über Autobahn-Tempolimit
    Bundesländer
    Umweltminister einig über Autobahn-Tempolimit

    Die Landesumweltminister der Bundesländer haben sich einstimmig für ein Tempolimit auf Autobahnen ausgesprochen. Was fehlt, ist dessen Höhe.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week: Bis zu 46% Rabatt auf Mäuse & Tastaturen • Grafikkarten günstig wie nie (u. a. RTX 3080 Ti 12GB 1.285€) • Samsung SSD 1TB (PS5-komp.) günstig wie nie: 143,99€ • Microsoft Surface günstig wie nie • Jubiläumsangebote bei MediaMarkt • Bosch Prof. bis zu 53% günstiger [Werbung]
    •  /