Ka Whakatuwheratia e Microsoft te CHERIoT, he otinga taputapu hei whakapai ake i te haumarutanga waehere C

Kua kitea e Microsoft nga whanaketanga e pa ana ki te kaupapa CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), e whai ana ki te aukati i nga raruraru haumarutanga i roto i te waehere kei roto C me C++. Ka tukuna e CHERIoT tetahi otinga e taea ai e koe te tiaki i nga turanga waehere C/C++ o naianei me te kore e mahi ano. Ka whakatinanahia te whakamarumaru ma te whakamahi i te kaitoi kua whakarerekehia e whakamahi ana i te huinga whakaroa motuhake o nga tohutohu tukatuka (ISA), e whakaratohia ana e te kaitukatuka me te taumata taputapu te aro turuki i te uru mahara, te tirotiro i te tika o te mahi me nga tohu me te whakarite kia wehea nga poraka waehere.

I hangaia te kaupapa me te titiro ki te mea ko te ahua iti o te reo C ka waiho hei puna o nga hapa i te wa e mahi ana me te mahara, ka puta nga raruraru penei i te pupuhi o te paera, te uru ki te mahara kua wetekina, nga tohu tohu, me nga waatea rua. . Ko nga mahi e whakaatu ana ahakoa ko nga umanga nui penei i a Google me Microsoft, he kaupapa here arotake whakarereke me te whakamahi i nga tikanga whanaketanga hou me nga taputapu tātari pateko, kaore e taea te whakapae i te kore o nga hapa i te wa e mahi ana me te mahara (hei tauira, tata ki te 70% o nga whakaraeraetanga kei Microsoft. a ko Google na te kore haumaru o te whakahaere mahara).

Ka taea te whakatau i te raru ma te whakamahi i nga reo whakamaarama e kii ana i te mahi haumaru me te mahara, te here ranei me nga arowhai taapiri, hei tauira, ma te whakamahi hei utu mo nga tohu tohu noa penei i a MiraclePtr (raw_ptr), e mahi ana i etahi atu arowhai mo te uru atu ki nga waahi maharakore. Engari he pai ake enei tikanga mo te waehere hou, me te mahi ano i nga kaupapa C/C++ o naianei he tino raru, ina koa kua hoahoatia kia rere i roto i nga taiao e herea ana nga rauemi, penei i nga punaha whakauru me nga taputapu Ipurangi o nga Mea.

Ko nga waahanga taputapu CHERIoT kua hangaia hei microcontroller i runga i te hoahoanga RISC-V, e whakatinana ana i te hanganga tukatuka CHERI (Capability Hardware Extension to RISC-V) kua tiakina, e whakarato ana i te tauira o te uru mahara ki runga i te "kaha" (ka panui me te tuhi ia tangata. kua whakamanahia te mahi ki te mahara). I runga i te hoahoanga huinga tohutohu (ISA) e whakaratohia ana i CHERIoT, ka hangaia he tauira rorohiko hei whakapumau i te haumaru o te mahi me te mahara ki te taumata o nga mea takitahi, ka whakamarumaru ki te uru ki te mahara kua wetekina, me te whakatinana i te punaha whakaahuru mahara ngawari. . Ko te tauira whakamarumaru rorohiko kua tohua e whakaatu tika ana i roto i te tauira reo C/C++, e taea ai te whakamahi ki te tiaki i nga tono o naianei (ko te whakahiato me te whakahaere i nga taputapu e tautoko ana i te ISA CHERIoT e hiahiatia ana).

Ko te otinga e whakaarohia ana ka taea e koe te aukati i nga hapa e puta ai tetahi ahanoa ki tua atu i nga rohe o te mahara, kaore e whakaae ki te whakakapi i te atatohu (me hanga nga tohu tohu katoa mai i nga tohu o mua), me te aro turuki i te uru mahara i muri i te wateatanga (tetahi uru ki te mahara ma te whakamahi i te hē he atatohu, he tohutoro ranei e tohutoro ana i tetahi mea kua wetekina ka puta he okotahi ka whiua). Hei tauira, ma te whakamahi i te CHERIoT ka taea e koe te whakamahi i te arowhai rohe aunoa, te aroturuki i te ora o te mahara, me te whakakaha tika o te atatohu i roto i nga waahanga e whakahaere ana i nga raraunga kore pono me te kore e whakarereke i nga waehere.

Kei roto i te kaupapa he tohu mo te hoahoanga huinga tohutohu CHERIoT roa, he whakatinanatanga tohutoro mo te 32-bit RISC-V CPU e tautoko ana i te CHERIoT ISA, me tetahi kete taputapu LLVM kua whakarereketia. Ko nga hoahoa tauira tauira CPU me nga whakaahuatanga paraka taputapu i Verilog ka tohatohahia i raro i te raihana Apache 2.0. Ko te Ibex matua mai i te kaupapa lowRISC i whakamahia hei turanga mo te PTM. Ko te tauira waehere CHERIoT ISA kua tautuhia ki te reo Sail me te raihana i raro i te raihana BSD.

I tua atu, ka tukuna he tauira o te punaha whakahaere a CHERIoT RTOS mo te wa-tuuturu, ka taea te wehe i nga waahanga ahakoa i runga i nga punaha whakauru me te 256 MB RAM. Ko te waehere CHERIoT RTOS kua tuhia ki te C++ ka tohatohahia i raro i te raihana MIT. Ko nga waahanga taketake o te OS, penei i te bootloader, te kaiwhakarite me te punaha tohatoha mahara, kua hangaia i roto i te ahua o nga waahanga.

Ko tetahi waahanga kei roto i te CHERIoT RTOS he huinga taratahi o te waehere me nga taurangi o te ao e rite ana ki te whare pukapuka tiritahi, engari kaore i rite ki tera, ka taea e ia te whakarereke i tona ahuatanga (ka taea te whakarereke) ka rere i roto i te horopaki haumarutanga motuhake. Karekau he waehere mai i waho ka taea te whakawhiti mana ki te waehere i roto i te waahanga me te uru ki nga taonga, engari ma te uru atu ki nga tohu whakaurunga kua tautuhia me te whakamahi tohutohu ki nga mea kua paahitia i te wa e karanga ana i tetahi atu waahanga. Ka whakamanahia te tapatahi me te noho muna mo nga waehere me nga taonga o te ao i roto i tetahi waahanga.

Source: opennet.ru

Tāpiri i te kōrero