Viides versio Rust-ohjaintuen korjaustiedostoista Linuxissa on julkaistu

äskettäin Miguel Ojeda, Rust-for-Linux-projektin kirjoittaja julkaisi viidennen ehdotuksen Valitut Linux-ytimen kehittäjät kehityskomponenteille Rust laiteajurit heidän harkittavaksi.

Niiden, jotka eivät vielä ole tietoisia tästä usean kuukauden ajan julkaistusta ehdotussarjasta, on hyvä tietää, että idea sen takana johtuu siitä, että Rust-tukea pidetään tällä hetkellä kokeellisena, mutta on jo mukana linux-next-haarassa ja on tarpeeksi kypsä aloittaakseen abstraktiotasojen luomisen ytimen alijärjestelmistä sekä ohjainten ja moduulien kirjoittamisesta.

tällä hetkellä, Miguel Ojedan kehityskomissiota rahoittavat Google ja ISRG (Internet Security Research Group), joka on Let's Encrypt -projektin perustaja ja edistää HTTPS:ää ja Internetin turvallisuutta lisäävien teknologioiden kehitystä.

On tärkeää mainita, että ehdotetut muutokset ne mahdollistavat Rustin käytön toisena kielenä ohjaimien ja ydinmoduulien kehittämiseen. Ruosteen tuki esitetään vaihtoehtona, joka ei ole oletusarvoisesti käytössä, eikä se johda ruosteen sisällyttämiseen ytimen vaadittujen koontiriippuvuuksien joukkoon.

Rustin käyttäminen ohjaimien kehittämiseen antaa sinun luoda parempia ja turvallisempia ohjaimia pienellä vaivalla, ilman ongelmia, kuten muistialueen käyttäminen sen vapauttamisen jälkeen, nollaosoittimien poistaminen ja puskurin ylivuoto.

Muistin suojaus tarjotaan Rustissa käännöshetkellä tarkistamalla viitteet, seuraamalla objektin omistajuutta ja objektin elinikää (scope) sekä arvioimalla muistin käytön oikeellisuutta koodin suorittamisen aikana. Rust tarjoaa myös kokonaislukujen ylivuotosuojauksen, vaatii muuttujien alustamisen ennen käyttöä, käsittelee paremmin standardikirjaston virheet, pakottaa muuttumattomien muuttujien ja viittausten käsitteen oletuksena ja tarjoaa vahvan staattisen kirjoittamisen loogisten virheiden minimoimiseksi.

Tärkeimmät uutuudet viidennessä ehdotuksessa

Korjausten uudessa versiossa jatkoi kommenttien poistamista tehty keskustelun aikana ensimmäisen, toisen, kolmannen ja neljännen painoksen korjaustiedostoista.

Tehtyjen muutosten ja parannusten osassa voimme havaita, että komponenttien validointi yhteensopivuuden vuoksi with Rust on lisätty jatkuvaan integrointijärjestelmään perustuu Intel-yhteensopivaan 0DAY/LKP-bottiin ja testiraportteja on alettu julkaista.

Tämän lisäksi korostetaan, että Rust-tuen integrointia valmistellaan automaattinen testijärjestelmä KernelCI, plus GitHub CI -pohjaiset testit siirrettiin säiliöiden käyttöön.

Se on myös korostettu lisätty mahdollisuus määrittää lisäparametreja laitteita rekisteröitäessä sekä is_rust_module.sh-skripti on suunniteltu uudelleen ja että staattisten synkronointiprimitiivien (globaalit jaetut muuttujat) tuki "CONFIG_CONSTRUCTORS"-toteutukseen lisättiin.

Niistä muut erottuvat muutokset tässä uudessa rekisterinpitäjäehdotuksessa:

  • Rust Core -moduuleita ei tarvitse määrittää attribuutit: "#![no_std]" ja "#![ominaisuus(...)]".
  • Lisätty tuki yksittäisille koontiversioille (.o, .s, .ll ja .i).
  • Koodiohjeet määrittelevät nyt säännöt kommenttien ("//") ja dokumentointikoodin ("///") rajaamiseen.
  • Yksinkertaistettu lukon hallinta: Guard ja GuardMut yhdistetään yhdeksi parametroiduksi tyypiksi.
  • Lisätty "RwSemaphore" -abstraktio, joka toimii kääreenä C rw_semaphore -rakenteen päällä.
  • Mmapin käyttöä varten on lisätty uusi mm-moduuli ja VMA-abstraktio (sidos vm_area_struct-rakenteessa).
  • PL061 GPIO -ohjain muutettiin käyttämään "dev_*!"-makroa.
  • Yleinen koodin puhdistus.

Vihdoin jos olet kiinnostunut tietämään siitä lisää tästä uudesta ehdotuksesta saat lisätietoja 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.