Në konferencën që po zhvillohet këto ditë, Linux Plumbers 2022, një inxhinier nga kompania Western Digital paraqiti një referat mbi zhvillimin e një drajveri eksperimental për SSD-të me ndërfaqe NVM-Express (NVMe), i shkruar në gjuhën Rust dhe që funksionon në nivelin e bërthamës Linux. Megjithëse projekti është ende në një fazë të hershme zhvillimi, testimi i kryer tregoi se performanca e drajverit NVMe në gjuhën Rust përputhet me drajverin aktual NVMe të bërthamës i shkruar në gjuhën C.


Në referat thuhet se drajveri aktual NVMe në gjuhën C i kënaq plotësisht zhvilluesit, por nën-sistemi NVMe është një vend i mirë për të studiuar vlerën e zhvillimit të drajverëve në gjuhën Rust, pasi është mjaft i thjeshtë, përdoret gjerësisht, kërkon performancë të lartë, ka një implementim të verifikuar si referencë për krahasim dhe mbështet ndërfaqe të ndryshme (dev, pci, dma, blk-mq, gendisk, sysfs).
Theksohet se drajveri PCI NVMe në Rust tashmë ofron funksionalitetin e nevojshëm për punë, por ende nuk është gati për përdorim të gjerë, pasi kërkon përmirësime të veçanta. Midis planeve për të ardhmen përmendet eliminimi i blloqeve të pa sigurta nga kodi, mbështetje për operacionet e fshirjes së pajisjes dhe shkarkimin e drajverit, mbështetje për ndërfaqen sysfs, implementimi i inicializimit të vonuar, krijimi i një drajveri për blk-mq dhe eksperimente me përdorimin e modelit të programimit asinkron për queue_rq.

SĂ« ÒĐŸŃhtuar, mund tĂ« pĂ«rmendim eksperimentet e realizuara nga kompania NCC Group pĂ«r zhvillimin e drajverĂ«ve nĂ« gjuhĂ«n Rust pĂ«r bĂ«rthamĂ«n FreeBSD. Si njĂ« shembull, shqyrtohet nĂ« detaje njĂ« drajver i thjeshtĂ« echo, qĂ« kthen tĂ« dhĂ«nat e shkruara nĂ« skedarin /dev/rustmodule. NĂ« fazĂ«n tjetĂ«r tĂ« eksperimenteve, NCC Group shqyrton mundĂ«sinĂ« e ripĂ«rpunimit tĂ« komponenteve thelbĂ«sore tĂ« bĂ«rthamĂ«s nĂ« gjuhĂ«n Rust pĂ«r tĂ« pĂ«rmirĂ«suar sigurinĂ« e operacioneve rrjet dhe skedar.
Megjithatë, pavarësisht nga mundësia për të krijuar module të thjeshta në gjuhën Rust, integrimi më i ngushtë i Rust në bërthama FreeBSD do të kërkojë punë të mëtejshme. Për shembull, përmendet nevoja për të krijuar një set shtresash abstraksioni mbi nën-sistemet dhe strukturat e bërthamës, të ngjashme me shtesat përgatitur nga projekti Rust for Linux. Më vonë, planifikohet të kryhen eksperimente të ngjashme me bërthamën Illumos dhe të identifikohen abstraksione të përbashkëta në Rust, të cilat mund të përdoren në shoferët e shkruar në Rust për Linux, BSD dhe Illumos.
Sipërmarrjet Microsoft dhe Google raportojnë se rreth 70% e dobësive në produktet e tyre softuerike shkaktohen nga trajtimi i pasigurt i memories. Supozohet se përdorimi i gjuhës Rust do të lehtësojë rrezikun e shfaqjes së dobësive të shkaktuara nga trajtimi i pasigurt i memories dhe do të eliminojë shfaqjen e gabimeve siq është referimi në zonat e memories pas lirimit të saj dhe dalja jashtë kufijve të buffer-it.
Trajtimi i sigurt i memories garantohet në Rust gjatë kompilimit përmes verifikimit të referencave, ndjekjes së pronësisë së objekteve dhe marrëveshjes së kohëzgjatjes së objekteve (zona e dukshmërisë), si dhe përmes vlerësimit të saktësisë së qasjes në memory gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtjen nga mbushjet e numrave të plotë, kërkon inicializimin e detyrueshëm të vlerave të variablave përpara përdorimit, trajton më mirë gabimet në bibliotekën standarde, zbaton konceptin e referencave dhe variablave të pazëvendësueshëm (immutable) si standard, dhe ofron tipizim të fortë statik për minimizimin e gabimeve logjike.
Burimi: opennet.ru
