Putanga tuawha 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 whakatakoto te tuawha o nga waahanga mo te whakawhanake i nga taraiwa taputapu i roto i te reo Rust hei whakaaro ma nga kaihanga kernel Linux. Ko te tautoko waikura e kiia ana he whakamatautau, engari kua whakaaehia kia whakauruhia ki roto i te peka linux-muri, kua pakeke ki te timata ki te mahi ki te hanga paparanga tangohanga ki runga i nga punaha riaka, tae atu ki te tuhi taraiwa me nga waahanga. Ko te whanaketanga kei te 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 me te tuatoru o nga panui. I roto i te putanga hou:

  • Ko te whakawhiti ki te whakamahi i te tuku pumau o Rust 1.58.0 i te mea kua mahia e te kaitoi tohutoro. I roto i nga huringa e tika ana mo te kaupapa, kaore ano kia whakauruhia ki roto i te kete taputapu Rust matua, ko te haki "-Zsymbol-mangling-version=v0" (e tumanakohia ana i roto i te Rust 1.59.0) me te aratau "pea_uninit_extra" (e tumanakohia ana i roto i te Rust 1.60.0). .XNUMX) kua tohua.
  • Kua taapirihia nga arowhai aunoa mo te waatea o nga taputapu Rust e tika ana me te whakawhānui ake i te kaha ki te whakamatautau i te tautoko Rust i roto i te punaha.
  • Kua whakatakotohia he tangohanga hou mo te uru atu ki nga ripanga tautuhi taputapu ("IdArray" me "IdTable") mai i te waehere Rust.
  • Paparanga taapiri mo te uru atu ki nga mahi e pa ana ki te taima (anga karaka).
  • Ko nga kaitaraiwa papaaho kua tautuhia inaianei na roto i te whakatinanatanga o nga ahuatanga.
  • Kua taapirihia he tonotono hou hei whakamaarama i te rehitatanga o nga kaitaraiwa papaarangi, a kua tohua he tauira taraiwa whanui hou.
  • He tonotono taapiri mo nga hanganga "dev_*".
  • Kua taapirihia nga tikanga "{panui, tuhi}*_relaxed" mo te momo IoMem .
  • I tangohia te taonga FileOpener hei whakangawari i nga mahi o te konae.
  • Kua taapirihia te tawhā "ThisModule" ki nga tohenga kua paahitia i te rehitatanga o te taraiwa.
  • Ko te tauira paerewa mo te hanga i nga kowae kernel ki te reo Rust ka tukuna.

Source: opennet.ru

Tāpiri i te kōrero