Rust, nekaj, s čimer se razvijalci Linuxa strinjajo

Programski jezik Rust si je vedno prizadeval nadomestiti C pri razvoju jedra Linuxa In ko Rust dozori, je več razvijalcev izrazilo vse večje zanimanje za njegovo uporabo v jedru Linuxa.

V virtualni konferenci Linux Plumbers 2020, tok mikrokonference avtor LLVM organizirala sejo o odprtih vprašanjih in ovire za sprejem Rusta v jedru Linuxa.

Zanimanje za to temo je vidno, saj je bila ta seja najbolj obremenjena na dogodku 2020.

Torej, ali bi morali zdaj celotno jedro Linuxa prepisati z jezikom Rust? Ta razprava ne izhaja danes in je bila poudarjena od pojava prve stabilne različice Rusta leta 2015.

Glede na možnosti, ki jih ponuja Rust, nekateri predlagajo, da to storite. Letos na konferenci Linux Plumbers avgusta, govorniki so imeli spet čas za razpravo.

In presenetljivo je to zdi se, da se strinjajo soglasno št ne da bi prepisovali obstoječo kodo v Rustu, ampak da bi razvoj jedra še naprej uporabljal Rust. Oziroma si predstavljajo svet, v katerem bi lahko v Rustu pisali nove koščke.

Ta seja je temeljila na prejšnjem delu mnogih razvijalcev, vključno z lanskim predavanjem Alexa Gaynorja in Geoffreyja Thomasa na Linux Security Summit.

Na konferenci so predstavili svoje delo pri izdelavi prototipov modulov jedra Rust in se zavzeli za prevzem Rusta v jedru.

Navedli so delo, ki kaže, da sta približno dve tretjini ranljivosti jedra, dodeljene s CVE v sistemih Android in Ubuntu, povezani z varnostnimi težavami.

Na koncu so to pojasnili Rust se lahko popolnoma izogne ​​tovrstnim napakam zaradi bolj varnih API-jev omogočila vrsta sistema in preveritelj posojila.

Ta študija je uspela prepričati že nekaj vzdrževalcev Linus Torvalds, ki je podpiral uvajanje Rusta v jedro. Thomas in Gaynor, Josh Triplett, sopredsednik jezikovne skupine Rust in dolgoletni razvijalec jedra Linux, pa tudi drugi zainteresirani razvijalci so sodelovali v razpravi na to temo.

Na kratko sta se dotaknila njegovega dosedanjega dela in nekaterih njegovih prvih misli ter vprašanj, preden sta večino časa odprla za razpravo.

To so uporaba obstoječih API-jev v jedru, podpora arhitekturi in vprašanje o združljivosti ABI med Rustom in C.

Pravzaprav to sprva verjamejo uvajanje Rusta v drevesno strukturo mora spoštovati obstoječe API-je C. 

Vendar vsi čutijo, da je hudič v podrobnostih, tako dosedanje delo kot pogovor med sejo pa so razkrili nekaj odprtih izzivov.

Linux na primer pogosto uporablja predprocesorske makre in vgrajene funkcije, ki jih orodje za povezovanje in zunanji vmesnik Rust ne podpirata tako enostavno.

Po njihovem mnenju trenutno edina zrela izvedba Rusta je prevajalnik rustc, ki izda kodo prek LLVM.

Jedro Linuxa podpira široko paleto arhitektur, od katerih mnoge nimajo na voljo zaledja LLVM.

Triplett je predlagal, da bi dodajanje Rusta jedru pripomoglo k večji arhitekturni podpori Rusta, in se skliceval na svoje izkušnje s projektom Debian. Omenil je, da je uvedba programske opreme Rust v Debianu pomagala motivirati navdušence in uporabnike nišnih arhitektur, da izboljšajo podporo Rustu, in upa, da bo za podoben učinek dodal podporo za jedro.

Zlasti je bil prepričan, da bo vsaka arhitektura z zaledjem LLVM hitro združljiva z Rustom. Razprava se je osredotočila tudi na alternativne izvedbe Rusta kot pot do širše arhitekturne podpore.

Zasedanje se je končalo brez nadaljnjih konkretnih mejnikov, vendar se zdi, da je splošno navdušeno podpirati Rust Mods in naraščajoče strinjanje glede splošnih zahtev za to podporo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Avtopilot je dejal

    Zdi se, da je začetek nove dobe, prihaja nepremični C.

    Pozdravljeni Rust, adijo Linus Torvalds!