Džošs Triplets, kurš strādā Intel un ir komitejas locekļi, kas pārrauga Crates.io izstrādi, uzstājas atvērtā pirmkoda tehnoloģiju samitā.
Darba grupā, kas tiek veidota, Rust izstrādātāji kopā ar Intel inženieriem sagatavos specifikācijas, kas definēs funkcionalitāti, kas Rust ir jāievieš sistēmu programmēšanai. Sistēmas programmēšanai bieži ir nepieciešamas zema līmeņa manipulācijas, piemēram, priviliģētu procesora instrukciju izpilde un detalizētas informācijas iegūšana par procesora stāvokli. No līdzīgām funkcijām, kas jau tiek izstrādātas Rust, tiek atzīmēts atbalsts nenosauktām struktūrām, savienībām, montāžas valodas ieliktņiem (“asm!” makro) un peldošā komata skaitļu formātam BFLOAT16.
Džošs uzskata, ka sistēmas programmēšanas nākotne pieder Rustam, un C valoda mūsdienu realitātē pretendē uz vietu, kuru iepriekšējos gados ieņēma Assembly. Rūsa
ne tikai atbrīvo izstrādātājus no C valodai raksturīgajām problēmām, kas rodas zema līmeņa darbā ar atmiņu, bet arī sniedz iespēju to izmantot mūsdienu programmēšanas paradigmu izstrādē.
Laikā
Džošs nāca klajā ar ideju pievienot iespēju izstrādāt draiverus Linux kodolā Rust valodā, kas ļautu izveidot drošākus un labākus draiverus ar minimālu piepūli, bez problēmām, piemēram, piekļuvi atmiņai pēc atbrīvošanas, nulles rādītāja novirzes un bufera pārtēriņi.
Gregs Kroahs-Hartmans, kurš ir atbildīgs par Linux kodola stabilās filiāles uzturēšanu, izteica gatavību pievienot kodolam ietvaru draiveru izstrādei Rust valodā, ja tam ir reālas priekšrocības salīdzinājumā ar C, piemēram, tas nodrošinās drošu. saistījumi, izmantojot Kernel API. Turklāt Gregs šo ietvaru uzskata tikai par opciju, kas pēc noklusējuma nav aktīvs, lai neiekļautu Rust kā uzbūves atkarību no kodola.
Izrādījās, ka šajā virzienā jau strādā vairākas komandas. Piemēram, izstrādātāji no uzņēmuma “Fish in a Barrel”
Paralēli
Vēl nav ieviesta visa paredzētā funkcionalitāte, taču ietvars jau ir diezgan piemērots darbam un tika izmantots, lai uzrakstītu darba draiveri Raspberry Pi 9512 plates komplektācijā iekļautajam USB Ethernet kontrollerim LAN3. Esošais smsc95xx draiveris, ko rakstījis in C valoda. Tiek atzīmēts, ka moduļa izmērs un izpildlaika komponentu pieskaitāmās izmaksas, izstrādājot draiveri Rust, ir nenozīmīgas, kas ļauj ietvaru izmantot ierīcēm ar ierobežotiem resursiem.
Avots: opennet.ru