Miguel Ojeda, wolemba buku la Rust-for-projectLinux, yomwe ikuperekedwa kuti iganiziridwe ndi opanga kernel Linux выпуск v5 компонентов для разработки драйверов устройств на языке Rust. Это шестая редакция патчей с учётом первого варианта, опубликованного без номера версии. Поддержка Rust рассматривается как экспериментальная, но уже включена в ветку linux-next и достаточно развита для начала работы по созданию слоёв абстракции над подсистемами ядра, а также для написания драйверов и модулей. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let’s Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета.
Kumbukirani kuti zosintha zomwe zasinthidwa zimapangitsa kuti zitheke kugwiritsa ntchito Rust ngati chilankhulo chachiwiri popanga madalaivala ndi ma module a kernel. Thandizo la dzimbiri limaperekedwa ngati njira yomwe siyimathandizidwa mwachisawawa ndipo sizipangitsa kuti Dzimbiri liphatikizidwe ngati kudalira kofunikira kwa kernel. Kugwiritsa ntchito Rust pakukula kwa madalaivala kumakupatsani mwayi wopanga madalaivala otetezeka komanso abwinoko molimbika pang'ono, opanda mavuto monga kukumbukira kukumbukira mutatha kumasula, kuchotsedwa kwa null pointer, ndi buffer overruns.
Chitetezo cha Memory chimaperekedwa mu Rust panthawi yophatikiza kudzera pakuwunika, kuyang'anira umwini wa chinthu ndi nthawi ya moyo wa chinthu (kukula), komanso kuwunika kulondola kwa kukumbukira kukumbukira panthawi yopanga ma code. Dzimbiri limaperekanso chitetezo ku kusefukira kwazinthu zonse, kumafuna kukhazikitsidwa kovomerezeka kwa zinthu zosinthika musanagwiritse ntchito, kuwongolera zolakwika bwino mulaibulale yokhazikika, kumagwiritsa ntchito lingaliro la maumboni osasinthika ndi zosintha mwachisawawa, kumapereka zilembo zolimba kuti muchepetse zolakwika zomveka.
Kutulutsidwa kwa chigamba chatsopanochi kukupitilirabe kuthana ndi nkhawa zomwe zabuka panthawi yokambirana za kutulutsidwa kwa chigamba choyamba, chachiwiri, chachitatu, chachinayi, ndi chachisanu. Mu mtundu watsopano:
- Chida cha zida chasinthidwa kukhala Rust 1.59.0. Kugwiritsa ntchito laibulale ya alloc kwagwirizanitsidwanso ndi mtundu watsopano wa Rust, kuchotsa mantha omwe angabwere chifukwa cha zolakwika monga zinthu zomwe sizikukumbukiridwa. Kutha kugwiritsa ntchito ma injects assembly ("feature(global_asm)") kwakhazikika.
- Thandizo lowonjezera popanga mapulogalamu olandila mu chilankhulo cha Rust chomwe chimagwiritsidwa ntchito popanga kernel.
- M'malo mopereka mafayilo ofotokozera omwe adapangidwa kale, tsopano amapangidwa mosinthika kutengera kapangidwe ka kernel.
- Yawonjezera HAVE_RUST kernel parameter, yomwe imayatsidwa pa zomangamanga zomwe zimathandizira Rust.
- Zofotokozera zaperekedwa kuti zigwiritsidwe ntchito mu Rust code ya hardware pseudo-random number generator.
- Kugwiritsa ntchito ma code olakwika popanda mawu oyamba akuti "Error::" (monga "return Err(EINVAL)") kumaloledwa kuyerekeza momwe ma code olakwika amagwirira ntchito mu C.
- Anawonjezera mtundu wa "CString" wa ma string a C achikhalidwe. Anaphatikiza mitundu ya Formatter ndi Buffer.
- Mitundu ya Bool ndi LockInfo yawonjezeredwa.
- Kugwiritsa ntchito ma spin locks kwakhala kosavuta.
Source: opennet.ru
