Rust e kenyellelitsoe har'a lipuo tsa mantlha bakeng sa nts'etsopele ea sethala sa Android

Google e phatlalalitse ho kenyelletsoa ha puo ea lenaneo la Rust har'a lipuo tse lumelletsoeng ho nts'etsapele sethala sa Android. Moqapi oa puo ea Rust o kenyellelitsoe sefateng sa mohloli oa Android morao koana ka 2019, empa tšehetso ea puo ena e ile ea lula e le liteko. Tse ling tsa likarolo tsa pele tsa Rust tse reriloeng bakeng sa Android li kenyelletsa ts'ebetsong e ncha ea mochini oa puisano oa Binder interprocess le stack ea Bluetooth.

Kenyelletso ea Rust e entsoe e le karolo ea morero oa ho matlafatsa ts'ireletso, ho khothaletsa mekhoa e bolokehileng ea mananeo le ho eketsa bokhoni ba ho khetholla mathata ha o sebetsa ka mohopolo ho Android. Hoa hlokomeloa hore hoo e ka bang 70% ea bofokoli bohle bo kotsi bo tsejoang ho Android bo bakoa ke liphoso ha u sebetsa ka mohopolo. Ho sebelisa Rust, e shebaneng le polokeho ea memori le taolo ea memori ea othomathike, e tla fokotsa kotsi ea ho ba le bokooa bo bakoang ke liphoso tsa mohopolo joalo ka phihlello ea mahala le ho fetella ha buffer.

Rust e tiisa ts'ireletseho ea memori ka nako ea ho bokella ka ho hlahloba litšupiso, beng ba ntho le ho latela lintlha tsa bophelo bohle (li-scopes), le ka ho lekola ho nepahala ha phihlello ea memori nakong ea nako. Rust e boetse e fana ka ts'ireletso khahlano le phallo e felletseng, e hloka hore boleng bo feto-fetohang bo qalisoe pele bo sebelisoa, bo be le taolo e betere ea ho sebetsana le laeborari e tloaelehileng, bo sebelisa mohopolo oa litšupiso tse sa fetoheng le mefuta e fapaneng ka boiketsetso, 'me bo fana ka typing e matla ea ho thaepa ho fokotsa liphoso tse utloahalang.

Ho Android, polokeho ea memori e fanoa ka lipuo tse seng li ntse li tšehelitsoe Kotlin le Java, empa ha lia lokela ho nts'etsapele likarolo tsa sistimi ka lebaka la maemo a holimo. Rust e etsa hore ho khonehe ho finyella ts'ebetso e haufi le lipuo tsa C le C ++, e lumellang hore e sebelisoe bakeng sa ho ntlafatsa likarolo tse tlaase tsa sethaleng le likarolo tsa ho sebelisana le hardware.

Ho netefatsa ts'ireletseho ea khoutu ea C le C++, Android e sebelisa ho itšehla thajana ka sandbox, tlhahlobo e sa fetoheng, le tlhahlobo e makatsang. Bokhoni ba ho itšehla thajana ba sandbox bo na le moeli 'me bo fihletse moeli oa bokhoni ba bona (karohano e tsoelang pele ea lits'ebetso ha e khonehe ho latela pono ea tšebeliso ea lisebelisoa). Meeli ea ho sebelisa sandbox e kenyelletsa litšenyehelo tse kholo tse holimo le tšebeliso e eketsehileng ea mohopolo e bakoang ke tlhokahalo ea ho hlahisa mekhoa e mecha, hammoho le tieho e eketsehileng e amanang le tšebeliso ea IPC.

Ka nako e ts'oanang, sandbox ha e felise bofokoli ka khoutu, empa e fokotsa likotsi feela le ho thatafatsa tlhaselo, kaha ho tlatlapa ha ho hloke ho tsebahatsoa ha e le 'ngoe, empa ho na le mefokolo e mengata. Mekhoa e thehiloeng ho tlhahlobo ea khoutu e lekanyelitsoe ka hore e le hore ho khethoe liphoso, hoa hlokahala ho theha maemo a hore bothata bo iponahatse. Ha ho khonehe ho koahela likhetho tsohle tse ka khonehang, liphoso tse ngata ha li hlokomeloe.

Bakeng sa lits'ebetso tsa sistimi ho Android, Google e latela "molao oa bobeli", ho latela hore khoutu efe kapa efe e kenyellelitsoeng e sa tlameha ho kopana le maemo a fetang a mabeli ho a mararo: ho sebetsa ka lintlha tse kentsoeng tse sa netefatsoang, ho sebelisa puo e sa bolokehang ea lenaneo (C/C++), le ho matha ntle le ho itšehla thajana ka thata (ho ba le litokelo tse phahameng). Molao ona o fana ka maikutlo a hore khoutu ea ho sebetsana le data ea ka ntle e tlameha ho fokotsoa hore e be litokelo tse fokolang (e arohaneng) kapa e ngoloe ka puo e sireletsehileng ea lenaneo.

Google ha e na sepheo sa ho ngola khoutu e teng ea C/C++ hape ho Rust, empa e rera ho sebelisa puo ena ho hlahisa khoutu e ncha. Hoa utloahala ho sebelisa Rust bakeng sa khoutu e ncha hobane, ka lipalo, likokoana-hloko tse ngata li hlaha khoutu e ncha kapa e sa tsoa fetoloa. Haholo-holo, hoo e ka bang 50% ea liphoso tsa memori tse fumanoeng ho Android li fumanoa ka khoutu e ngotsoeng nako e ka tlase ho selemo se fetileng.

Rust e kenyellelitsoe har'a lipuo tsa mantlha bakeng sa nts'etsopele ea sethala sa Android


Source: opennet.ru

Eketsa ka tlhaloso