Véiert Editioun vu Patches fir de Linux Kernel mat Ënnerstëtzung fir d'Rust Sprooch

De Miguel Ojeda, Autor vum Rust-for-Linux Projet, huet eng véiert Versioun vu Komponenten proposéiert fir Gerät Treiber an der Rust Sprooch ze entwéckelen fir d'Rücksicht vu Linux Kernel Entwéckler. Rust Ënnerstëtzung gëtt als experimentell ugesinn, awer ass scho fir Inklusioun an der Linux-nächst Branche ausgemaach ginn an ass reift genuch fir d'Aarbecht unzefänken fir Abstraktiounsschichten iwwer Kernel Subsystemer ze kreéieren, souwéi Treiber a Moduler ze schreiwen. D'Entwécklung gëtt finanzéiert vu Google an dem ISRG (Internet Security Research Group), deen de Grënner vum Let's Encrypt Projet ass a fördert HTTPS an d'Entwécklung vun Technologien fir d'Internet Sécherheet ze verbesseren.

Erënneren, datt déi proposéiert Ännerungen maachen et méiglech Rust als zweet Sprooch ze benotzen fir Chauffeuren an Kär Moduler Entwécklungslänner. Rust Ënnerstëtzung gëtt als eng Optioun presentéiert déi net als Standard aktivéiert ass an net resultéiert datt Rust als erfuerderlech Build Ofhängegkeet fir de Kernel abegraff ass. Mat Rust fir Chauffeurentwécklung erlaabt Iech méi sécher a besser Chauffeuren mat minimalem Ustrengung ze kreéieren, fräi vu Probleemer wéi Erënnerungszougang no der Befreiung, Null Pointer-Dereferenzen, a Pufferiwwerschëss.

Gedächtnissécher Handhabung gëtt a Rust zur Kompiléierungszäit duerch Referenzkontrolle geliwwert, d'Objetbesëtzung an d'Liewensdauer vum Objekt (Ëmfang) verfollegen, souwéi duerch d'Evaluatioun vun der Richtegkeet vum Erënnerungszougang wärend der Code Ausféierung. Rust bitt och Schutz géint ganz Zuelen Iwwerschwemmungen, erfuerdert obligatoresch Initialiséierung vu variabelen Wäerter virum Gebrauch, handhabt Feeler besser an der Standardbibliothéik, applizéiert d'Konzept vun onverännerleche Referenzen a Variablen als Standard, bitt staark statesch Tippen fir logesch Feeler ze minimiséieren.

Déi nei Versioun vun de Patches eliminéiert weider d'Kommentaren, déi während der Diskussioun vun der éischter, zweeter an drëtter Editioun vun de Patches gemaach goufen. An der neier Versioun:

  • Den Iwwergank fir déi stabil Verëffentlechung vu Rust 1.58.0 als Referenz Compiler ze benotzen ass gemaach ginn. Ënnert den Ännerunge fir de Projet néideg, déi nach net am Haapt Rust Toolkit abegraff sinn, de "-Zsymbol-mangling-version=v0" Fändel (erwaart am Rust 1.59.0) an den "maybe_uninit_extra" Modus (erwaart am Rust 1.60.0) .XNUMX) bemierkt.
  • Automatesch Kontrollen bäigefüügt fir d'Disponibilitéit vu gëeegent Rust Tools an erweidert d'Fäegkeet fir Rust Support am System ze testen.
  • Nei Abstraktioune goufen proposéiert fir Zougang zu Apparatidentifizéierungstabellen ("IdArray" an "IdTable") vum Rust Code.
  • Zousätzlech Schichten fir Zougang zu Timer-Zesummenhang Funktiounen (Auer Kader).
  • Plattform Chauffeuren sinn elo duerch Trait Implementatiounen definéiert.
  • En neie Makro gouf bäigefüügt fir d'Aschreiwung vu Plattformtreiber ze vereinfachen, an eng nei generesch Chaufferschabloun gouf proposéiert.
  • Derbäigesat Makroen fir "dev_*" Strukturen.
  • "{read,write}*_relaxed" Methode fir den IoMem Typ bäigefüügt .
  • Ewechzehuelen der FileOpener Eegeschafte fir Fichier Operatiounen ze vereinfachen.
  • De "ThisModule" Parameter gouf op d'Argumenter bäigefüügt wann Dir e Chauffer registréiert.
  • Eng Standardschabloun fir Kernelmoduler an der Rust Sprooch ze kreéieren gëtt proposéiert.

Source: opennet.ru

Setzt e Commentaire