Rustia ei vapautettu Linus Torvaldsin kritiikistä

Muutama viikko sitten uutiset noin joitakin toteutuksia, jotka tehtiin vuonna linux-next -haara, joka sisältää alkusarjan komponentteja kehittää laiteohjaimia ruosteen kielellä.

Tämä dokumentaatio julkaistiin erikseen Rustin käytöstä Linux-ytimessä ja esimerkki ytimen moduulista, jossa on merkkilaiteohjain Rust-kielellä. Koodin lisäsi sivukonttorin ylläpitäjä Stephen Rothwell.

Sen jälkeen Linus Torvalds kävi läpi toteutustarkistuksen korjaustiedosto mahdollisuuksista asettaa Rust-kieliohjaimet Linux-ytimeen ja ilmaisi kritiikkiä.

Suurimmat valitukset johtuivat paeta "Run-time failure panicen" väärissä tilanteissa, esimerkiksi muistin ulkopuolella, kun dynaamiset muistin allokointioperaatiot, ytimen operaatiot mukaan lukien, voivat epäonnistua.

Torvalds totesi, että tällaista keskittymistä ytimeen ei voida hyväksyä, Ja jos et ymmärrä tätä kohtaa, voit hylätä kaikki koodit, jotka yrittävät käyttää tällaista lähestymistapaa. Toisaalta korjaustiedoston kehittäjä oli samaa mieltä ongelmasta ja piti sitä ratkaistavana.

Toinen ongelma on ollut yritys käyttää liukuluku- tai 128-bittisiä tyyppejä, jotka eivät ole kelvollisia Linux-ytimen kaltaisissa ympäristöissä.

Et ehkä ymmärrä seurauksia siitä, milloin se voi tapahtua, joten ehkä
on vähemmän ongelma kuin luulen sen olevan, mutta pohjimmiltaan
Luulen, että jos mikä tahansa ruosteen kartoitus voi aiheuttaa paniikkia, se on yksinkertaisesti
_ periaatteessa_ ei voida hyväksyä.

Muiden kuin ydinohjaimen tai koodin vikojen kartoitus
määritelmä, kaikki uudet Rust-koodit, eivät voi koskaan aiheuttaa
paniikki pätevästi. Sama koskee «Voi, joissakin tapauksissa en kokeillut sen käyttöä
128-bittiset kokonaisluvut tai liukuluku '.

Joten jos Rust-kääntäjä aiheuttaa piilotettuja tehtäviä, joita ei voi olla
havaita ja palata virheinä, uskon vakavasti kaiken tämän
lähestymistavan tulisi olla täysin NAK'in mukaista, ja Rust-infrastruktuuri,
joko kääntäjän tasolla tai ytimen kääreissä, tarvitset enemmän
työtä.

Tämä osoittautui vakavammaksi ongelmaksi., koska tällä hetkellä Rustin keskuskirjasto on jakamaton ja edustaa suurta tahraa; ei ole mitään tapaa pyytää vain joitain ominaisuuksia, jolloin vältetään yhden tai toisen ongelmallisen toiminnallisuuden käyttö.

Ratkaisu ongelmaan voi edellyttää muutoksia ruosteen kääntäjään ja kirjastoon, vaikka tiimillä ei vielä ole strategiaa modulaarisuuden toteuttamiseksi kielikirjastoille.

Lisäksi, Torvalds huomautti, että toimitettu esimerkkiohjain on hyödytön ja neuvoi liittämään esimerkkinä kuljettajan, joka ratkaisee yhden todellisista ongelmista.

Ennen tätä Google ilmoitti osallistuvansa aloitteeseen, jolla edistetään Rust-tukea Linux-ytimessä y tekniset näkökohdat Rustin toteuttamisen toteuttamiskelpoisuus ongelmien torjumiseksi, jotka johtuvat muistin kanssa tehtävistä virheistä.

Google uskoo, että Rust on valmis liittymään C: hen kehityskielenä Linux-ytimen komponentit. Artikkeli tarjoaa myös esimerkkejä Rust-kielen käytöstä ytimen ohjainten kehittämiseen sen käytön yhteydessä Android-alustalla (Rust tunnustetaan virallisesti tuetuksi kieleksi Android-kehitykselle).

On huomattava, että Google on valmistanut Rustiin kirjoitetun ohjaimen alkuperäisen prototyypin Binderin prosessienväliselle viestintämekanismille, joka mahdollistaa Binderin C- ja Rust-toteutusten yksityiskohtaisen suorituskyvyn ja tietoturvan vertailun.

Nykyisessä muodossaan työtä ei ole vielä saatu päätökseen, mutta melkein kaikkien ytimen toiminnallisuuksien perustoimintojen osalta, joita Binder tarvitsee toimimaan, kerrokset on valmistettu käyttämään näitä abstraktioita Rust-koodissa.

Lopuksi, jos haluat tietää enemmän siitä, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


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.

  1.   Miguel Rodriguez dijo

    Kaikki heidän arvostelunsa ovat päteviä, kun otetaan huomioon, että Rust on uusi kieli, joka toimii erilaisella paradigmalla kuin C, on ymmärrettävää huoli kaikista kirjastojen tai itse kääntäjän yksityiskohdista, joissa vaikka koodi on kelvollinen, se aiheuttaa myös ytimen rikkoutumisen. kuinka se toteutetaan ja rakennetaan. Siksi ehdotukset, kuten mahdollisuus kirjaston modulointiin soittamaan ja pitämään aktiivisina vain ne ohjelmalle (tai tässä tapauksessa kaikille ohjaimille) tarvittavat toiminnot, toimivat oikein. Eikä ole myöskään kohtuutonta, mitä pyydät, että ne tuovat sinulle todellisen prototyypin ohjaimen, joka tekee työtä hyvin nykyisen ongelman kanssa (tai ainakin tekee saman työn kuin ytimessä oleva ja toimii ilman paniikkia).

  2.   Sete dijo

    Ajoittain luen artikkeleita uudelleen Linux Adictos Mutta minulta menee hyvin vähän aikaa epätoivoon, kun huomaan, että vaikka sisältö on erittäin hyvä, lopputulos tuhoutuu hirveällä oikeinkirjoituksella.
    Onko oikeinkirjoitus ja kielioppi niin vaikeaa?
    Häpeä!
    Piristy!