Ko te putanga tuarua 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 he putanga whakahou 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 te peka linux-muri. Ko te putanga hou ka whakakore i nga korero i puta i te wa o te korerorero mo te putanga tuatahi o nga papa. Kua uru atu a Linus Torvalds ki te korerorero me te whakaaro kia whakarereketia te arorau mo te tukatuka i etahi mahi moka.

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 nga huringa tino kitea i roto i te putanga hou o nga papanga:

  • Ka wetekina te waehere toha mahara mai i te ahua "panic" ka puta nga hapa penei i te kore o te mahara. He momo rereke o te whare pukapuka Rust alloc, e mahi ana i te waehere ki te hapai i nga rahunga, engari ko te tino whainga ko te whakawhiti i nga ahuatanga katoa e hiahiatia ana mo te kernel ki te whakaputanga matua o alloc (kua oti kee nga whakarereketanga me te whakawhiti ki te paerewa. whare pukapuka waikura).
  • Engari ki te hanga i ia po, ka taea e koe te whakamahi i nga putanga beta me nga whakaputanga pumau o te whakahiato rustc ki te whakahiato i te kakano me te tautoko Rust. I tenei wa, ka whakamahia te rustc 1.54-beta1 hei kaiwhakatakoto tohutoro, engari i muri i te tukunga o te 1.54 i te mutunga o te marama, ka tautokona hei kaiwhakatakoto korero.
  • He tautoko taapiri mo nga whakamatautau tuhi ma te whakamahi i te huanga "#[whakamatautau]" mo Rust me te kaha ki te whakamahi i nga whakamatautau ki te tuhi i nga whakamatautau.
  • He tautoko taapiri mo nga hoahoanga ARM32 me RISCV hei taapiri ki te x86_64 me te ARM64 i tautokohia i mua.
  • Kua pai ake te whakatinanatanga o te GCC Rust (GCC mua mo Rust) me te rustc_codegen_gcc (rustc backend mo GCC), ka eke inaianei ki nga whakamatautau taketake katoa.
  • Kei te whakaarohia he taumata tangohanga hou mo te whakamahi i roto i nga kaupapa Rust o nga tikanga kernel kua tuhia ki te C, penei i nga rakau whero-pango, nga mea kua tatauhia hei tohutoro, te hanga tuhinga whakaahua, nga mahi, nga konae, me nga vector I/O.
  • Ko nga waahanga whanaketanga atekōkiri kua pai ake te tautoko mo te kōwae whakahaere_kōnae, te kōwae! tonotono, te rehita tonotono, me nga taraiwa taketake (te tirotiro me te tango).
  • Kei te tautoko a Binder i nga korero whakawhiti me nga matau LSM.
  • Kei te whakaarohia he tauira mahi ake o te taraiwa waikura - bcm2835-rng mo te taputapu hanga tau matapōkere o nga papa Raspberry Pi.

Hei taapiri, ko nga kaupapa a etahi kamupene e pa ana ki te whakamahi i te Rust i roto i te kernel kua whakahuahia:

  • Kua whakaatu a Microsoft i te hiahia ki te whai waahi ki te mahi ki te whakauru i te tautoko Rust ki roto i te kernel Linux me te rite ki te whakarato i nga mahi taraiwa mo Hyper-V i runga i te Rust i nga marama e haere ake nei.
  • Kei te mahi a ARM ki te whakapai ake i te tautoko Rust mo nga punaha-a-ARM. Kua whakatakotohia e te kaupapa Rust nga whakarereketanga ka waiho nga punaha ARM 64-bit hei papaaapapa Tier 1.
  • He tautoko tika a Google mo te kaupapa Rust mo Linux, kei te whakawhanake i te whakatinanatanga hou o te tikanga whakawhitiwhitinga whakawhitiwhiti Binder i Rust, me te whakaaro ki te mahi ano i nga momo taraiwa i Rust. Na roto i te ISRG (Ipurangi Roopu Rangahau Haumarutanga), i whakawhiwhia e Google he putea mo nga mahi hei whakauru i te tautoko Rust ki roto i te kernel Linux.
  • Kua whakatinanahia e IBM te tautoko kernel mo Rust mo nga punaha PowerPC.
  • Kua whakawhanakehia e te taiwhanga LSE (Systems Research Laboratory) he taraiwa SPI i Rust.

Source: opennet.ru

Tāpiri i te kōrero