Josh Triplett, wat by Intel werk en op die komitee is wat toesig hou oor die ontwikkeling van Crates.io, praat by die Open Source Technology Summit
In 'n werkgroep wat in die proses is om geskep te word, sal Rust-ontwikkelaars, saam met ingenieurs van Intel, spesifikasies voorberei wat die funksionaliteit definieer wat in Rust geïmplementeer moet word vir stelselprogrammering. Stelselprogrammering vereis dikwels laevlak-manipulasie, soos die uitvoering van bevoorregte verwerkerinstruksies en die verkryging van gedetailleerde inligting oor die toestand van die verwerker. Van die soortgelyke kenmerke wat reeds vir Rust ontwikkel word, word ondersteuning vir naamlose strukture, vakbonde, samestellingstaalinvoegsels (die "asm!"-makro) en die BFLOAT16 swewendepuntgetalformaat opgemerk.
Josh glo dat die toekoms van stelselprogrammering aan Rust behoort, en die C-taal in moderne realiteite maak aanspraak op die plek wat die afgelope jare deur Assembly ingeneem is. Roes
verlig nie net ontwikkelaars van die probleme inherent aan die C-taal wat ontstaan as gevolg van laevlakwerk met geheue nie, maar bied ook die geleentheid om dit te gebruik in die ontwikkeling van moderne programmeringsparadigmas.
Tydens
Josh het met die idee vorendag gekom om die vermoë by te voeg om drywers in die Linux-kern in die Rust-taal te ontwikkel, wat dit moontlik sou maak om veiliger en beter drywers met minimale moeite te skep, vry van probleme soos geheuetoegang na vrystelling, null wyserverwysings en bufferoorskryding.
Greg Kroah-Hartman, wat verantwoordelik is vir die instandhouding van die stabiele tak van die Linux-kern, het sy gereedheid uitgespreek om 'n raamwerk vir die ontwikkeling van drywers in die Rust-taal by die kern te voeg as dit werklike voordele bo C het, byvoorbeeld, dit sal veilige bindings oor Kernel API. Daarbenewens beskou Greg hierdie raamwerk slegs as 'n opsie, nie by verstek aktief nie, om Rust nie as 'n bouafhanklikheid van die kern in te sluit nie.
Dit het geblyk dat verskeie spanne reeds in hierdie rigting werk. Byvoorbeeld, ontwikkelaars van die maatskappy "Fish in a Barrel"
Parallel
Nie al die beoogde funksionaliteit is nog geïmplementeer nie, maar die raamwerk is reeds redelik geskik vir werk en is gebruik om 'n werkende drywer te skryf vir die LAN9512 USB Ethernet-beheerder wat in die Raspberry Pi 3-bord voorsien word. Die bestaande smsc95xx-drywer, geskryf deur in C taal. Daar word kennis geneem dat die modulegrootte en oorhoofse koste van looptydkomponente by die ontwikkeling van 'n drywer in Rust onbeduidend is, wat toelaat dat die raamwerk gebruik word vir toestelle met beperkte hulpbronne.
Bron: opennet.ru