È disponibile la decima versione delle patch per il kernel Linux con supporto per il linguaggio 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.

Предложенные изменения дают возможность использовать Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust преподносится как опция, не активная по умолчанию и не приводящая к включению Rust в число обязательных сборочных зависимостей к ядру. Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверы, избавленные от таких проблем как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

La gestione sicura della memoria in Rust viene garantita durante la compilazione tramite il controllo dei riferimenti, il tracciamento della proprietà degli oggetti e la gestione del tempo di vita degli oggetti (scope), nonché tramite la valutazione della correttezza dell'accesso alla memoria durante l'esecuzione del codice. Rust fornisce anche strumenti per proteggere contro i sovraccarichi numerici, richiede l'inizializzazione obbligatoria dei valori delle variabili prima dell'uso, gestisce meglio gli errori nella libreria standard, applica il concetto di riferimenti e variabili immutabili (immutable) per impostazione predefinita e offre una forte tipizzazione statica per minimizzare gli errori logici.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster