Rust na Linuxu: napredak, izazovi i trenutni status

Rust drajveri na Linuxu

Pošto je uključen Linus Torvalds Rust u Linux kernelu verzije 6.1, jezik je postupno uzimao maha i sve više programera se pridružuje ovom pokretu.

Međutim, neki od programera linux kernela Ističu da će napredak sve više značiti više posla i izazova, jer u svojim komentarima impliciraju da može doći do zastoja.

Vrijedi pojasniti da ne spominjemo da je implementacija zašla u ćorsokak, već s obzirom na komentare raznih programera i kao što smo već spomenuli, u sadašnjem stanju se počela javljati potreba za smanjenjem tempa rada, tj. barem nam to sugerira sljedeći članak LWN.net.

I prije nekoliko sedmica sam naišao na ovaj članak koji se bavi trenutnim stanjem upotrebe Rusta u Linuxu i analizira da li je eksperiment s ovim programskim jezikom bio uspješan.

Spominje se da je nekoliko godina, Rđa je bila tema o kojoj se ne prestaje raspravljati na "Kernel Maintainers Summit" i onom održanom 2023. nije bio izuzetak, jer od zvanične implementacije Rust kao drugi programski jezik u Linuxu, Miguel Ojeda, Rust-for-Linux programer, naglasio je rastući interes za upotrebu Rusta za razvoj kernela tokom sesije posvećene ovoj temi.

Miguel Ojeda spominje da je projekat Rust-for-Linux je doživjela značajan zamah u prošloj godini, budući da su se pridružili inženjer sa punim radnim vremenom i student programer i razne kompanije su se pridružile u podršci radu. Pored toga, u toku je rad na integraciji alata Coccinelle sa Rust kodom. Međutim, nije sve ružičasto, budući da je jedan od trenutnih izazova zapošljavanje više recenzenata za kod koji se razvija.

Linux Kernel
Vezani članak:
Linux 6.1 stiže sa Rustom, poboljšanjima performansi, drajverima i još mnogo toga

U člankui napominje da su problemi počeli da se primjećuju u lancu alata, pošto napredak kompajlera Rust zasnovan na GCC-u, poznat kao gccrs, je usporio. S druge strane, GCC generator koda za rustc pokazuje obećavajući napredak i spojen je sa kompajlerom, što će omogućiti da se podrška za Rust proširi na arhitekture koje nisu kompatibilne sa LLVM.

Vezani članak:
U GCC-u su odobrili implementaciju RUST-a (gccrs)

Unutar kernela, napredak je postignut u nekoliko podsistema, takav je slučaj implementacije Rusta android binder koji je pokazao uporedive performanse sa implementacijom C, sa minimalnom količinom nesigurnog koda. Dodatno, radi se na povezivanju sistema datoteka sa ciljem postizanja podrške samo za čitanje u Rustu, sa vizijom implementacije potpuno bezbednog sistema datoteka u Rustu.

Dave Airlie, održavatelj DRM (grafičkog) podsistema, rekao je da će, ako ima svoj put, postojati spojeni Rust DRM drajver u narednim izdanjima. Christoph Hellwig je odgovorio da je Airlie bila spremna da "svijim životima napravi pakao" kako bi se mogla igrati sa svojom omiljenom igračkom. Hellwig je rekao da bi spajanje Rusta natjeralo druge da se bave drugim jezikom, novim lancima alata i "omotačima sa čudnom semantikom". Dan Williams je rekao da je trenutna situacija "kako izgleda uspjeh" i da je kernel zajednica već bila posvećena Rustu.

Iako među onima koji održavaju raste interesovanje za usvajanje Rusta, nastaju izazovi, pošto se o tome raspravlja moraju imati referentne drajvere kernela napisane u Rustu da pokaže kako se kontroleri mogu napisati na ovom jeziku. Međutim, dupliciranje funkcionalnosti između drajvera u Rustu i C-u je izazvalo nepovjerenje među održavateljima.

Diskusija o uključivanju Rusta krenula je u različitim smjerovima, Pa, neki održavaoci zagovaraju spajanje samostalnih Rust drajvera, kao što je drajver za vezivanje, kako bi demonstrirali njihovu održivost, dok s druge strane novčića drugi Oni izražavaju zabrinutost zbog složenosti održavanja kernela sa dva programska jezika.

Airlie je dalje rekao da je veći dio Rustovog rada trenutno zaključan u malom problemu s kokoškom i jajima. Apstrakcije se ne mogu spojiti dok za njih ne postoji korisnik, ali kod koji treba te apstrakcije je blokiran čekajući da kod stigne do više podsistema. Kao rezultat toga, programeri koji rade na Rustu nose velike količine zakrpa koje su im potrebne da bi njihov kod funkcionirao. Probijanje te prepreke će zahtijevati dopuštanje unosa nekih apstrakcija bez neposrednih korisnika.

Uprkos izazovima, kernel zajednica prepoznaje Rust-ov potencijal da poboljša sigurnost i stabilnost koda. Postoji mogućnost spajanja više korišćenih drajvera u Rust u budućnosti, kada se reše problemi zakrpivosti i održavanja.

Ojeda se složio da je ovo pitanje usporilo napredak, ali je rekao da je pokušao ne vršiti pritisak na održavaoce da brzo spoje kod. U slučaju umrežavanja, ironično, Rust programeri su morali zamoliti ljude na mreži da uspore spajanje Rust koda.

Na kraju, vrijedno je spomenuti da put ka širokom usvajanju Rusta na Linuxu predstavlja izazove, interes i napredak u ovom prostoru je evidentan. S vremenom se očekuje da će Rust igrati važnu ulogu u poboljšanju Linuxa.

Izvor: https://lwn.net/


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.