Josh Triplett, joka työskentelee Intelillä ja on Crates.io:n kehitystä valvovassa komiteassa, puhuu Open Source Technology Summitissa
Valmisteilla olevassa työryhmässä Rust-kehittäjät yhdessä Intelin insinöörien kanssa valmistelevat spesifikaatioita, jotka määrittelevät toiminnallisuudet, jotka Rustissa on toteutettava järjestelmäohjelmointia varten. Järjestelmän ohjelmointi vaatii usein matalan tason manipulointia, kuten etuoikeutettujen prosessorin käskyjen suorittamista ja yksityiskohtaisten tietojen hankkimista prosessorin tilasta. Samankaltaisista ominaisuuksista, joita on jo kehitetty Rustille, mainitaan tuki nimeämättömille rakenteille, liitännäille, kokoonpanokielen lisäyksille ("asm!"-makro) ja BFLOAT16-liukulukumuodolle.
Josh uskoo, että järjestelmäohjelmoinnin tulevaisuus kuuluu Rustille, ja C-kieli nykyaikaisissa todellisuuksissa vaatii paikkaa, jonka Assembly valtasi viime vuosina. Ruoste
paitsi vapauttaa kehittäjiä C-kielelle ominaisista ongelmista, jotka johtuvat matalan tason muistityöstä, vaan tarjoaa myös mahdollisuuden käyttää sitä nykyaikaisten ohjelmointiparadigmojen kehittämisessä.
aikana
Josh keksi idean lisätä mahdollisuuden kehittää ajureita Linux-ytimeen Rust-kielellä, mikä tekisi mahdolliseksi luoda turvallisempia ja parempia ohjaimia pienellä vaivalla, ilman ongelmia, kuten muistin käyttö vapauttamisen jälkeen, null osoittimen viittaukset ja puskurin ylitykset.
Greg Kroah-Hartman, joka vastaa Linux-ytimen vakaan haaran ylläpidosta, ilmaisi olevansa valmis lisäämään kehyksen Rust-kielen ajurien kehittämiseen ytimeen, jos sillä on todellisia etuja C:hen verrattuna, esimerkiksi se tarjoaa turvallisen sidokset Kernel API:n kautta. Lisäksi Greg pitää tätä kehystä vain vaihtoehtona, joka ei ole oletusarvoisesti aktiivinen, jotta Rustia ei sisällytetä ytimen koontiriippuvuutena.
Kävi ilmi, että useat tiimit työskentelevät jo tähän suuntaan. Esimerkiksi kehittäjät yrityksestä "Fish in a Barrel"
Rinnakkainen
Kaikkia suunniteltuja toimintoja ei ole vielä toteutettu, mutta kehys on jo varsin sopiva työhön ja sillä kirjoitettiin toimiva ajuri Raspberry Pi 9512 -kortilla toimitetulle USB Ethernet -ohjaimelle LAN3. Olemassa oleva smsc95xx-ohjain, kirjoittanut v. C-kieli. On huomattava, että moduulin koko ja ajonaikaisten komponenttien ylimääräiset kustannukset, kun kehitetään ajuria Rustissa, ovat merkityksettömiä, mikä mahdollistaa kehyksen käytön laitteissa, joilla on rajalliset resurssit.
Lähde: opennet.ru