Avaldatud on Linuxi Rusti draiveri toe paikade viies versioon

Tundub, et plaastri väljatöötamine Rusti draiveri toe jaoks Linuxis on hea hoo üles võtnud Noh, eemaldatud ettepanek avaldati veidi enam kui kuu aega tagasi, sest alates kolmandast versioonist on iga kuu uus ettepanek esitatud ja nüüd on uus ettepanek avaldatud, see on kuues trükk.

Miguel Ojeda on välja pakkunud uue versiooni Rusti seadmedraiveri arenduskomponentide kohta, mida Linuxi kerneli arendajad kaaluda. See on kuues väljaanne peetakse endiselt eksperimentaalseks kuid see on juba lisatud linux-next harusse ja on piisavalt küps, et alustada tööd abstraktsioonikihtide loomisega kerneli alamsüsteemide peal, samuti draiverite ja moodulite kirjutamisega.

Need, kes sellest arengust veel teadlikud pole, peaksid seda teadma rahastavad Google ja ISRG (Internet Security Research Group), mis on projekti Let's Encrypt asutaja ning edendab HTTPS-i ja tehnoloogiate arendamist Interneti-turvalisuse suurendamiseks.

Seda tuleks meeles pidada kavandatavad muudatused võimaldavad kasutada roostet teise keelena draiverite ja kerneli moodulite arendamiseks. Rooste tugi esitatakse valikuna, 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 luua paremaid ja ohutumaid draivereid minimaalse pingutusega, ilma probleemideta, nagu mälualale juurdepääs pärast selle vabastamist, nullviidate viitamise tühistamine ja puhvri ületäitumine.

Mälu turvalisus on ette nähtud Rust eKompileerimise ajal 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.

Plaastrite uues versioonis jätkati esimese arutelu käigus tehtud kommentaaride kustutamist, teine, kolmas, veerand y viies plaastrite väljaanded (mille vastavad lingid jätan teile).

Kuuenda ettepaneku peamised uuendused

Selle uue ettepaneku saabumisega tööriistakomplekti on värskendatud enne Rust 1.59.0 väljaandmist, millega koos alloc teegi variant see sünkroonib ka Rusti uue versiooniga, välistades võimaliku "paanika" oleku, kui ilmnevad vead (nt mälu on lõppenud).

Teine tehtud muudatus on see, et nüüd platvormi spetsifikatsioonifailide pakkumise asemel eelnevalt loodud sihtkoht need genereeritakse dünaamiliselt tuuma konfiguratsiooni alusel.

Samuti tuleb märkida, et kerneli parameeter HAVE_RUST on lisatud selle võimaldamiseks Rust-ühilduvate arhitektuuride jaoks ja et riistvara pseudojuhuslike numbrite generaatori Rust-koodis on pakutud abstraktsioone.

Teisalt mainitakse seda monteerija lisade kasutamise võimalus on stabiliseerunud ("feature(global_asm)") ja lisati tugi selliste hostprogrammide loomiseks Rustis, mida kasutatakse kerneli ehitusprotsessis.

Muudest muudatustest mis sellest uuest ettepanekust silma paistavad:

  • Veakoodide kasutamine ilma eesliiteta "Error::" (näiteks "return Err(EINVAL)") lubas C-s veakoodide käsitlemist ligikaudselt.
  • Natiivsete C-stringide jaoks on lisatud tüüp "CString". Kombineeritud vormindaja ja puhvri tüübid.
  • Lisatud Bool ja LockInfo tunnused.
  • Spin-lockide lihtsustatud rakendamine.

Lõpuks kui olete huvitatud sellest rohkem teada saama selle uue ettepaneku kohta saate 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.