Western Digital tashmë është duke punuar në një drejtues NVMe të shkruar në Rust

RustLinux

Integrimi i Rust në Linux ka pasur një nivel të lartë pranimi nga komuniteti dhe zhvilluesit

Gjatë konferencës “Linux Plumbers 2022”. që po vazhdonte këto ditë, një inxhinier Western Digital dha një prezantim mbi zhvillimin e një kontrolluesi eksperimentale për SSD NVM-Express (NVMe) shkruar në Rust dhe funksionon në nivelin e kernelit Linux.

Edhe pse projekti është ende në një fazë të hershme të zhvillimit, testet e kryera treguan se performanca e drejtuesit Rust NVMe korrespondon me drejtuesin NVMe të shkruar në C në kernel.

Unë jam Matthew Wilcox, unë jam një nga autorët e specifikimeve NVMe, isha ai që sugjerova të bëja një drejtues NVMe për të demonstruar vlerën e Rust. Ka qenë i suksesshëm përtej pritjeve të mia më të egra. 

Lidhur me raportin e paraqitur drejtuesi aktual NVMe C thuhet se është plotësisht i kënaqshëm për zhvilluesit, por nënsistemi NVMe është një platformë e mirë për të eksploruar mundësinë e zhvillimit të drejtuesve në Rust, pasi është mjaft i thjeshtë, i përdorur gjerësisht, ka kërkesa të larta për performancën, ka një zbatim referimi të provuar për krahasim dhe mbështet ndërfaqe të ndryshme ( dev, pci, dma, blk-mq, gendisk, sysfs).

Observedshtë vërejtur se drejtuesi Rust PCI NVMe tashmë ofron funksionalitetin e nevojshëm për funksionim, por nuk është ende gati për përdorim të gjerë, pasi kërkon përmirësime të veçanta.

Planet për të ardhmen përfshijnë heqjen e blloqeve ekzistuese të pasigurta, mbështetje për të hequr pajisjen dhe për të shkarkuar drejtuesin, mbështet ndërfaqen sysfs, zbatoni inicializimin dembel, krijoni një kontrollues për blk-mq dhe eksperimentoni me një model programimi asinkron për queue_rq.

Për më tepër, mund të theksojmë eksperimentet e kryera nga Grupi NCC për të zhvilluar kontrollues në gjuhën Rust për kernelin FreeBSD. Si shembull, një kontrollues i thjeshtë echo që kthen të dhënat e shkruara në /dev/rustmodule. Në fazën tjetër të eksperimentimit, Grupi NCC po shqyrton ripërpunimin e komponentëve thelbësorë në Rust për të përmirësuar sigurinë e operacioneve të rrjetit dhe skedarëve.

Thënë kështu, megjithëse është treguar se është e mundur të krijohen module të thjeshta në Rust, Integrimi më i fortë i Rust në kernelin FreeBSD do të kërkojë punë shtesë.

Për shembull, ai përmend nevojën për të krijuar një grup shtresash abstraksioni mbi nënsistemet dhe strukturat e kernelit, të ngjashme me shtojcat e përgatitura nga projekti Rust për Linux. Në të ardhmen, ne planifikojmë të kryejmë eksperimente të ngjashme me bërthamën e Illumos dhe të nxjerrim në pah abstraksionet e zakonshme në Rust që mund të përdoren në drejtuesit e shkruar nga Rust për Linux, BSD dhe Illumos.

Sipas Microsoft dhe Google, rreth 70% e dobësive në produktet e tyre softuerike janë për shkak të menaxhimit të pasigurt të kujtesës.

Përdorimi i gjuhës Rust supozohet të zvogëlojë rrezikun e dobësive shkaktuar nga trajtimi i pasigurt i memories dhe do të eliminojë shfaqjen e gabimeve të tilla si qasja në një zonë të memories pasi të jetë liruar dhe tejmbushja e tamponit.

Siguria e memories sigurohet në Rust në kohën e përpilimit duke kontrolluar referencat, duke gjurmuar pronësinë e objektit dhe jetëgjatësinë e objektit (fushëveprimin), si dhe duke vlerësuar korrektësinë e aksesit në kujtesë gjatë ekzekutimit të kodit.

Ndryshk siguron gjithashtu mbrojtje nga tejkalimi i numrave të plotë, kërkon që variablat të inicializohen përpara përdorimit, trajton më mirë gabimet në bibliotekën standarde, zbaton konceptin e variablave dhe referencave të pandryshueshme si parazgjedhje dhe ofron shtypje të fortë statike për të minimizuar gabimet logjike.

Vlen të përmendet se mund të jetë e mundur që puna e ardhshme të shkojë paralelisht me punën që Miguel Ojeda ka paraqitur në drejtuesit e tij "Rust for Linux", të cilat janë paraqitur si një seri arnimesh.

Më në fund nëse jeni të interesuar të dini më shumë për të, ju mund të kontrolloni detajet në lidhja e mëposhtme.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.