Josh Triplett, chì travaglia in Intel è face parte di u cumitatu chì supervise u sviluppu di Crates.io, parlendu à u Summit di Tecnulugia Open Source.
In un gruppu di travagliu chì hè in u prucessu di creazione, i sviluppatori di Rust, inseme cù l'ingegneri di Intel, preparanu specificazioni chì definiscenu a funziunalità chì deve esse implementata in Rust per a prugrammazione di sistemi. A prugrammazione di u sistema spessu richiede una manipulazione di livellu bassu, cum'è eseguisce struzzioni di prucessori privilegiati è ottene infurmazioni detallate nantu à u statu di u processatore. Di e funzioni simili chì sò digià sviluppati per Rust, u supportu per strutture senza nome, unioni, inserti di lingua d'assemblea (a macro "asm!") è u formatu di numeri in virgule flottante BFLOAT16 hè nutatu.
Josh crede chì l'avvene di u prugramma di u sistema appartene à Rust, è a lingua C in realità muderni riclamà u locu chì in l'anni passati era occupatu da l'Assemblea. Ruggine
micca solu alleva i sviluppatori da i prublemi inherenti à a lingua C chì si sviluppanu per via di u travagliu di pocu livellu cù memoria, ma ancu furnisce l'uppurtunità di aduprà in u sviluppu di paradigmi di prugrammazione muderni.
Durante
Josh hà avutu l'idea di aghjunghje l'abilità di sviluppà i drivers in u kernel Linux in a lingua Rust, chì permetterebbe di creà drivers più sicuri è megliu cù u minimu sforzu, senza prublemi cum'è l'accessu à a memoria dopu a liberazione, null. dereferences di puntatore, è buffer overruns.
Greg Kroah-Hartman, chì hè rispunsevuli di mantene a ramu stabile di u kernel Linux, hà spressu a so prontezza à aghjunghje un framework per u sviluppu di drivers in a lingua Rust à u kernel s'ellu hà vantaghji veri nantu à C, per esempiu, furnisce una sicura. associazioni sopra l'API Kernel. Inoltre, Greg cunsidereghja stu quadru solu cum'è una opzione, micca attiva per automaticamente, per ùn include micca Rust cum'è una dependenza di custruzzione di u kernel.
Ci hè statu chì parechji squadre sò digià travagliatu in questa direzzione. Per esempiu, i sviluppatori di a cumpagnia "Fish in a Barrel"
Parallelamente
Ùn sò micca tutte e funziunalità previste sò ancu implementate, ma u quadru hè digià abbastanza adattatu per u travagliu è hè stata utilizata per scrive un driver di travagliu per u controller Ethernet LAN9512 USB furnitu in a scheda Raspberry Pi 3. U driver smsc95xx esistente, scrittu da in lingua C. Hè nutatu chì a dimensione di u modulu è l'overhead da i cumpunenti di runtime quandu u sviluppu di un driver in Rust sò insignificanti, chì permette à u quadru per esse usatu per i dispositi cù risorse limitate.
Source: opennet.ru