Kümnes versioon Linuxi tuumapatch'idest Rusti keele toega

Miguel Ojeda, Rust-for-Linux projekti autor, pakkus Linuxi tuuma arendajatele arutamiseks välja v10 seadme draiverite arendamise komponente Rusti keeles. See on juba üheteistkümnes versioon patch’idest, arvestades esimest varianti, mis ilmus versiooninumbrita. Rusti toe lisamine on Linus Torvaldsi poolt heaks kiidetud sisse viimiseks Linuxi tuuma 6.1, kui ei ilmne ettenägematuid probleeme. Arendust rahastavad Google ja ISRG (Internet Security Research Group), mis on Let’s Encrypti projekti asutaja ja toetab HTTPS-i edendamist ning tehnoloogiate arendamist interneti turvalisuse parandamiseks.

Nagu eelmine versioon patch’idest, on v10 väljaanne kärbitud kõige hädavajalikumale miinimumile, mis on piisav lihtsa Rusti keeles kirjutatud tuumamooduli kokkupanemiseks. Erinevused eelmise versiooni suhtes koosnevad väikestest muudatustest, sizeof asendamisest ARRAY_SIZE’iga failis kallsyms.c ja patch’ide kohandamisest tuumale v6.0-rc7. Eeldatakse, et minimaalne patch, mille koodimaht on kärbitud 40 000-lt 13 000 reani, lihtsustab Rusti toe vastuvõtmist tuuma põhikoosseisus. Pärast minimaalsete nõuete täitmist on plaanis järk-järgult laiendada olemasolevaid funktsioone, tuues üle ka teised muudatused Rust-for-Linux harust.

Ettepanekud muudatused võimaldavad kasutada Rusti teise keelena draiverite ja tuumamoodulite arendamiseks. Rusti toetus esitatakse kui valik, mis ei ole vaikimisi aktiveeritud ja ei too endaga kaasa Rusti lisamist tuuma kohustuslike kogumis sõltuvuste hulka. Rusti kasutamine draiverite arendamiseks võimaldab minimaalse vaevaga luua turvalisi ja kvaliteetsemaid draivereid, vabastades neid sellistest probleemidest nagu mälu tajumine pärast vabastamist, nullviidete mõistmine ja mälupuhvri piire ületamine.

Rust tagab mäluga ohutu töö kompileerimise ajal viidete kontrollimise, objektide omandi jälgimise ja objektide eluea (nähtavuse) arvestamise kaudu ning hindab koodi käivitamise ajal mälule juurdepääsu õigust. Rust pakub ka vahendeid täisarvude ületäitumise kaitsmiseks, nõuab muutuja väärtuste kohustuslikku algväärtustamist enne kasutamist, käsitleb vigu paremini standardraamatukogus, rakendab muutujaid ja viiteid vaikimisi muutumatuks (immutable) ning pakub tugevat staatilist tüübi määramist loogiliste vigade vähendamiseks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster