Putanga hou o nga papanga mo te pata Linux me te tautoko mo te reo Rust

Ko Miguel Ojeda, te kaituhi o te kaupapa Rust-for-Linux, i tono kia tukuna nga waahanga v5 mo te whakawhanake i nga taraiwa taputapu i roto i te reo Rust hei whakaaro ma nga kaihanga kernel Linux. Koinei te putanga tuaono o nga papanga, me te whakaaro ki te putanga tuatahi, i whakaputaina kaore he nama putanga. Ko te tautoko waikura e kiia ana he whakamatautau, engari kua whakauruhia ki roto i te peka linux-muri, kua tino whakawhanakehia hei timata mahi ki te hanga paparanga tangohanga i runga i nga punaha riaka, tae atu ki te tuhi taraiwa me nga waahanga. Ko te whakawhanaketanga he putea e Google me te ISRG (Ipurangi Rangahau Rangahau Roopu), ko ia te kaiwhakaara o te kaupapa Let's Encrypt me te whakatairanga i te HTTPS me te whanaketanga o nga hangarau hei whakapai ake i te haumarutanga Ipurangi.

Kia maumahara ko nga huringa e whakaarohia ana ka taea te whakamahi i te Rust hei reo tuarua mo te whakawhanake i nga taraiwa me nga waahanga kernel. Ko te tautoko waikura ka whakaatuhia hei whiringa kaore e taea te taunoa me te kore e uru ki te waikura hei ti'aturi hanga mo te kernel. Ma te whakamahi i te Rust mo te whanaketanga taraiwa ka taea e koe te hanga taraiwa haumaru me te pai ake me te iti o te whakapau kaha, kaore he raruraru penei i te uru mahara i muri i te wateatanga, nga tohu tohu korekore, me te nui o te aukati.

Ka whakaratohia te haumaru mahara i roto i te Rust i te wa whakahiato ma te tirotiro tohutoro, te pupuri i te mana o te ahanoa me te oranga o te ahanoa (whanui), tae atu ki te arotake i te tika o te uru mahara i te wa e mahia ana te waehere. Ko te waikura hoki he whakamarumaru mai i nga puhaketanga integer, me whakahau kia tiimata nga uara taurangi i mua i te whakamahi, ka pai ake te hapai i nga hapa i roto i te whare pukapuka paerewa, te whakamahi i te kaupapa o nga tohutoro koretake me nga taurangi ma te taunoa, e tuku ana i te patopato pateko kaha hei whakaiti i nga hapa arorau.

Ko te putanga hou o nga papaki kei te whakakore tonu i nga korero i puta i te wa o te korerorero mo te tuatahi, tuarua, tuatoru, tuawha me te rima o nga putanga o nga papa. I roto i te putanga hou:

  • Kua whakahoutia te kete taputapu ki te tuku i te Rust 1.59.0. He momo rereke o te whare pukapuka alloc ka tukutahia me te putanga hou o Rust, ka whakakore i te reanga pea o te ahua "panic" ka puta nga hapa, penei i te kore o te mahara. Ko te kaha ki te whakamahi i nga whakauru assembler (“feature(global_asm)”) kua whakapumautia.
  • He tautoko taapiri mo te hanga kaupapa manaaki i roto i te Rust e whakamahia ana i te wa whakahiato kernel.
  • Engari ki te tuku i nga konae whakapumautanga o te papaaapapa i hangaia i mua i te hanga, he mea hanga hihiri i runga i te whirihoranga kernel.
  • Kua taapirihia te tawhā kernel HAVE_RUST kia taea ai nga hoahoanga e tautoko ana i te Waikura.
  • Ko nga tangohanga e whakaarohia ana hei whakamahi i roto i te Waehere Rust mo te taputapu whakaputa nama pseudo-tupurangi.
  • Whakaaetia te whakamahi i nga waehere hapa kaore he "Hapa::" prefix (hei tauira, "hoki Hapa(EINVAL)") ki te tata ki te whakahaerenga o nga waehere hapa i C.
  • Kua taapirihia te momo "CSString" mo nga aho-C ritenga. Kua whakakotahihia nga momo Whakahōputu me te Buffer.
  • Kua taapirihia nga momo Bool me te LockInfo.
  • Kua whakangwarihia te whakatinanatanga o nga raka miro.

Source: opennet.ru

Tāpiri i te kōrero