Fil-konferenza tal-Linux Plumbers 2022 li qed issir f'dawn il-jiem, inġinier minn Western Digital ta preżentazzjoni dwar l-iżvilupp ta 'sewwieq sperimentali għal drives SSD bl-interface NVM-Express (NVMe), miktuba bil-lingwa Rust u li taħdem fil-kernel Linux. livell. Minkejja l-fatt li l-proġett għadu fi stadju bikri ta 'żvilupp, l-ittestjar wera li l-prestazzjoni tas-sewwieq NVMe fil-lingwa Rust tikkorrispondi għas-sewwieq NVMe miktub fil-lingwa C disponibbli fil-kernel.


Ir-rapport jiddikjara li s-sewwieq NVMe attwali f'C huwa kompletament sodisfaċenti għall-iżviluppaturi, iżda s-subsistema NVMe hija pjattaforma tajba biex tiġi esplorata l-fattibbiltà tal-iżvilupp tas-sewwieqa f'Rut, peress li hija pjuttost sempliċi, użata ħafna, għandha rekwiżiti ta 'prestazzjoni għolja, u għandha implimentazzjoni ta' referenza ppruvata għat-tqabbil u tappoġġja diversi interfaces (dev, pci, dma, blk-mq, gendisk, sysfs).
Huwa nnutat li s-sewwieq PCI NVMe għal Rust diġà jipprovdi l-funzjonalità meħtieġa għat-tħaddim, iżda għadu mhux lest għal użu mifrux, peress li jeħtieġ titjib individwali. Pjanijiet futuri jinkludu t-tneħħija tal-kodiċi ta 'blokki perikolużi eżistenti, l-appoġġ tat-tneħħija tal-apparat u l-operazzjonijiet ta' ħatt tas-sewwieq, l-appoġġ tal-interface sysfs, l-implimentazzjoni tal-inizjalizzazzjoni għażżien, il-ħolqien ta 'sewwieq għal blk-mq, u l-esperimentazzjoni bl-użu ta' mudell ta 'programmazzjoni asinkronika għal queue_rq.

Barra minn hekk, nistgħu ninnotaw l-esperimenti mwettqa mill-NCC Group biex jiżviluppaw sewwieqa fil-lingwa Rust għall-qalba FreeBSD. Bħala eżempju, aħna neżaminaw fid-dettall sewwieq eku sempliċi li jirritorna data miktuba fil-fajl /dev/rustmodule. Fil-fażi li jmiss ta 'esperimentazzjoni, il-Grupp NCC qed jikkunsidra l-possibbiltà li jaħdem mill-ġdid il-komponenti ewlenin tal-qalba fil-lingwa Rust biex itejjeb is-sigurtà tal-operazzjonijiet tan-netwerk u tal-fajls.
Madankollu, għalkemm intwera li huwa possibbli li jinħolqu moduli sempliċi fil-lingwa Rust, integrazzjoni aktar stretta ta 'Rut fil-qalba ta' FreeBSD se teħtieġ xogħol addizzjonali. Pereżempju, isemmu l-ħtieġa li jinħoloq sett ta 'saffi ta' astrazzjoni fuq is-sottosistemi u l-istrutturi tal-qalba, simili għall-add-ons imħejjija mill-proġett Rust għal Linux. Fil-futur, qed nippjanaw li nwettqu esperimenti simili bil-qalba tal-Illuminos u nidentifikaw astrazzjonijiet komuni f'Rut li jistgħu jintużaw f'sewwieqa miktuba f'Rut għal Linux, BSD u Illumos.
Skont Microsoft u Google, madwar 70% tal-vulnerabbiltajiet fil-prodotti tas-softwer tagħhom huma kkawżati minn immaniġġjar mhux sigur tal-memorja. Huwa mistenni li l-użu tal-lingwa Rust inaqqas ir-riskju ta 'vulnerabbiltajiet ikkawżati minn xogħol mhux sikur bil-memorja, u jelimina l-okkorrenza ta' żbalji bħal aċċess għal żona tal-memorja wara li tkun ġiet meħlusa u qabeż il-buffer.
Is-sikurezza tal-memorja hija pprovduta f'Rut fil-ħin tal-kompilazzjoni permezz ta 'verifika ta' referenza, iżżomm kont tal-proprjetà tal-oġġett u l-ħajja tal-oġġett (ambitu), kif ukoll permezz ta 'evalwazzjoni tal-korrettezza tal-aċċess għall-memorja waqt l-eżekuzzjoni tal-kodiċi. Rust jipprovdi wkoll protezzjoni kontra overflows integer, jeħtieġ inizjalizzazzjoni obbligatorja ta 'valuri varjabbli qabel l-użu, jimmaniġġja l-iżbalji aħjar fil-librerija standard, japplika l-kunċett ta' referenzi immutabbli u varjabbli b'mod awtomatiku, joffri tajpjar statiku qawwi biex jimminimizza l-iżbalji loġiċi.
Sors: opennet.ru
