Google yalengeza kuti iwonjezera chilankhulo cha mapulogalamu a Rust pa nsanja yake. AndroidChojambulira chilankhulo cha Rust chaphatikizidwa mu mtengo wa gwero. Android kale mu 2019, koma chithandizo cha chilankhulochi chinakhalabe choyesera. Zina mwa zigawo zoyamba za Rust zomwe zinakonzedwa kuti zitulutsidwe mu Android, ndi njira zatsopano zogwiritsira ntchito njira yolumikizirana ya Binder interprocess ndi Bluetooth stack.
Kukhazikitsa Rust ndi gawo la pulojekiti yolimbitsa chitetezo, kulimbikitsa machitidwe otetezeka a mapulogalamu, ndikuwonjezera luso lozindikira mavuto okumbukira mu AndroidZadziwika kuti pafupifupi 70% ya zofooka zonse zoopsa zomwe zapezeka mu Android, zomwe zimachitika chifukwa cha zolakwika pa kukumbukira. Kugwiritsa ntchito chilankhulo cha Rust, chomwe chimayang'ana kwambiri chitetezo cha kukumbukira komanso chimapereka kasamalidwe ka kukumbukira kokha, kudzachepetsa chiopsezo cha zovuta zomwe zimachitika chifukwa cha zolakwika pa kukumbukira, monga kupeza kukumbukira pambuyo poti kwatulutsidwa ndikuchulukirachulukira kwa buffer.
Dzimbiri imalimbikitsa chitetezo cham'makumbukiro panthawi yophatikizira kudzera pakuwunika, umwini wa chinthu ndi kutsatira moyo wonse wa chinthu (ma scopes), ndikuwunika kulondola kwa kukumbukira komwe kumafikira panthawi yothamanga. Dzimbiri imaperekanso chitetezo ku kusefukira kwazinthu zonse, imafuna kuti zikhalidwe zosinthika zikhazikitsidwe musanagwiritse ntchito, zimakhala bwino ndi zolakwika mulaibulale yokhazikika, zimagwiritsa ntchito lingaliro la maumboni osasinthika ndi zosintha mwachisawawa, ndipo zimapereka zilembo zolimba kuti muchepetse zolakwika zomveka.
В Android Chitetezo cha kukumbukira chimathandizidwa ndi zilankhulo zomwe kale zimathandizidwa ndi Kotlin ndi Java, koma sizoyenera kupanga zigawo za dongosolo chifukwa cha kuchuluka kwa ntchito zawo. Rust imapereka magwiridwe antchito ofanana ndi C ndi C++, zomwe zimapangitsa kuti ikhale yoyenera kupanga zigawo za nsanja zotsika komanso zigawo zolumikizirana ndi hardware.
Kuonetsetsa kuti ma code a C ndi C++ ndi otetezeka mu Android Kupatula Sandbox, kusanthula kosasinthasintha, ndi kuyesa kwa fuzzing zimagwiritsidwa ntchito. Mphamvu zopatula Sandbox ndizochepa ndipo zafika pamalire ake (kugawikana kwina mu njira sikothandiza malinga ndi momwe zinthu zimagwiritsidwira ntchito). Zolepheretsa za sandboxing zimaphatikizapo kugwiritsa ntchito ndalama zambiri komanso kugwiritsa ntchito kukumbukira kwambiri chifukwa cha kufunika koyambitsa njira zatsopano, komanso kuchedwa kwina kokhudzana ndi kugwiritsa ntchito IPC.
Panthawi imodzimodziyo, sandbox sichimachotsa zofooka mu code, koma imangochepetsa zoopsa ndi kusokoneza kuukira, chifukwa kugwiritsa ntchito kumafuna kuzindikira osati chimodzi, koma zovuta zingapo. Njira zozikidwa pakuyesa ma code ndizochepa chifukwa kuti muzindikire zolakwika, ndikofunikira kupanga mikhalidwe yowonetsera vuto. Sizingatheke kubisa zonse zomwe zingatheke, kotero zolakwika zambiri sizimazindikirika.
Za machitidwe a dongosolo mu Android Google imatsatira "lamulo la awiri," lomwe limati khodi iliyonse yowonjezera iyenera kukwaniritsa zosapitirira ziwiri mwa zitatu: kugwiritsa ntchito mawu osadalirika, kugwiritsa ntchito chilankhulo chosatetezeka cha mapulogalamu (C/C++, ndikugwira ntchito popanda sandboxing yokhwima (yokhala ndi maufulu apamwamba). Lamuloli limatanthauza kuti khodi yomwe imagwiritsa ntchito deta yakunja iyenera kuchotsedwa mpaka maufulu ochepa (olekanitsidwa) kapena kulembedwa m'chinenero chotetezeka cha mapulogalamu.
Cholinga cha Google sichikulembanso ma code a C/C++ omwe alipo mu Rust, koma chikukonzekera kugwiritsa ntchito chilankhulochi popanga ma code atsopano. Kugwiritsa ntchito Rust pa ma code atsopano n'komveka, chifukwa malinga ndi ziwerengero, zolakwika zambiri zimapezeka mu ma code atsopano kapena omwe asinthidwa posachedwapa. Makamaka, pafupifupi 50% ya zolakwika zokumbukira zomwe zapezeka mu Android apezeka mu code yolembedwa pasanathe chaka chimodzi chapitacho.

Source: opennet.ru
