Google e butse khoutu bakeng sa sistimi e sireletsehileng ea KataOS

Google e phatlalalitse ho sibolloa ha nts'etsopele e amanang le morero oa KataOS, e reretsoeng ho theha sistimi e sireletsehileng ea ts'ebetso bakeng sa lisebelisoa tse kentsoeng. Likarolo tsa tsamaiso ea KataOS li ngotsoe ka Rust 'me li sebetsa ka holim'a microkernel ea seL4, eo bopaki ba lipalo ba ho tšepahala bo fanoeng ka mekhoa ea RISC-V, e bontšang hore khoutu e lumellana ka botlalo le litlhaloso tse boletsoeng ka puo e hlophisitsoeng. Khoutu ea projeke e bulehile tlasa laesense ea Apache 2.0.

Sistimi e fana ka ts'ehetso bakeng sa sethala se ipapisitseng le meralo ea RISC-V le ARM64. Ho etsisa ts'ebetso ea seL4 le tikoloho ea KataOS ka holim'a hardware, moralo oa Renode o sebelisoa nakong ea tsoelo-pele. E le ts'ebetsong ea litšupiso, software ea Sparrow le thepa ea thepa e hlahisoa, e kopanya KataOS le li-chips tse sireletsehileng tse thehiloeng sethaleng sa OpenTitan. Tharollo e reriloeng e u lumella ho kopanya kernel ea sistimi e netefalitsoeng ka mokhoa o hlakileng le likarolo tse tšepahalang tsa lisebelisoa (RoT, Root of Trust), e hahiloeng ho sebelisoa sethala sa OpenTitan le meralo ea RISC-V. Ntle le khoutu ea KataOS, ho reriloe ho bula likarolo tse ling tsohle tsa Sparrow, ho kenyelletsa le karolo ea hardware, nakong e tlang.

Sethala se ntse se ntlafatsoa ka leihlo la ts'ebeliso ea li-chips tse khethehileng tse etselitsoeng ho tsamaisa likopo tsa ho ithuta ka mochini le ho sebetsana le tlhahisoleseling ea lekunutu, e hlokang boemo bo khethehileng ba ts'ireletso le netefatso ea ho ba sieo ha mefokolo. Mehlala ea lits'ebetso tse joalo e kenyelletsa litsamaiso tse laolang litšoantšo tsa batho le ho rekota mantsoe. Tšebeliso ea KataOS ea ho netefatsa ho tšepahala e tiisa hore haeba karolo e le 'ngoe ea tsamaiso e hlōleha, ho hlōleha ho ke ke ha hasana tsamaisong eohle, haholo-holo, ho ea ho kernel le likarolo tse mahlonoko.

Moralo oa seL4 o tsebahala ka ho tsamaisa likarolo tsa ho tsamaisa lisebelisoa tsa kernel sebakeng sa mosebelisi le ho sebelisa lisebelisoa tse tšoanang tsa taolo ea phihlello bakeng sa lisebelisoa tse joalo ka lisebelisoa tsa basebelisi. Microkernel ha e fane ka likheo tsa boemo bo holimo tse lokiselitsoeng ho laola lifaele, lits'ebetso, likhokahano tsa marang-rang, joalo-joalo; ho fapana le moo, e fana ka mekhoa e fokolang feela ea ho laola phihlello ea sebaka sa aterese ea 'mele, litšitiso le lisebelisoa tsa processor. Lits'oants'o tsa boemo bo holimo le bakhanni ba ho sebelisana le hardware li kengoa ts'ebetsong ka thoko holim'a microkernel ka mokhoa oa mesebetsi ea boemo ba basebelisi. Ho fihlella ha mesebetsi e joalo ho lisebelisoa tse fumanehang ho microkernel ho hlophisitsoe ka tlhaloso ea melao.

Bakeng sa ts'ireletso e eketsehileng, likarolo tsohle ntle le microkernel li entsoe ka tlhaho ho Rust li sebelisa mekhoa e bolokehileng ea lenaneo e fokotsang liphoso tsa memori tse lebisang mathateng a kang ho fihlella memori ka mor'a ho lokolla, null pointer dereferences, le buffer overruns. Sesebelisoa sa kopo tikolohong ea seL4, lits'ebeletso tsa sistimi, moralo oa nts'etsopele ea kopo, API ea ho fihlella mehala ea sistimi, mookameli oa ts'ebetso, mochini oa kabo ea mohopolo o matla, joalo-joalo li ngotsoe ho Rust. Kopano e netefalitsoeng e sebelisa thulusi ea CAmkES, e entsoeng ke morero oa seL4. Likarolo tsa CAmkES le tsona li ka etsoa ho Rust.

Rust e tiisa ts'ireletseho ea memori ka nako ea ho bokella ka ho hlahloba litšupiso, beng ba ntho le ho lekola bophelo ba ntho (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 litekanyetso tse fapaneng li qalisoe pele li sebelisoa, e sebelisa mohopolo oa litšupiso tse sa fetoheng le tse fapaneng ka mokhoa o ikhethileng, 'me e fana ka typing e matla ea ho thaepa ho fokotsa liphoso tse utloahalang.

Source: opennet.ru

Eketsa ka tlhaloso