A decima versione di patches per u kernel Linux cù supportu di lingua Rust

Мигель Охеда (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.

I cambiamenti pruposti permettenu di utilizà Rust cum'è una seconda lingua per sviluppà drivers è moduli di kernel. U supportu di Rust hè presentatu cum'è una opzione chì ùn hè micca attivata per difettu è ùn hà micca risultatu in Rust esse inclusu cum'è una dependenza di creazione necessaria per u kernel. Utilizà Rust per u sviluppu di u driver vi permetterà di creà drivers più sicuri è megliu cù u minimu sforzu, senza prublemi cum'è l'accessu à a memoria dopu a liberazione, dereferences di puntatore nulla è buffer overruns.

A gestione sicura di a memoria hè furnita in Rust à u tempu di compilazione attraversu a verificazione di riferimentu, tenendu traccia di a pruprietà di l'ughjettu è a vita di l'ughjettu (scopu), è ancu per a valutazione di a correttezza di l'accessu di memoria durante l'esekzione di codice. Rust furnisce ancu prutezzione contra i overflows integer, esige l'inizializazione obligatoria di i valori variabili prima di l'usu, gestisce l'errori megliu in a biblioteca standard, applica u cuncettu di referenze immutabili è variabili per difettu, offre una forte tipografia statica per minimizzà l'errori lògichi.

Source: opennet.ru

Add a comment