Neljas Linuxi tuumikupatchide vÀljaanne Rusti keele toe jaoks

Miguel Ojeda, Rust-for-Linux projekti autor, esitas Linuxi tuuma arendajatele neljanda versiooni Rusti keeles seadme draiverite arendamiseks mĂ”eldud komponentidest. Rusti toetamist kĂ€sitletakse eksperimentaalsena, kuid see on juba kokkulepitud sisestamiseks linux-next filiaali ja on piisavalt arenenud, et alustada abstraktsioonikihtide loomist tuuma alamsĂŒsteemide ĂŒle ning samuti draiverite ja moodulite kirjutamist. Arendust finantseerivad ettevĂ”te Google ja organisatsioon ISRG (Internet Security Research Group), mis on Let's Encrypt projekti asutaja ja toetab HTTPS-i edendamist ning Interneti kaitsetehnoloogia arendamist.

Tuletame meelde, et ettepanekud muudatused vĂ”imaldavad kasutada Rusti teise keele kui draiverite ja tuuma moodulite arendamiseks. Rusti toetus on esitatud valikuna, mis pole vaikimisi aktiveeritud ja ei too kaasa Rusti lisamist tuuma kohustuslikesse koostamise sĂ”ltuvustesse. Rusti kasutamine draiverite arendamiseks vĂ”imaldab minimaalse vaevaga luua turvalisi ja kvaliteetseid draivereid, vabanedes sellistest probleemidest nagu mĂ€luprobleemide juurde pÀÀsemine pĂ€rast nende vabastamist, nullviidete de-referentsimine ja mĂ€lupuhvri piiride ĂŒ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.

Uues patƥide versioonis jÀtkatakse esimeses, teises ja kolmandas patƥi redaktsioonis esitatud mÀrkuste eemaldamist. Uues versioonis:

  • On ĂŒlemineku tegemine stabiilse Rusti 1.58.0 versiooni kasutamisele viitamisse kompilaatorina. Projekti jaoks vajalikud muudatused, mis ei ole veel pĂ”hivarustusse kuuluvad, hĂ”lmavad lippu „-Zsymbol-mangling-version=v0” (oodatakse Rust 1.59.0-s) ja reĆŸiimi „maybe_uninit_extra” (oodatakse Rust 1.60.0-s).
  • On lisatud automaatkontrollid sobivuse osas Rusti tööriistade olemasolule ja laiendatud testimise vĂ”imalusi Rusti toe osas sĂŒsteemis.
  • On pakutud uusi abstraktsioone, mis vĂ”imaldavad Rust-i keeles kirjutatud koodist pÀÀseda seadme identifikaatorite tabelitele („IdArray” ja „IdTable”).
  • On lisatud vahed, et pÀÀseda kellaraamide funktsioonide juurde (kellafraiming).
  • Platvormide draiverid on nĂŒĂŒd mÀÀratud tĂŒĂŒpide rakenduse kaudu.
  • On lisatud uus makro platvormide draiverite registreerimise lihtsustamiseks ning pakutud uus tĂŒĂŒpmakro draiveri nĂ€idis.
  • On lisatud makrod struktuuridele „dev_*”.
  • On lisatud meetodid „{read,write}*_relaxed” tĂŒĂŒpi IoMem jaoks.
  • FileOpener omadus on eemaldatud failide operatsioonide lihtsustamiseks.
  • Draiveri registreerimise protsessis edastatavate argumendide hulka on lisatud parameeter „ThisModule”.
  • On pakutud tĂŒĂŒpmakro tuumamoodulite loomiseks Rusti keeles.

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