Avaldatud on Linuxi Rusti draiveri toe paikade neljas versioon

Miguel Ojeda, projekti Rust-for-Linux autor, Teme avalikustas hiljuti neljanda ettepaneku seadme draiveri komponendid Rooste, mida Linuxi kerneli arendajad peaksid kaaluma.

Roostetugi peetakse eksperimentaalseks, kuid see on juba kokku lepitud lisamises linux-next harusse ja on piisavalt küps, et alustada tööd kerneli alamsüsteemide peal olevate abstraktsioonikihtidega, samuti draiverite ja moodulite kirjutamisega. Arendust rahastavad Google ja ISRG (Internet Security Research Group), mis on Let's Encrypt projekti asutaja ning propageerib HTTPS-i ja tehnoloogiate arendamist interneti turvalisuse tõstmiseks.

Need, kes pole kavandatavatest muudatustest veel teadlikud, peaksid teadma, et need teevad selle võimalikuks Rusti kasutamine teise keelena kontrollerite ja moodulite arendamiseks tuumast. Rooste tugi on suvand, mis ei ole vaikimisi lubatud ja mille tulemuseks ei ole rooste kaasamine kerneli nõutavate ehitussõltuvuste hulka.

Rooste kasutamine draiverite arendamiseks võimaldab teil minimaalse pingutusega luua paremaid ja turvalisemaid draivereid, ilma probleemideta, nagu mälualale juurdepääs pärast selle vabastamist, null-osutitele viitamise tühistamine ja puhvri ületäitumine.

Mälu turvalisus on Rustis kompileerimise ajal tagatud, kontrollides viiteid, jälgides objekti omandiõigust ja objekti eluiga (ulatust), samuti hinnates koodi täitmise ajal mälule juurdepääsu õigsust.

Rust pakub ka täisarvude ülevoolukaitset, nõuab muutujate initsialiseerimist enne kasutamist, käsitleb standardteegi vigu paremini, jõustab vaikimisi muutumatute muutujate ja viidete kontseptsiooni ning pakub tugevat staatilist tippimist loogiliste vigade minimeerimiseks.

Millised on muudatused neljandas osas?

Esitletud plaastrite uues versioonis mainitakse, et plaastrite esimese, teise ja kolmanda väljaande arutelul tehtud kommentaarid on jätkuvalt kõrvaldatud.

Jätkame värskendamist, kuni me ei sõltu ebastabiilsetest funktsioonidest;
siis võiksime hakata kuulutama Rusti minimaalset versiooni
on toetatud, nagu seda tehakse näiteks GCC ja Clangi puhul.

Samamoodi liikusime üle ka rooste keele 2021. aasta väljaandele.

Mis puudutab muid selles uues versioonis tehtud muudatusi, mainitakse teadaandes järgmist.

  • Üleminek, et kasutada võrdluskompilaatorina stabiilset versiooni Rust 1.58.0.
  • Projekti jaoks vajalikud muudatused, mida Rusti põhitööriistakomplekti veel ei sisalda, hõlmavad lippu "-Zsymbol-mangling-version=v0" (oodatakse versioonis Rust 1.59.0) ja režiimi "maybe_uninit_extra" (oodatakse versioonis Rust 1.60.0) .
  • Lisandunud on automaatsed kontrollid Rusti tööriistade saadavuse ja sobivuse kohta, samuti on laiendatud Rusti toe testimise võimalust süsteemis.
  • Pakutakse uusi abstraktsioone, et pääseda juurde seadme identifikaatori tabelitele ("IdArray" ja "IdTable") Rust-koodist.
  • Lisatud kihid funktsioonide kutsumiseks, mis on seotud taimeriga (kellaraam).
  • Platvormi kontrollerid on nüüd määratletud tunnuste juurutuste kaudu.
  • Lisati uus makro, et lihtsustada platvormi draiverite registreerimist, ja pakuti välja uus üldine draiveri mall.
  • "dev_*" struktuuride jaoks on lisatud uued makrod.
  • IoMem-tüübi jaoks on lisatud uued meetodid "{read,write}*_relaxed". .
  • Failitoimingute lihtsustamiseks eemaldati FileOpeneri atribuut.
  • Kontrolleri registreerimisel edastatud argumentide arvule on lisatud parameeter "ThisModule".
  • Pakutakse välja tüüpiline mall tuumamoodulite loomiseks Rust keeles.

Lõpuks, kui soovite selle uue versiooni kohta rohkem teada saada, vaadake üksikasju 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.