Uhlaka lokubhala abashayeli abavikelekile be-Linux kernel eRust

UJosh Triplett, osebenza kwa-Intel futhi osekomitini elibhekele ukuthuthukiswa kwe-Crates.io, ekhuluma engqungqutheleni ye-Open Source Technology kwethulwa iqembu elisebenzayo elihlose ukuletha ulimi lwe-Rust ekulinganeni nolimi C emkhakheni wezinhlelo zezinhlelo.

Eqenjini elisebenzayo elisenqubweni yokudalwa, abathuthukisi be-Rust, kanye nonjiniyela abavela ku-Intel, bazolungiselela imininingwane echaza ukusebenza okufanele kusetshenziswe ku-Rust ukuze kuhlelwe izinhlelo. Ukuhlelwa kwesistimu kuvame ukudinga ukukhohliswa kwezinga eliphansi, njengokwenza imiyalelo yephrosesa enelungelo kanye nokuthola ulwazi oluningiliziwe mayelana nesimo sephrosesa. Ezicini ezifanayo esezathuthukiswa kakade ze-Rust, ukusekelwa kwezakhiwo ezingashiwongo ngamagama, izinyunyana, ukufakwa kolimi lwemihlangano (i-"asm!" macro) kanye nefomethi yenombolo yephoyinti elintantayo ye-BFLOAT16 kuyaphawulwa.

UJosh ukholelwa ukuthi ikusasa lezinhlelo zesistimu ngelikaRust, futhi ulimi C kumaqiniso esimanje lufuna indawo eminyakeni edlule eyayihlalwa nguMkhandlu. Ukugqwala
akugcini nje ngokukhulula abathuthukisi ezinkingeni ezikhona olimini lwe-C ezivela ngenxa yomsebenzi osezingeni eliphansi ngenkumbulo, kodwa futhi inikeza ithuba lokuyisebenzisa ekuthuthukiseni ama-paradigms wohlelo lwesimanje.

Ngesikhathi izingxoxo ukusebenza
UJosh uqhamuke nombono wokwengeza ikhono lokuthuthukisa abashayeli ku-Linux kernel ngolimi lweRust, okuzokwenza kube nokwenzeka ukudala abashayeli abaphephile nabangcono ngomzamo omncane, ngaphandle kwezinkinga ezifana nokufinyelela inkumbulo ngemuva kokukhulula, null. izinkomba ze-pointer kanye nokweqa kwe-buffer.

U-Greg Kroah-Hartman, onesibopho sokugcina igatsha elizinzile le-Linux kernel, uzwakalise ukulungela kwakhe ukwengeza uhlaka lokuthuthukisa abashayeli ngolimi lwe-Rust ku-kernel uma kunezinzuzo zangempela ngaphezu kuka-C, isibonelo, izohlinzeka ngokuvikelekile. ukubopha nge-Kernel API. Ukwengeza, u-Greg ubheka lolu hlaka kuphela njengenketho, engasebenzi ngokuzenzakalelayo, ukuze angafaki i-Rust njengento encike ekwakheni ku-kernel.

Kuvele ukuthi amaqembu amaningana asevele esebenza kule ndlela. Isibonelo, onjiniyela abavela enkampanini ethi "Fish in a Barrel" ilungisiwe ikhithi yamathuluzi yokubhala amamojula alayishekayo we-Linux kernel ngolimi lwe-Rust, kusetshenziswa isethi yezendlalelo ezingabonakali phezu kwezindawo zokusebenzelana nezinhlaka ze-kernel ukwandisa ukuphepha. Izendlalelo zikhiqizwa ngokuzenzakalelayo ngokusekelwe kumafayela ekhanda le-kernel akhona kusetshenziswa insiza i-bindgen. I-Clang isetshenziselwa ukwakha izendlalelo. Ngokungeziwe kuma-interlayers, amamojula ahlanganisiwe asebenzisa iphakheji ye-staticlib.

Iyafana iyathuthuka Enye iphrojekthi egxile ekuthuthukiseni abashayeli bezinhlelo ezishumekiwe kanye namadivayisi we-IoT, aphinde asebenzise i-bindgen ukukhiqiza izendlalelo ezisekelwe kumafayela ekhanda le-kernel. Uhlaka lukuvumela ukuthi uthuthukise ukuvikeleka komshayeli ngaphandle kokwenza izinguquko ku-kernel - esikhundleni sokudala amazinga engeziwe wokuzihlukanisa kubashayeli ku-kernel, kuhlongozwa ukuvimba izinkinga esigabeni sokuhlanganiswa, usebenzisa ulimi oluvikelekile lwe-Rust. Kucatshangwa ukuthi indlela enjalo ingase idingelwe abakhiqizi bemishini abathuthukisa abashayeli bobunikazi ngokushesha ngaphandle kokwenza ucwaningo olufanele.

Akuwona wonke umsebenzi ohlosiwe osewenziwe, kodwa uhlaka seluvele luwulungele umsebenzi futhi lwasetshenziselwa ukubhala umshayeli osebenzayo wesilawuli se-LAN9512 USB Ethernet esinikezwe ebhodini le-Raspberry Pi 3. Umshayeli okhona we-smsc95xx, obhalwe ngu- C ulimi. Kuyaphawulwa ukuthi usayizi wemojuli kanye ne-overhead kusuka ezingxenyeni zesikhathi sokusebenza lapho kuthuthukiswa umshayeli ku-Rust akubalulekile, okuvumela uhlaka ukuthi lusetshenziselwe amadivayisi anezinsiza ezilinganiselwe.

Source: opennet.ru

Engeza amazwana