Leagan nua de phaistí don eithne Linux le tacaíocht don teanga Rust

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

Thabhairt chun cuimhne go bhféadfaidh na hathruithe atá beartaithe Rust a úsáid mar dhara teanga chun tiománaithe agus modúil eithne a fhorbairt. Cuirtear tacaíocht meirge i láthair mar rogha nach bhfuil cumasaithe de réir réamhshocraithe agus ní fhágann sé go n-áirítear Rust mar spleáchas tógála riachtanach don eithne. Trí meirge a úsáid chun tiománaithe a fhorbairt, beidh tú in ann tiománaithe níos sábháilte agus níos fearr a chruthú gan mórán iarrachta, saor ó fhadhbanna ar nós rochtain cuimhne tar éis saortha, dereferences pointeoir nialasach, agus róchaiteachas maoláin.

Soláthraítear sábháilteacht chuimhne i Rust ag am tiomsaithe trí sheiceáil tagartha, súil a choinneáil ar úinéireacht réad agus saolré réad (raon feidhme), chomh maith le trí mheastóireacht a dhéanamh ar cheart an rochtain chuimhne le linn fhorghníomhú an chóid. Soláthraíonn Rust cosaint freisin i gcoinne ró-shreabhadh slánuimhir, éilíonn túsú éigeantach luachanna athraitheacha roimh úsáid, láimhseálann sé earráidí níos fearr sa leabharlann caighdeánach, cuireann sé coincheap na dtagairtí agus na n-athróg do-athraithe i bhfeidhm de réir réamhshocraithe, cuireann clóscríobh statach láidir ar fáil chun earráidí loighciúla a íoslaghdú.

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

  • Инструментарий обновлён до выпуска Rust 1.59.0. С новой версией Rust также синхронизирован вариант библиотеки alloc, избавленный от возможных генераций состояния «panic» при возникновении ошибок, таких как нехватка памяти. Стабилизирована возможность использования ассемблерных вставок («feature(global_asm)»).
  • Добавлена поддержка создания на языке Rust хостовых программ, используемых в процессе компиляции ядра.
  • Вместо поставки заранее созданных файлов со спецификацией целевых платформ обеспечена их динамическая генерация на основе конфигурации ядра.
  • Добавлен параметр ядра HAVE_RUST, включаемый для архитектур, на которых поддерживается Rust.
  • Предложены абстракции для использования в коде на языке Rust аппаратного генератора псевдослучайных чисел.
  • Разрешено использование кодов ошибок без префикса «Error::» (например, «return Err(EINVAL)») для приближения к обработке кодов ошибок на Си.
  • Добавлен тип «CString» для собственных Си-строк. Объединены типы Formatter и Buffer.
  • Добавлены типажи Bool и LockInfo.
  • Упрощена реализация spin-блокировок.

Foinse: oscailtenet.ru

Add a comment