Джош Триплетт, Intelде иштеген жана Crates.ioнун өнүгүшүн көзөмөлдөгөн комитетте, Ачык булак технологиялары саммитинде сүйлөп жатып
Түзүлүп жаткан жумушчу топтун ичинде Rust иштеп чыгуучулары Intel инженерлери менен бирге системалык программалоо үчүн Rust программасында ишке ашырылышы керек болгон функцияларды аныктаган спецификацияларды даярдашат. Системалык программалоо көбүнчө процессордун артыкчылыктуу көрсөтмөлөрүн аткаруу жана процессордун абалы жөнүндө толук маалымат алуу сыяктуу төмөнкү деңгээлдеги манипуляцияларды талап кылат. Rust үчүн буга чейин иштелип чыккан окшош функциялардын ичинен аты аталбаган структураларды, бирикмелерди, ассемблер тилинин кошумчаларын («asm!» макро) жана BFLOAT16 калкыма чекиттик сан форматтарын колдоо белгиленген.
Джош системалык программалоонун келечеги Rustка таандык деп эсептейт, ал эми Си тили заманбап реалдуулукта өткөн жылдарда Ассамблея ээлеген орунду талап кылууда. Rust
Эстутум менен төмөнкү деңгээлдеги иштөөдөн улам келип чыккан Си тилине мүнөздүү көйгөйлөрдөн иштеп чыгуучуларды бошотпостон, аны заманбап программалоонун парадигмаларын иштеп чыгууда колдонууга мүмкүнчүлүк берет.
Жүрүшүндө
Джош Linux ядросунда драйверлерди Rust тилинде иштеп чыгуу мүмкүнчүлүгүн кошуу идеясы менен чыкты, бул бошоткондон кийин эстутумга жетүү сыяктуу көйгөйлөрдөн арылбаган коопсуз жана жакшыраак драйверлерди минималдуу күч менен түзүүгө мүмкүндүк берет, null көрсөткүчтү жокко чыгаруу жана буфер ашыкча.
Linux ядросунун туруктуу бутагын сактоого жооптуу Грег Кроах-Хартман, мисалы, C тилине караганда реалдуу артыкчылыктарга ээ болсо, ядрого Rust тилинде драйверлерди иштеп чыгуу үчүн негизди кошууга даяр экенин билдирди. ядро API аркылуу байланыштар. Кошумчалай кетсек, Грег бул алкакты демейки боюнча активдүү эмес вариант катары гана карайт, андыктан Rust ядрого куруу көз карандылыгы катары кирбейт.
Бул багытта азыртан эле бир нече бригада иштеп жаткандыгы маалым болду. Мисалы, компаниянын иштеп чыгуучулары "Балык баррель"
Параллель
Белгиленген функциялардын баары али ишке аша элек, бирок алкак жумушка абдан ылайыктуу жана Raspberry Pi 9512 тактасында берилген LAN3 USB Ethernet контроллери үчүн жумушчу драйверди жазуу үчүн колдонулган. Учурдагы smsc95xx драйвери, C тили. Rust'та драйверди иштеп чыгууда модулдун өлчөмү жана иштөө убактысынын компоненттеринин кошумча чыгымы анча чоң эмес экендиги белгиленет, бул алкакты ресурстары чектелген түзмөктөр үчүн колдонууга мүмкүндүк берет.
Source: opennet.ru