Western Digital вече работи върху NVMe драйвер, написан на Rust

RustLinux

Интегрирането на Rust в Linux имаше високо ниво на приемане от общността и разработчиците

По време на конференцията „Linux Plumbers 2022“. това продължаваше тези дни, инженер на Western Digital направи презентация за разработването на контролер експериментално за SSD NVM-Express (NVMe), написан на Rust и работи на ниво ядро ​​на Linux.

въпреки че проектът все още е в ранен етап на развитие, проведените тестове показаха, че производителността на драйвера Rust NVMe съответства на драйвера NVMe, написан на C в ядрото.

Аз съм Матю Уилкокс, аз съм един от авторите на спецификацията за NVMe, аз бях този, който ми предложи да направя драйвер за NVMe, за да демонстрирам стойността на Rust. Беше успешен над най-смелите ми очаквания. 

Относно представения доклад казва се, че настоящият NVMe C драйвер е напълно задоволителен за разработчици, но подсистемата NVMe е добра платформа за изследване на осъществимостта на разработването на драйвери в Rust, тъй като е доста проста, широко използвана, има високи изисквания за производителност, има доказана референтна реализация за сравнение и поддържа различни интерфейси ( dev, pci, dma, blk-mq, gendisk, sysfs).

Забелязва се, че драйверът Rust PCI NVMe вече предоставя необходимата функционалност за работа, но все още не е готов за широко използване, тъй като изисква отделни подобрения.

Плановете за бъдещето включват премахване на съществуващите несигурни блокове, поддръжка за премахване на устройството и изтегляне на драйвера, поддръжка на sysfs интерфейс, внедрите мързелива инициализация, създайте контролер за blk-mq и експериментирайте с асинхронен програмен модел за queue_rq.

Освен това можем да посочим проведените експерименти от NCC Group за разработване на контролери на езика Rust за ядрото на FreeBSD. Като пример, прост ехо контролер, който връща данни, записани в /dev/rustmodule. В следващата фаза на експериментиране, NCC Group обмисля преработване на основните основни компоненти в Rust, за да подобри сигурността на мрежовите и файловите операции.

Това каза, въпреки че е показано, че е възможно да се създават прости модули в Rust, по-тясната интеграция на Rust в ядрото на FreeBSD ще изисква допълнителна работа.

Например, той споменава необходимостта от създаване на набор от абстракционни слоеве върху подсистеми и структури на ядрото, подобно на плъгините, подготвени от проекта Rust за Linux. В бъдеще планираме да извършим подобни експерименти с ядрото на Illumos и да подчертаем общи абстракции в Rust, които могат да се използват в драйвери, написани от Rust за Linux, BSD и Illumos.

Според Microsoft и Google около 70% от уязвимостите в техните софтуерни продукти се дължат на несигурно управление на паметта.

Предполага се, че използването на езика Rust намалява риска от уязвимости причинени от несигурна обработка на паметта и ще елиминират появата на грешки като достъп до област от паметта, след като тя е била освободена и препълване на буфера.

Безопасността на паметта се осигурява в Rust по време на компилиране чрез проверка на препратките, проследяване на собствеността на обекта и живота на обекта (обхват), както и чрез оценка на правилността на достъпа до паметта по време на изпълнение на кода.

Ръжда също осигурява защита от целочислено препълване, изисква променливите да бъдат инициализирани преди употреба, по-добре се справя с грешките в стандартната библиотека, налага концепцията за неизменни променливи и препратки по подразбиране и предлага силно статично въвеждане за минимизиране на логическите грешки.

Струва си да се спомене, че е възможно бъдещата работа да върви ръка за ръка с работата, която Мигел Охеда е представил върху неговите драйвери „Rust for Linux“, които са представени като серия от корекции.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите в следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.