Western Digital työskentelee jo rust-kielellä kirjoitetun NVMe-ohjaimen parissa

RustLinux

Rustin integrointi Linuxiin on saanut suuren hyväksynnän yhteisön ja kehittäjien keskuudessa

"Linux Plumbers 2022" -konferenssin aikana joka oli käynnissä näinä päivinä, Western Digitalin insinööri piti esitelmän ohjaimen kehittämisestä kokeellinen SSD NVM-Expressille (NVMe) kirjoitettu ruosteella ja toimii Linux-ytimen tasolla.

Siitä huolimatta hanke on vielä alkuvaiheessa, suoritetut testit osoittivat, että Rust NVMe -ohjaimen suorituskyky vastaa ytimeen C-kielellä kirjoitettua NVMe-ohjainta.

Olen Matthew Wilcox, olen yksi NVMe-spesifikaation kirjoittajista. Olin se, joka ehdotti, että tekisin NVMe-ohjaimen osoittamaan Rustin arvon. Se on onnistunut yli villeimmätkin odotukseni. 

Esitettyyn raporttiin liittyen nykyisen NVMe C -ohjaimen sanotaan olevan täysin tyydyttävä kehittäjille, mutta NVMe-alijärjestelmä on hyvä alusta tutkia ajurien kehittämistä Rustissa, koska se on melko yksinkertainen, laajalti käytetty, sillä on korkeat suorituskykyvaatimukset, sillä on todistettu vertailutoteutus ja se tukee erilaisia ​​käyttöliittymiä ( dev, pci, dma, blk-mq, gendisk, sysfs).

On havaittu, että Rust PCI NVMe -ajuri tarjoaa jo käyttöön tarvittavat toiminnot, mutta se ei ole vielä valmis laajaan käyttöön, koska se vaatii erilliset parannukset.

Tulevaisuuden suunnitelmiin kuuluu eroon olemassa olevista turvattomista lohkoista, tuki laitteen poistamiseen ja ohjaimen lataamiseen, tukee sysf-käyttöliittymää, toteuttaa laiska alustus, luoda ohjain blk-mq:lle ja kokeilla asynkronista ohjelmointimallia queue_rq:lle.

Lisäksi voimme osoittaa tehdyistä kokeista NCC Group kehittää ohjaimia Rust-kielellä FreeBSD-ydin. Esimerkkinä yksinkertainen kaikuohjain, joka palauttaa /dev/rust-moduuliin kirjoitetut tiedot. Kokeilun seuraavassa vaiheessa NCC Group harkitsee Rustin ydinkomponenttien uusimista parantaakseen verkko- ja tiedostotoimintojen turvallisuutta.

Vaikka onkin osoitettu, että Rustissa on mahdollista luoda yksinkertaisia ​​moduuleja, Rustin tiukempi integrointi FreeBSD-ytimeen vaatii lisätyötä.

Hän mainitsee esimerkiksi tarpeen luoda joukko abstraktiokerroksia ytimen alijärjestelmille ja rakenteille, jotka ovat samanlaisia ​​kuin Rust-projektin Linuxille laatimat lisäosat. Tulevaisuudessa aiomme suorittaa samanlaisia ​​kokeita Illumos-ytimen kanssa ja korostaa Rustin yleisiä abstraktioita, joita voitaisiin käyttää Rustin kirjoittamissa Linux-, BSD- ja Illumos-ajureissa.

Microsoftin ja Googlen mukaan noin 70 % heidän ohjelmistotuotteidensa haavoittuvuuksista johtuu epävarmasta muistinhallinnasta.

Rust-kielen käytön oletetaan vähentävän haavoittuvuuksien riskiä johtuu epävarmasta muistin käsittelystä ja poistaa virheiden esiintymisen, kuten muistialueen käytön sen vapauttamisen jälkeen ja puskurin ylivuodon.

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.

Ruoste 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 kirjoituksen minimoimaan loogiset virheet.

On syytä mainita, että saattaa olla mahdollista, että tuleva työ kulkee käsi kädessä sen työn kanssa, jonka Miguel Ojeda on esittänyt "Rust for Linux" -ajureillaan, jotka on esitetty sarjana korjaustiedostoja.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat seuraava linkki.


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  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.