UMiguel Ojeda, umbhali wephrojekthi i-Rust-for-Linux, okuphakanyiswe ukuthi kucatshangelwe ngabathuthukisi be-kernel Linux Inguqulo ebuyekeziwe yezingxenye zokuthuthukisa abashayeli bedivayisi ku-Rust. Ukusekelwa kwe-Rust kubhekwa njengokuhlola, kodwa sekuvunyelwe kakade ukuthi kufakwe egatsheni le-linux-next. Inguqulo entsha ibhekana nezinkinga eziphakanyiswe ngesikhathi kuxoxwa ngenguqulo yokuqala yama-patches. ULinus Torvalds usevele ujoyine ingxoxo futhi waphakamisa izinguquko ku-logic yokusingatha imisebenzi ethile ye-bitwise.
Khumbula ukuthi izinguquko ezihlongozwayo zenza kube nokwenzeka ukusebenzisa i-Rust njengolimi lwesibili ekuthuthukiseni abashayeli namamojula we-kernel. Ukusekelwa kokugqwala kwethulwa njengenketho engenziwanga amandla ngokuzenzakalela futhi akubangeli ukuthi i-Rust ifakwe njengokuncika okudingekile ekwakheni kwe-kernel. Ukusebenzisa i-Rust ekuthuthukiseni abashayeli kuzokuvumela ukuthi udale abashayeli abaphephile nabangcono ngomzamo omncane, ongenazo izinkinga ezifana nokufinyelela inkumbulo ngemva kokukhulula, izinkomba ezingenalutho, kanye nokweqa kwe-buffer.
Ukuphepha kwenkumbulo kunikezwa ku-Rust ngesikhathi sokuhlanganiswa ngokuhlolwa kwereferensi, ukulandelela ubunikazi bento kanye nesikhathi sokuphila kwento (ububanzi), kanye nokuhlola ukulunga kokufinyelela inkumbulo ngesikhathi sokukhishwa kwekhodi. I-Rust iphinde inikeze ukuvikeleka ekuchichimeni okuphelele, idinga ukuqaliswa okuyisibopho kwamanani ahlukile ngaphambi kokusetshenziswa, iphatha amaphutha kangcono kulabhulali evamile, isebenzisa umqondo wezithenjwa ezingaguquleki nokuguquguqukayo ngokuzenzakalelayo, inikeza ukuthayipha okuqinile okuqinile ukuze kuncishiswe amaphutha anengqondo.
Izinguquko eziphawuleka kakhulu enguqulweni entsha yamapeshi:
- Ikhodi yokwabiwa kwememori ikhululiwe ekukhiqizeni isimo "sokwethuka" lapho kwenzeka amaphutha afana nokuphuma kwememori. Kufakwe okuhlukile komtapo wezincwadi we-Rust alloc, olungisa kabusha ikhodi ukuze isingathe ukwehluleka, kodwa umgomo omkhulu uwukudlulisa zonke izici ezidingekayo ze-kernel kuhlelo oluyinhloko lwe-alloc (izinguquko sezilungisiwe kakade futhi zadluliselwa ezingeni elijwayelekile. Umtapo wezincwadi wokugqwala).
- Esikhundleni sokwakhiwa kwasebusuku, manje ungasebenzisa ukukhishwa kwe-beta nokukhishwa okuzinzile kwe-rustc compiler ukuze uhlanganise i-kernel ngokusekelwa kwe-Rust. Njengamanje, i-rustc 1.54-beta1 isetshenziswa njenge-reference compiler, kodwa ngemva kokukhishwa kwe-1.54 ekupheleni kwenyanga, izosekelwa njengomhlanganisi wereferensi.
- Kwengezwe usekelo lokubhala ukuhlola kusetshenziswa isibaluli esijwayelekile esithi “#[test]” seRust kanye nekhono lokusebenzisa ama-doctest ukuze kubhalwe ukuhlolwa.
- Usekelo olungeziwe lwezakhiwo ze-ARM32 ne-RISCV ngaphezu kokusekelwa kwangaphambilini kwe-x86_64 ne-ARM64.
- Ukuqaliswa okuthuthukisiwe kwe-GCC Rust (i-GCC frontend for Rust) kanye ne-rustc_codegen_gcc (i-rustc backend ye-GCC), manje edlula zonke izivivinyo eziyisisekelo.
- Ileveli entsha yokukhipha ihlongozwa ukuze isetshenziswe ezinhlelweni ze-Rust ze-kernel ezibhalwe ngo-C, njengezihlahla ezimnyama-ezimnyama, izinto ezibalwe njengereferensi, ukudalwa kwesichazamazwi sefayela, imisebenzi, amafayela, namavekhtha we-I/O.
- Izingxenye zokuthuthukisa abashayeli zithuthukise ukwesekwa kwemojuli ye-file_operations, imojula!okukhulu, ukubhaliswa okukhulu, kanye nezishayeli ezingajwayelekile (phenya uphinde ukhiphe).
- I-Binder manje isekela izichazi zefayela ezidlulayo namahhuku e-LSM.
- Isibonelo esisebenza kakhulu somshayeli we-Rust siyahlongozwa - bcm2835-rng yehadiwe i-random generator inombolo yamabhodi we-Raspberry Pi.
Ukwengeza, amaphrojekthi athile ezinkampani ahlobene nokusetshenziswa kweRust ku-kernel kuthiwa:
- I-Microsoft iveze intshisekelo yokubamba iqhaza emsebenzini wokuhlanganisa ukwesekwa kwe-Rust ku-kernel. Linux futhi isilungele ukuhlinzeka ngokusetshenziswa kwabashayeli be-Hyper-V in Rust ezinyangeni ezizayo.
- I-ARM isebenzela ukuthuthukisa ukwesekwa kwe-Rust kumasistimu asekelwe ku-ARM. Iphrojekthi ye-Rust isivele ihlongoze izinguquko ezizokwenza amasistimu we-ARM angu-64-bit abe inkundla ye-Tier 1.
- I-Google ihlinzeka ngokuqondile ngokusekelwa kwephrojekthi ye-Rust ye Linux, ithuthukisa ukusetshenziswa okusha kwendlela yokuxhumana ye-Binder interprocess eRust futhi icabanga ukubhala kabusha abashayeli abahlukahlukene eRust. Nge-ISRG (Internet Security Research Group), i-Google inikeze uxhaso lomsebenzi wokuhlanganiswa kwe-kernel. Linux Ukusekelwa kokugqwala.
- I-IBM isebenzise ukusekelwa kwe-kernel ye-Rust yezinhlelo ze-PowerPC.
- Ilabhorethri ye-LSE (Systems Research Laboratory) ithuthukise umshayeli we-SPI eRust.
Source: opennet.ru
