Nan konferans Linux Plumbers 2022 k ap dewoule jou sa yo, yon enjenyè nan Western Digital te bay yon prezantasyon sou devlopman yon chofè eksperimantal pou kondui SSD ak koòdone NVM-Express (NVMe), ekri nan lang Rust epi kouri nan nwayo Linux. nivo. Malgre lefèt ke pwojè a toujou nan yon etap bonè nan devlopman, tès yo te montre ke pèfòmans nan chofè NVMe nan lang Rust koresponn ak chofè NVMe ki ekri nan lang C ki disponib nan nwayo a.


Rapò a deklare ke aktyèl chofè NVMe nan C a konplètman satisfezan pou devlopè yo, men subsistèm NVMe a se yon bon platfòm pou eksplore posibilite pou devlope chofè nan Rust, paske li se byen senp, lajman itilize, gen kondisyon pèfòmans segondè, epi li gen yon aplikasyon referans pwouve pou konparezon ak sipòte divès kalite koòdone (dev, pci, dma, blk-mq, gendisk, sysfs).
Li te note ke chofè a PCI NVMe pou Rust deja bay fonksyonalite ki nesesè pou operasyon an, men li poko pare pou itilize toupatou, paske li mande amelyorasyon endividyèl yo. Plan pou lavni yo enkli debarase kòd la nan blòk ki pa ansekirite ki egziste deja, sipòte retire aparèy ak operasyon dechaje chofè, sipòte koòdone sysfs la, aplike inisyalizasyon parese, kreye yon chofè pou blk-mq, ak fè eksperyans ak lè l sèvi avèk yon modèl pwogram asynchrone pou queue_rq.

Anplis de sa, nou ka sonje eksperyans gwoup NCC te fè pou devlope chofè nan lang Rust pou nwayo FreeBSD la. Kòm yon egzanp, nou egzamine an detay yon chofè eko ki senp ki retounen done ki ekri nan dosye a /dev/rustmodule. Nan pwochen faz eksperimantasyon an, NCC Group la ap konsidere posiblite pou retravay eleman debaz yo nan nwayo a nan lang Rust pou amelyore sekirite rezo ak operasyon dosye yo.
Sepandan, byenke li te montre ke li posib pou kreye modil senp nan lang Rust, yon entegrasyon pi sere nan Rust nan nwayo FreeBSD la pral mande pou plis travay. Pou egzanp, yo mansyone nesesite pou kreye yon seri kouch abstrè sou subsistèm yo ak estrikti nwayo, menm jan ak adisyon yo prepare pa pwojè Rust pou Linux. Nan lavni an, nou planifye fè eksperyans menm jan ak nwayo Illumos la epi idantifye abstraksyon komen nan Rust ki ta ka itilize nan chofè ekri nan Rust pou Linux, BSD ak Illumos.
Dapre Microsoft ak Google, apeprè 70% nan frajilite nan pwodwi lojisyèl yo ki te koze pa manyen memwa danjere. Yo prevwa ke itilizasyon lang Rust la ap diminye risk pou frajilite ki te koze pa travay ki pa ansekirite ak memwa, epi elimine erè tankou aksè nan yon zòn memwa apre li fin libere epi depase tanpon an.
Sekirite memwa yo bay nan Rust nan moman konpile atravè tcheke referans, kenbe tras nan pwopriyetè objè a ak tout lavi objè a (dimansyon), osi byen ke nan evalyasyon kòrèk aksè nan memwa pandan ekzekisyon kòd. Rust tou bay pwoteksyon kont debòde nonb antye relatif, mande pou inisyalizasyon obligatwa nan valè varyab anvan ou itilize, okipe erè pi byen nan bibliyotèk estanda a, aplike konsèp nan referans imuiabl ak varyab pa default, ofri fò sezisman estatik pou minimize erè lojik.
Sous: opennet.ru
