Rust, io, pri kio Linuksaj programistoj ŝajnas konsenti

La programlingvo Rust ĉiam celis anstataŭigi C en Linukso-kerna disvolviĝo Kaj estas, ke kiam Rust maturiĝis, pluraj programistoj esprimis kreskantan intereson pri ĝia uzo en la Linukso-kerno.

En la Virtuala Konferenco de Linukso-Plumbistoj 2020, la mikrokonferenca fluo de LLVM organizis kunsidon pri malfermaj demandoj kaj baroj por kontraŭflua akcepto de Rust en la Linukso-kerno.

Intereso pri ĉi tiu temo estas videbla, ĉar ĉi tiu kunsido estis la plej okupata de la 2020-evento.

Do ĉu ni nun reskribu la tutan Linuksan kernon per la Rust-lingvo? Ĉi tiu diskuto ne datiĝas de hodiaŭ kaj akcentiĝis ekde la apero de la unua stabila versio de Rust en 2015.

Konsiderante la eblojn, kiujn ĝi ofertas Rust, iuj proponas fari ĝin. Ĉi-jare, ĉe la konferenco pri Linukso-Plumbistoj en aŭgusto, la prelegantoj havis tempon denove diskuti pri ĝi.

Kaj la surprizo estas tio ili ŝajnas konsenti unuanime ne ne reskribi la ekzistantan kodon en Rust, sed por ke kerna disvolviĝo daŭre uzu Rust. Tio estas, ili antaŭvidas mondon, en kiu novaj kodpecoj povus esti skribitaj en Rust.

Ĉi tiu kunsido fondiĝis sur la antaŭa laboro de multaj programistoj, inkluzive de parolado farita pasintjare de Alex Gaynor kaj Geoffrey Thomas ĉe la Linuksa Sekureca Pintkunveno.

En la konferenco, ili prezentis sian laboron pri prototipado de Rust-kernaj moduloj kaj pledis por la adopto de Rust en la kerno.

Ili citis laboron montrante, ke proksimume du trionoj de CVE-asignitaj kernaj vundeblecoj en Android kaj Ubuntu rilatas al memoraj sekurecaj problemoj.

Ili finis klarigante tion Rusto povas tute eviti tian eraron danke al pli sekuraj APIoj ebligita de via sistema tipo kaj via pruntkontrolilo.

Ĉi tiu studo jam sukcesis konvinki plurajn prizorgantojn Linus Torvalds, kiu subtenis la enkondukon de Rust en la kernon. Thomas kaj Gaynor, Josh Triplett, kunprezidanto de la lingva teamo Rust kaj multjara Linux-kerna programisto, same kiel aliaj interesataj programistoj partoprenis la diskuton pri la temo.

Ili koncize koncernis lian ĝisnunan laboron kaj iujn liajn unuajn pensojn kaj demandojn antaŭ ol malfermi plej ofte por diskuto.

Ĉi tiuj estas la uzo de ekzistantaj APIoj en la kerno, arkitektura subteno, kaj demando pri ABI-kongruo inter Rust kaj C.

Fakte ili komence kredas tion enkonduki Ruston en la arbostrukturon devas respekti la ekzistantajn C-APIojn. 

Tamen ĉiuj sentas, ke la diablo estas en la detaloj, kaj kaj la laboro ĝis nun farita kaj la konversacio dum la kunsido malkaŝis iujn malfermajn defiojn.

Ekzemple, Linukso multe uzas antaŭprocesorajn makroojn kaj enliniajn funkciojn, kiuj ne estas tiel facile subtenataj de la bindgen-ilo kaj la ekstera funkcio de Rust.

Laŭ ili, nuntempe la sola matura efektivigo de Rust estas la kompililo rustc, kiu eldonas kodon per LLVM.

La Linukso-kerno subtenas ampleksan varion de arkitekturoj, multaj el kiuj ne havas LLVM-backend haveblan.

Liaflanke, Triplett sugestis, ke aldoni Ruston al la kerno helpos pliigi arkitekturan subtenon por Rust, citante sian sperton kun la Debiana projekto. Li menciis, ke la enkonduko de Rust-programaro en Debian helpis instigi entuziasmulojn kaj uzantojn de niĉaj arkitekturoj plibonigi Rust-subtenon, kaj li esperas aldoni kernan subtenon por havi similan efikon.

Aparte, li estis konvinkita, ke iu ajn arkitekturo kun LLVM-backend rapide kongruos kun Rust. La diskuto ankaŭ temigis alternativajn Rust-efektivigojn kiel vojo al pli larĝa arkitektura subteno.

La kunsido finiĝis kun neniuj pliaj specifaj mejloŝtonoj, sed ŝajnas esti ĝenerala entuziasmo por subteni Rust Mods kaj kreskigi interkonsenton pri la ĝeneralaj postuloj por ĉi tiu subteno.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Komento, lasu la vian

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   aŭtomata piloto diris

    Ŝajnas la komenco de nova epoko, la nemovebla C aperas.

    Saluton Rust, Ĝis Linus Torvalds!