Ruoste Linuxissa: edistysaskeleet, haasteet ja nykytila

Rust ajurit Linuxissa

Koska Linus Torvalds mukaan lukien Ruoste Linux-ytimen versiossa 6.1, kieli on vähitellen vahvistunut ja yhä useammat kehittäjät liittyvät tähän liikkeeseen.

Kuitenkin, jotkut kehittäjät linux-ytimestä He korostavat, että edistyminen merkitsee yhä enemmän työtä ja haasteita, koska kommenteissaan he antavat ymmärtää, että umpikuja voi syntyä.

On syytä selventää, että emme mainitse toteutuksen joutumisesta umpikujaan, vaan eri kehittäjien kommentit huomioiden ja kuten jo mainitsimme, nykytilanteessa on alkanut ilmetä tarve hidastaa työn vauhtia, tai näin ainakin seuraava artikkeli ehdottaa meille LWN.net.

Ja useita viikkoja sitten törmäsin tähän artikkeliin, joka käsittelee Rustin käytön nykytilaa Linuxissa ja analysoi, onko kokeilu tällä ohjelmointikielellä onnistunut.

Mainitaan, että muutaman vuoden ajan Ruoste on ollut aihe, josta keskustelua ei ole lakannut "Kernel Maintainers Summit" -kokouksessa ja vuonna 2023 pidetty kokous ei ollut poikkeus, koska sen virallisen täytäntöönpanon jälkeen Rust toisena ohjelmointikielenä Linuxissa, Miguel Ojeda, Rust-for-Linux-kehittäjä, korosti kasvavaa kiinnostusta ruosteen käyttöä kohtaan ytimen kehittämiseen tälle aiheelle omistetun istunnon aikana.

Miguel Ojeda mainitsee, että hanke Rust-for-Linux on kokenut merkittävän vauhdin viimeisen vuoden aikana, sillä mukaan on liittynyt päätoiminen insinööri ja opiskelijakehittäjä ja eri yritykset ovat liittyneet tukemaan työtä. Lisäksi työskennellään Coccinelle-työkalun integroimiseksi Rust-koodiin. Kaikki ei kuitenkaan ole ruusuista, sillä yksi tämän hetken haasteista on rekrytoida lisää arvioijia kehitteillä olevaan koodiin.

Linux-ydin
Aiheeseen liittyvä artikkeli:
Linux 6.1 saapuu ruosteella, suorituskyvyn parannuksilla, ohjaimilla ja paljon muuta

Artikkelissaja mainitsee, että ongelmat ovat alkaneet olla havaittavissa työkaluketjussa, alkaen kääntäjän edistyminen GCC-pohjainen Rust, joka tunnetaan nimellä gccrs, on hidastunut. Toisaalta rustc:n GCC-koodigeneraattori edistyy lupaavasti ja se on yhdistetty kääntäjään, mikä mahdollistaa Rust-tuen laajentamisen arkkitehtuureihin, jotka eivät ole yhteensopivia LLVM:n kanssa.

Aiheeseen liittyvä artikkeli:
GCC:ssä he hyväksyivät RUST:n (gccrs) käyttöönoton.

Ytimen sisällä, edistystä tapahtuu useissa osajärjestelmissä, tällainen on Rust-toteutuksen tapaus android sideaine joka on osoittanut vertailukelpoista suorituskykyä C-toteutuksen kanssa minimaalisella määrällä vaarallista koodia. Lisäksi työtä tehdään tiedostojärjestelmän linkittämistä varten tavoitteena saavuttaa vain luku -tuki Rustissa ja visio toteuttaa Rustissa täysin suojattu tiedostojärjestelmä.

DRM (grafiikka) -alijärjestelmän ylläpitäjä Dave Airlie sanoi, että jos hän saa tahtonsa, seuraavissa julkaisuissa on yhdistetty Rust DRM -ohjain. Christoph Hellwig vastasi, että Airlie oli valmis "tekemään kaikkien elämästä helvettiä", jotta hän voisi leikkiä suosikkilelullaan. Hellwig sanoi, että Rustin yhdistäminen pakottaisi muut käsittelemään toista kieltä, uusia työkaluketjuja ja "kääreitä, joilla on outo semantiikka". Dan Williams sanoi, että nykyinen tilanne "on miltä menestys näyttää" ja että ydinyhteisö oli jo sitoutunut Rustiin.

Vaikka ylläpitäjät ovatkin kiinnostuneita Rustin käyttöönotosta, haasteita syntyy, koska siitä on keskusteltu täytyy olla ytimen viiteajurit kirjoitettu Rustilla näyttää, kuinka ohjaimia voidaan kirjoittaa tällä kielellä. Toiminnan päällekkäisyys Rust- ja C-ohjainten välillä on kuitenkin herättänyt epäluottamusta ylläpitäjien keskuudessa.

Keskustelu ruosteen sisällyttämisestä on mennyt eri suuntiin, Jotkut ylläpitäjät kannattavat itsenäisten Rust-ajureiden, kuten sideaineohjaimen, yhdistämistä elinkelpoisuuden osoittamiseksi, kun taas toiset kolikon toisella puolella He ilmaisevat huolensa kahden ohjelmointikielen ytimen ylläpidon monimutkaisuudesta.

Airlie jatkoi, että suuri osa Rustin työstä on tällä hetkellä lukittuna hieman kananmuna-ongelmaan. Abstraktioita ei voi yhdistää ennen kuin niille on käyttäjä, mutta kyseisiä abstraktioita tarvitseva koodi estetään odottamaan koodin saavuttamista useisiin alijärjestelmiin. Tämän seurauksena Rustin parissa työskentelevät kehittäjät kantavat mukanaan suuria määriä korjaustiedostoja, joita he tarvitsevat saadakseen koodinsa toimimaan. Tämän esteen rikkominen edellyttää joidenkin abstraktien pääsyn sallimista ilman välittömiä käyttäjiä.

Haasteista huolimatta ydinyhteisö tunnistaa Rustin mahdollisuudet parantaa koodin turvallisuutta ja vakautta. On mahdollista yhdistää laajemmin käytetyt ajurit Rustiin tulevaisuudessa, kun korjattavuutta ja ylläpidettävyyttä koskevat huolet on ratkaistu.

Ojeda myönsi, että tämä ongelma on hidastanut edistymistä, mutta sanoi yrittäneensä olla painostamatta ylläpitäjiä yhdistämään koodia nopeasti. Verkostoitumisen tapauksessa Rust-kehittäjien oli ironista kyllä ​​pyytää verkon ihmisiä hidastamaan Rust-koodin yhdistämistä.

Lopuksi on syytä mainita, että polku Rustin laajaan käyttöönottoon Linuxissa tuo haasteita, kiinnostus ja edistys tässä tilassa on ilmeistä. Ajan myötä Rustilla odotetaan olevan tärkeä rooli Linuxin parantamisessa.

lähde: https://lwn.net/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.