Putanga tuarima o nga papanga mo te kernel Linux me te tautoko mo te reo Rust

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

Kia maumahara ko nga huringa e whakaarohia ana ka taea te whakamahi i te Rust hei reo tuarua mo te whakawhanake i nga taraiwa me nga waahanga kernel. Ko te tautoko waikura ka whakaatuhia hei whiringa kaore e taea te taunoa me te kore e uru ki te waikura hei ti'aturi hanga mo te kernel. Ma te whakamahi i te Rust mo te whanaketanga taraiwa ka taea e koe te hanga taraiwa haumaru me te pai ake me te iti o te whakapau kaha, kaore he raruraru penei i te uru mahara i muri i te wateatanga, nga tohu tohu korekore, me te nui o te aukati.

Ka whakaratohia te haumaru mahara i roto i te Rust i te wa whakahiato ma te tirotiro tohutoro, te pupuri i te mana o te ahanoa me te oranga o te ahanoa (whanui), tae atu ki te arotake i te tika o te uru mahara i te wa e mahia ana te waehere. Ko te waikura hoki he whakamarumaru mai i nga puhaketanga integer, me whakahau kia tiimata nga uara taurangi i mua i te whakamahi, ka pai ake te hapai i nga hapa i roto i te whare pukapuka paerewa, te whakamahi i te kaupapa o nga tohutoro koretake me nga taurangi ma te taunoa, e tuku ana i te patopato pateko kaha hei whakaiti i nga hapa arorau.

В новом варианте патчей продолжено устранение замечаний, высказанных в процессе обсуждения первой, второй, третьей и четвёртой редакций патчей. В новой версии:

  • В систему непрерывной интеграции на базе поддерживаемого компанией Intel бота 0DAY/LKP добавлена проверка компонентов для поддержки Rust и началась публикация отчётов о тестировании. Готовится интеграция поддержки Rust в систему автоматизированного тестирования KernelCI. Тестирование на базе GitHub CI переведено на использование контейнеров.
  • Модули ядра на Rust избавлены от необходимости определения crate-атрибутов «#![no_std]» и «#![feature(…)]».
  • Добавлена поддержка единичных сборочных целей (.o, .s, .ll и .i).
  • В рекомендациях по оформлению кода определены правила в отношении разделения комментариев («//») и документирования кода («///»).
  • Переработан скрипт is_rust_module.sh.
  • Добавлена поддержка статических (глобальных общих переменных) примитивов синхронизации, основанных на реализации «CONFIG_CONSTRUCTORS».
  • Упрощено управление блокировками: Guard и GuardMut объединены и один параметризованный тип.
  • Предоставлена возможность определения дополнительных параметров при регистрации устройств.
  • Добавлена абстракция «RwSemaphore», выступающая в роли обвязки над Си-структурой rw_semaphore.
  • Для использования mmap добавлен новый модуль mm и абстракция VMA (обвязка над структурой vm_area_struct).
  • Драйвер GPIO PL061 переведён на использование макроса «dev_*!».
  • I mahia he mahinga whanui o te waehere.

Source: opennet.ru

Tāpiri i te kōrero