Џош Триплет, кој работи во Интел и е член на комисијата што го надгледува развојот на Crates.io, говорејќи на Самитот за технологија со отворен код
Во работната група која е во процес на креирање, програмерите на Rust, заедно со инженерите од Интел, ќе подготват спецификации за дефинирање на функционалноста што треба да се имплементира во Rust за програмирање на системи. Системското програмирање често бара манипулација на ниско ниво, како што е извршување на привилегирани инструкции за процесорот и добивање детални информации за состојбата на процесорот. Од сличните карактеристики што веќе се развиваат за Rust, се забележува поддршка за неименувани структури, синдикати, инсерти на асемблерски јазик (макрото „asm!“) и форматот на броеви со подвижна запирка BFLOAT16.
Џош верува дека иднината на системското програмирање му припаѓа на Rust, а јазикот C во современите реалности го зазема местото што во изминатите години го заземаше Собранието. Рѓа
не само што ги ослободува програмерите од проблемите својствени на јазикот C што се јавуваат поради работата на ниско ниво со меморијата, туку и дава можност да го користат во развојот на современи програмски парадигми.
Во текот на
Џош дојде до идеја да додаде можност за развивање драјвери во кернелот на Linux на јазикот Rust, што ќе овозможи да се создадат побезбедни и подобри драјвери со минимален напор, без проблеми како што се пристап до меморијата по ослободувањето, нула дереференци на покажувачот и пречекорувања на баферот.
Грег Кроа-Хартман, кој е одговорен за одржување на стабилната гранка на кернелот Линукс, ја изрази својата подготвеност да додаде рамка за развој на драјвери на јазикот Rust во кернелот доколку има вистински предности во однос на C, на пример, ќе обезбеди безбедна врзување преку Kernel API. Дополнително, Грег ја смета оваа рамка само како опција, не е стандардно активна, за да не го вклучи Rust како build зависност од кернелот.
Се покажа дека неколку екипи веќе работат во оваа насока. На пример, програмерите од компанијата „Риба во буре“
Паралелно
Сè уште не е имплементирана целата предвидена функционалност, но рамката е веќе сосема погодна за работа и се користеше за пишување работен двигател за контролерот за USB етернет LAN9512 испорачан во плочката Raspberry Pi 3. Постоечкиот двигател smsc95xx, напишан од во C јазик. Забележано е дека големината на модулот и горните трошоци од компонентите на траење при развивање на драјвер во Rust се незначителни, што овозможува рамката да се користи за уреди со ограничени ресурси.
Извор: opennet.ru