De tsiende ferzje fan patches foar de Linux-kernel mei Rust-taalstipe

Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, предложил для рассмотрения разработчиками ядра Linux выпуск v10 компонентов для разработки драйверов устройств на языке Rust. Это одиннадцатая редакция патчей с учётом первого варианта, опубликованного без номера версии. Включение поддержки Rust одобрено Линусум Торвальдсом для включения в состав ядра Linux 6.1, если не всплывут непредвиденные проблемы. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let’s Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета.

Как и прошлый вариант патчей выпуск v10 урезан до самого необходимого минимума, достаточного для сборки простого модуля ядра, написанного на языке Rust. Отличия от прошлой версии сводятся к мелким правкам, замене sizeof на ARRAY_SIZE в kallsyms.c и адаптации патчей к ядру v6.0-rc7. Предполагается, что минимальный патч, размер которого сокращён с с 40 до 13 тысяч строк кода, упростит принятие поддержки Rust в основной состав ядра. После обеспечения минимальной поддержи планируется постепенно наращивать имеющуюся функциональность, перенося и другие изменения из ветки Rust-for-Linux.

De foarstelde feroarings meitsje it mooglik om Rust te brûken as twadde taal foar it ûntwikkeljen fan bestjoerders en kernelmodules. Rust-stipe wurdt presintearre as in opsje dy't net standert ynskeakele is en net resulteart yn it opnimmen fan Rust ûnder de fereaske build-ôfhinklikens foar de kernel. Troch Rust te brûken om sjauffeurs te ûntwikkeljen kinne jo feiliger en bettere sjauffeurs meitsje mei minimale ynspanning, frij fan problemen lykas tagong ta in ûnthâldgebiet nei't it befrijd is, nul-oanwizers derferearje, en buffer-oerrin.

Unthâld-feilige ôfhanneling wurdt foarsjoen yn Rust op it gearstallen tiid troch referinsje kontrôle, byhâlden fan foarwerp eigendom en foarwerp libben (omfang), likegoed as troch evaluaasje fan 'e korrektheid fan ûnthâld tagong ûnder koade útfiering. Rust leveret ek beskerming tsjin oerstreamingen fan heule getal, fereasket ferplichte inisjalisaasje fan fariabele wearden foar gebrûk, behannelet flaters better yn 'e standertbibleteek, tapast standert it konsept fan ûnferoarlike referinsjes en fariabelen, biedt sterke statyske typen om logyske flaters te minimalisearjen.

Boarne: opennet.ru

Add a comment