Hoʻolālā no ke kākau ʻana i nā mea hoʻokele palekana no ka Linux kernel ma Rust

ʻO Josh Triplett, ka mea hana ma Intel a aia ma ke komite e mālama ana i ka hoʻomohala ʻana o Crates.io, e kamaʻilio ana ma ka Open Source Technology Summit. hoopuka he pūʻulu hana i manaʻo e lawe i ka ʻōlelo Rust e like me ka ʻōlelo C ma ke kahua o nā polokalamu ʻōnaehana.

I loko o kahi pūʻulu hana e hana ʻia ana, nā mea hoʻomohala Rust, a me nā ʻenekinia mai Intel, e hoʻomākaukau i nā kikoʻī e wehewehe ana i ka hana pono e hoʻokō ʻia ma Rust no nā polokalamu ʻōnaehana. Pono pinepine ka hoʻolālā ʻōnaehana i ka hoʻoponopono haʻahaʻa haʻahaʻa, e like me ka hoʻokō ʻana i nā ʻōlelo aʻoaʻo ponoʻī a me ka loaʻa ʻana o ka ʻike kikoʻī e pili ana i ke kūlana o ka mea hana. ʻO nā hiʻohiʻona like i hoʻomohala ʻia no Rust, kākoʻo ʻia nā hale i kapa ʻole ʻia, nā uniona, nā hoʻokomo ʻōlelo hui (ʻo ka macro "asm!") a me ke ʻano helu helu lana BFLOAT16.

Manaʻo ʻo Josh ʻo Rust ka wā e hiki mai ana o ka hoʻolālā ʻōnaehana, a ʻo ka ʻōlelo C i nā ʻoiaʻiʻo o kēia manawa ke koi nei i kahi i noho ʻia e Assembly i nā makahiki i hala. ʻO ka ʻōpala
ʻaʻole wale e hoʻokuʻu i nā mea hoʻomohala mai nā pilikia i loaʻa i ka ʻōlelo C e kū mai ana ma muli o ka hana haʻahaʻa haʻahaʻa me ka hoʻomanaʻo, akā hāʻawi pū kekahi i ka manawa e hoʻohana ai i ka hoʻomohala ʻana i nā paradigms papahana hou.

I loko o kūkā kamaʻilio nā hana hana
Ua hele mai ʻo Josh me ka manaʻo e hoʻohui i ka hiki ke hoʻomohala i nā mea hoʻokele ma ka Linux kernel ma ka ʻōlelo Rust, kahi e hiki ai ke hana i nā mea hoʻokele palekana a maikaʻi hoʻi me ka hoʻoikaika liʻiliʻi, ʻaʻohe pilikia e like me ka hoʻomanaʻo ʻana ma hope o ka hoʻokuʻu ʻana, null nā kuhikuhi kuhikuhi a me ka hoʻonui ʻana.

ʻO Greg Kroah-Hartman, ka mea nona ke kuleana no ka mālama ʻana i ka lālā paʻa o ka kernel Linux, ua hōʻike i kona mākaukau e hoʻohui i kahi hoʻolālā no ka hoʻomohala ʻana i nā mea hoʻokele ma ka ʻōlelo Rust i ka kernel inā loaʻa iā ia nā pōmaikaʻi maoli ma mua o C, no ka laʻana, e hāʻawi ia i ka palekana. nā hoʻopaʻa ʻana ma luna o Kernel API. Eia kekahi, ua noʻonoʻo ʻo Greg i kēia hoʻolālā he koho wale nō, ʻaʻole hana ma ka paʻamau, i ʻole e hoʻokomo iā Rust ma ke ʻano he hilinaʻi kūkulu ma ka kernel.

Ua ʻike ʻia he nui nā hui e hana nei i kēia ala. No ka laʻana, nā mea hoʻomohala mai ka hui "Fish in a Barrel" hoomakaukauia he pahu hana no ke kākau ʻana i nā modula hiki ke hoʻouka ʻia no ka Linux kernel ma ka ʻōlelo Rust, me ka hoʻohana ʻana i kahi pūʻulu o nā papa abstract ma luna o nā interface a me nā hale kernel e hoʻonui ai i ka palekana. Hoʻokumu ʻia nā papa ma muli o nā faila poʻomanaʻo kernel e hoʻohana ana i ka pono bindgen. Hoʻohana ʻia ʻo Clang e kūkulu i nā papa. Ma kahi o nā interlayers, hoʻohana nā modules i hui ʻia i ka pūʻulu staticlib.

Hoʻohālike ke ulu nei ʻO kekahi papahana ʻē aʻe i kālele ʻia i ka hoʻomohala ʻana i nā mea hoʻokele no nā ʻōnaehana i hoʻopili ʻia a me nā polokalamu IoT, e hoʻohana pū ana i ka bindgen e hana i nā papa e pili ana i nā faila header kernel. Hāʻawi ka framework iā ʻoe e hoʻomaikaʻi i ka palekana o ka mea hoʻokele me ka ʻole o ka hoʻololi ʻana i ka kernel - ma kahi o ka hana ʻana i nā pae kaʻawale hou no nā mea hoʻokele i loko o ka kernel, ua manaʻo ʻia e ālai i nā pilikia ma ka pae hoʻohui, me ka hoʻohana ʻana i ka ʻōlelo Rust paʻa. Manaʻo ʻia ʻo ia ʻano ala e koi ʻia e nā mea hana hana e hoʻomohala ana i nā mea hoʻokele waiwai me ka wikiwiki ʻole me ka hana ʻole ʻana i kahi loiloi kūpono.

ʻAʻole naʻe i hoʻokō ʻia nā hana i manaʻo ʻia, akā ua kūpono ke kaʻa no ka hana a ua hoʻohana ʻia e kākau i kahi mea hoʻokele hana no ka mana LAN9512 USB Ethernet i hoʻolako ʻia ma ka papa Raspberry Pi 3. ʻO ka mea hoʻokele smsc95xx i kēia manawa, i kākau ʻia e in ʻōlelo C. Hoʻomaopopo ʻia ʻo ka nui o ka module a me ka overhead mai nā ʻāpana runtime i ka wā e hoʻomohala ai i kahi mea hoʻokele ma Rust he mea nui ʻole, e hiki ai ke hoʻohana ʻia ke ʻano no nā hāmeʻa me nā kumu waiwai.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka