Jau keletą mėnesių, Kai kuriomis naujienomis pasidalinome čia, tinklaraštyje pabrėžia sulauktą paramą ir priėmimą Rūdys įvairiuose projektuose ir plėtrose, iš kurių daugelis yra sunkiasvoriai, tarkime, Linux, Windows ir net Android.
Nepaisant didelio didžiųjų vaikinų pritarimo, perėjimas prie Rust nėra lengvas, nes net norint jį priimti kaip antrąją programavimo kalbą Linux branduolyje, Linusas Torvaldsas turėjo atlikti daugybę dalykų, kad galėtų tai išbandyti. patvirtinimas.
„Google“ atveju tai nebuvo išimtis ir jau keletą mėnesių „Google“ pristato Rust daugelyje savo projektų ir Android yra vienas iš jų ir kuriame buvo atliktas gana kontroliuojamas migracijos etapas, nes, stengdamasi sustiprinti svarbiausių platformos programinės įrangos komponentų saugumą, dabar „Google“ paskelbė, kad baigė perkėlimo darbus programinės įrangos „Android Virtualization Framework“ apsaugota VM (pVM)“ į Rust.
Ši programinė aparatinė įranga Jis naudojamas virtualių mašinų, paleistų pVM hipervizoriaus iš Android, veikimui organizuoti. Anksčiau programinė įranga buvo parašyta C kalba ir įdiegta ant U-Boot įkrovos tvarkyklės, kurios kode anksčiau buvo rasta atminties problemų sukeltų pažeidžiamumų.
Hipervizorius pVM perima valdymą ankstyvame paleidimo etape y užtikrina visišką virtualios mašinos atminties izoliaciją nuo pagrindinio kompiuterio aplinkos, neleidžiama prieglobos sistemos prieiti prie apsaugotų virtualių mašinų, kurios apdoroja slaptus duomenis. Pvmfm (Protected Virtual Machine Firmware) programinė įranga perima valdymą iš karto po virtualios mašinos paleidimo, patikrina sugeneruotą aplinką ir nusprendžia nutraukti įkrovą, jei aptinkamos vientisumo problemos, arba generuoja įkrovos sertifikatą svečių sistemai, jei yra patikimumo grandinė.
Perrašymas Dėl rūdžių lengviau ir saugiau laikytis „Google“ „dviejų taisyklės“ kad „Android“ sistemos komponentai būtų saugūs. Pagal šią taisyklę bet koks pridėtas kodas turi atitikti ne daugiau kaip dvi iš trijų sąlygų: dirbti su nepatvirtintais įvesties duomenimis, naudoti nesaugią programavimo kalbą (C/C++) ir paleisti su padidintomis privilegijomis. Ši taisyklė reiškia, kad išorinių duomenų apdorojimo kodas turi būti sumažintas iki mažiausiai privilegijų (izoliuotas) arba parašytas saugia programavimo kalba. Remiantis „Google“ statistika, maždaug 70% visų nustatytų pavojingų „Android“ spragų atsiranda dėl klaidų dirbant su atmintimi.
Tarp sunkumų, kylančių kuriant žemo lygio komponentus, tokius kaip valdikliai „Rust“ kalba, minimas poreikis dirbti su rodyklėmis nesaugiu režimu, nes „Rust“ sukuriama naudojant kalbai skirtą atmintį. Rūdys.
Tarp trūkumų, Taip pat verta pabrėžti reikia patobulintos sintaksės norint pasiekti struktūros laukus ir masyvo indeksus per paprastas nuorodas, nekuriant nuorodų, taip pat apribojimus kurti saugias nuorodas į nesaugias operacijas, kurios gali sukelti neapibrėžtą elgesį ir kurių negali patikrinti kompiliatorius.
Verta paminėti, kad nauja programinė įranga perrašyta Rust įtraukta į „Android 14“. ir universalios bibliotekos, sukurtos programinės įrangos kūrimo proceso metu, supakuojamos kaip paketai ir perkeliamos į Rust bendruomenę. Gautas kodo dydis, palyginti su ankstesne pVM programinės aparatinės įrangos versija, kuri užėmė 220 kB, naujasis kodas užima 460 kB, bet prie perrašytos versijos pridėtos naujos funkcijos, kurio dėka buvo galima atsikratyti kai kurių kitų komponentų, naudojamų įkrovos metu.
Dėl to bendras visų senų ir naujų bagažinės komponentų dydis buvo palyginamas. Reikėtų pažymėti, kad kai dydis yra svarbesnis už našumą, įjungus papildomus dydžio optimizavimo režimus kompiliatoriuje, atmetus nereikalingas priklausomybes ir nenaudojant eilučių formatuotojų, galima pasiekti rezultatus, panašius į C kalbos rezultatus.
Pagaliau jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.