Linuxi Rust-draiveri tugipaikade teine ​​versioon on juba tarnitud

Selle aasta märtsis linux-next filiaalil mis tol ajal töötas Linuxi kerneli 5.13 jaoks, Seadme draiverite väljatöötamiseks lisati esialgne komponentide komplekt keel Rooste ja nüüd on taotletud teise väljaande lisamist plaastreid, et lisada Linuxi kernelile Rust'i tugi.

Isik, kes on saatnud taotluse Linuxi arendajatele, on projekti Rust-for-Linux autor Miguel Ojeda, kellest me ka mõni päev tagasi rääkisime, kuna ta palgati projekti "Prossimo" eest vastutama, mis põhimõtteliselt keskendub kriitilise tarkvara infrastruktuuri turvalisele koodile viimise pingutuste koordineerimisele, et Linuxi kerneli mälu Rustiga kaitsta (kui soovite projekti kohta rohkem teada saada, võite pöörduda postitamine alloleval lingil.)

Rooste draiverid Linuxis
Seotud artikkel:
Prossimo, ISRG-projekt, et kaitsta Linuxi kerneli mälu Rustiga

Miguel Ojeda saadetud taotlus on teine ​​uuendatud versioon komponentidest Rust-keeles seadmete draiverite väljatöötamiseks ja kustutatakse plaastrite esimese versiooni arutelul tehtud kommentaarid ning millele Linus Torvalds juba aruteluga liitus ja soovitas loogikat mõne bittoperatsiooni töötlemiseks muuta.

Kasu sees mida mainitakse, on see Rustis on turvaline mäluhaldus tagatud kompileerimise ajal, kontrollides viiteid, jälgides objekti omandilist kuuluvust ja objekti eluiga, samuti hinnates mälu juurdepääsu õigsust käitamise ajal.

Rooste annab ka täisarvu ülevoolukaitse, nõuab enne kasutamist muutujate väärtuste kohustuslikku initsialiseerimist, haldab paremini standardteegi vigu, võtab vaikimisi kasutusele viidete ja muutumatute muutujate mõiste ning pakub loogiliste vigade minimeerimiseks tugevat staatilist kirjutamist.

Väljapaistvatest muudatustest selle uue versiooni plaastritest mainitakse:

  • Mälu eraldamise kood välistab paanika tekitamise võimalike vigade tekkimisel, näiteks mälu otsas.
  • Sisaldub Rust-i eraldamise teegi variant, milles kood on lukkude käsitsemiseks ümber töötatud, kuid lõppeesmärk on tuua kõik kerneli jaoks vajalikud funktsioonid eraldamise põhiväljaandesse (muudatused on juba ette valmistatud ja üle kantud standardsesse Rooste teeki).
  • Öiste järkude asemel saab nüüd kasutada beeta- ja stabiilseid versioone rustc kompilaator Rust-toega tuuma kompileerimiseks. Praegu kasutatakse rustc 1.54-beeta1 võrdluskoostajana, kuid pärast kuu lõpus avaldatud 1.54 väljaandmist toetatakse seda võrdluskoostajana.
  • Lisatud tugi testide kirjutamiseks, kasutades standardset Rust atribuuti "# [test]", ja võimalust kasutada dokumente, et kasutada testidest dokumentatsiooni näidiskoodi.
  • ARM32 ja RISCV arhitektuuride tugi lisati lisaks varem toetatud x86_64 ja ARM64.
    Täiustatud GCC rakendused Rust (GCC Rust'i kasutajaliides) ja rustc_codegen_gcc (GCC rustc backend), mis läbib nüüd kõik võrdlusalused.
  • A uus abstraktsiooni tase Rust-programmide jaoks saab kasutada C-s kirjutatud kernelmehhanisme, näiteks puid, viidete loendamise objekte, failikirjeldajate, ülesannete, failide ja sisend- / väljundvektorite loomist.
  • Draiveri arenduskomponentidel on mooduli "fail_operatsioonid", makro "moodul!", Makro, makrosalvestuse ja algdraiverite (sondimine ja kustutamine) tugi parem.
  • Binder toetab failikirjeldajate ja LSM-linkide edastamist.
  • Raspberry Pi tahvlite riistvara juhuslike arvude generaatori jaoks pakutakse välja funktsionaalsem Rust-draiveri näide bcm2835-rng.

Lõpuks, kui olete huvitatud sellest rohkem teada saama, võite tutvuda üksikasjadega Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.