Lomiga lona lua o patch mo le fatu Linux ma le lagolago mo le gagana Rust

O Miguel Ojeda, o le tusitala o le Rust-for-Linux project, na tuʻuina atu se faʻafouga fou o vaega mo le atinaʻeina o avetaavale masini i le gagana Rust mo le iloiloga e le au atinaʻe fatu Linux. Ole lagolago ole ale ua manatu ole fa'ata'ita'iga, ae ua uma ona malilie i ai mo le fa'aofiina i le linux-so'o lala. O le lomiga fou e faʻaumatia ai faʻamatalaga na faia i le taimi o le talanoaga o le vaega muamua o patch. Linus Torvalds ua uma ona auai i le talanoaga ma fautuaina le suia o le manatu mo le faʻagaioia o nai gaioiga.

Manatua o suiga ua fuafuaina e mafai ai ona faʻaogaina le Rust e fai ma gagana lona lua mo le atinaʻeina o avetaavale ma kernel modules. O le lagolago a le Rust ua tu'uina atu o se filifiliga e le mafai ona fa'aletonu ma e le i'u ai i le fa'aofiina o le Rust o se fa'alagolago mo le fatu. O le fa'aaogaina o le Rust mo le atina'eina o aveta'avale o le a fa'ataga ai oe e fai ni ta'avale saogalemu ma sili atu ona lelei ma sina taumafaiga itiiti, e sa'oloto mai fa'afitauli e pei o le fa'aogaina o le mafaufau pe a mae'a fa'asa'oloto, fa'aletonu le fa'asinomaga, ma fa'alavelave fa'aletonu.

O le fa'aogaina o le manatua-saogalemu o lo'o tu'uina atu i le Rust i le taimi fa'aopoopo e ala i le siakiina o fa'asinomaga, le siakiina o le mea e umia ma le mea faitino i le olaga atoa (lautele), fa'apea fo'i ma le iloiloga o le sa'o o le manatua avanoa i le taimi o le fa'atinoina o tulafono. E maua ai foi e le ele le puipuiga mai le tele o numera, e manaʻomia ai le faʻatagaina o le faʻatulagaina o tau fesuiaʻi aʻo leʻi faʻaaogaina, e sili atu ona lelei le faʻaogaina o mea sese i totonu o le faletusi masani, faʻaaogaina le manatu o faʻamatalaga e le mafai ona suia ma fesuiaiga e ala i le le mafai, ofoina atu le malosi o le taina e faʻaitiitia ai mea sese.

O suiga sili ona iloga i le lomiga fou o patch:

  • E fa'asa'oloto le fa'ailoga fa'amanatu mai le fa'atupuina o se tulaga o le "popole" pe a tupu mea sese e pei o le le manatua. O loʻo i ai se fesuiaiga o le Rust alloc library, lea e toe faʻaaogaina le code e taulimaina ai faʻaletonu, ae o le sini autu o le tuʻuina atu lea o vaega uma e manaʻomia mo le fatu i le lomiga autu o le alloc (o suiga ua uma ona saunia ma faʻafeiloaʻi i le tulaga masani. faletusi ele).
  • Nai lo o le fausiaina o po, e mafai nei ona e faʻaogaina faʻasalalauga beta ma faʻamaumauga mautu o le rustc compiler e faʻapipiʻi ai se fatu ma le lagolago Rust. I le taimi nei, o le rustc 1.54-beta1 o loʻo faʻaaogaina e fai ma faʻamaumauga tuʻufaʻatasia, ae a maeʻa ona tuʻuina atu le faʻasalalauga 1.54 i le faaiuga o le masina, o le a lagolagoina e avea ma faʻamaumauga tuʻufaʻatasia.
  • Fa'aopoopoina le lagolago mo su'ega tusitusi e fa'aaoga ai le uiga masani "#[test]" mo Rust ma le mafai ona fa'aoga doctests e fa'amau ai su'ega.
  • Fa'aopoopo le lagolago mo ARM32 ma RISCV fausaga fa'aopoopo i le x86_64 ma le ARM64 sa lagolagoina muamua.
  • Fa'aleleia le fa'atinoga o le GCC Rust (GCC frontend mo Rust) ma le rustc_codegen_gcc (rustc backend mo GCC), lea ua pasi uma su'ega fa'avae.
  • O se tulaga fou o le faʻaaogaina o loʻo tuʻuina atu mo le faʻaogaina i polokalama Rust o fatu fatu na tusia i le C, e pei o laʻau mumu-uliuli, mea e faitau faʻasino, faʻasologa o faila faila, galuega, faila, ma vete I/O.
  • O vaega o le atina'eina o aveta'avale ua fa'aleleia atili le lagolago mo le faila_operations module, le module! macro, macro registration, ma aveta'avale amata (su'esu'e ma aveese).
  • O lo'o lagolagoina nei e le Binder fa'amatalaga faila ma matau LSM.
  • O se faʻataʻitaʻiga sili atu ona aoga o se avetaʻavale Rust o loʻo faʻatulagaina - bcm2835-rng mo le masini numera numera generator o laupapa Raspberry Pi.

E le gata i lea, o nisi o galuega a kamupani e fesoʻotaʻi ma le faʻaogaina o le Rust i le fatu o loʻo taʻua:

  • Ua faʻaalia e Microsoft le fiafia e auai i le galuega e tuʻufaʻatasia le lagolago Rust i le fatu Linux ma ua sauni e tuʻuina atu faʻataʻitaʻiga faʻataʻitaʻiga mo Hyper-V i luga o le Rust i masina a sau.
  • ARM o loʻo galue e faʻaleleia le lagolago a le Rust mo faiga faʻavae ARM. O le poloketi Rust ua uma ona tuʻuina atu suiga e mafai ai ona faʻaogaina le 64-bit ARM system o le Tier 1 platform.
  • Google tu'u sa'o le lagolago mo le Rust mo Linux poloketi, o lo'o fa'atupuina se fa'atinoga fou o le Binder interprocess communication mechanism i Rust, ma o lo'o mafaufau i le avanoa e toe fa'aleleia ai ta'avale eseese i Rust. E ala i le ISRG (Internet Security Research Group), Google na tuʻuina atu tupe mo galuega e tuʻufaʻatasia ai le lagolago a Rust i le fatu Linux.
  • Ua fa'atinoina e le IBM le lagolago mo le Rust mo le PowerPC.
  • O le LSE (Systems Research Laboratory) falesuesue ua fausia se SPI aveta'avale i Rust.

puna: opennet.ru

Faaopoopo i ai se faamatalaga