WD o loʻo atiaʻe se avetaʻavale NVMe i Rust. Fa'ata'ita'i ile Rust ile FreeBSD

I le Linux Plumbers 2022 konafesi o loʻo faia i nei aso, na tuʻuina atu ai e se inisinia mai Western Digital se faʻamatalaga i le atinaʻeina o se avetaavale faʻataʻitaʻi mo SSD faʻatasi ma le NVM-Express (NVMe), tusia i le gagana Rust ma tamoʻe i le fatu Linux. tulaga. E ui lava i le mea moni o le poloketi o loʻo i ai pea i le amataga o le atinaʻe, o suʻega ua faʻaalia ai o le faʻatinoga o le avetaavale NVMe i le gagana Rust e fetaui ma le avetaavale NVMe o loʻo tusia i le gagana C o loʻo maua i le fatu.

 WD o loʻo atiaʻe se avetaʻavale NVMe i Rust. Fa'ata'ita'i ile Rust ile FreeBSD
 WD o loʻo atiaʻe se avetaʻavale NVMe i Rust. Fa'ata'ita'i ile Rust ile FreeBSD

Fai mai le lipoti o le avetaavale NVMe o loʻo i ai nei i C e matua faamalieina atoatoa mo tagata atiaeina, ae o le NVMe subsystem o se tulaga lelei mo le suʻesuʻeina o le faʻaogaina o le atinaʻeina o avetaavale i Rust, talu ai e faigofie tele, faʻaaogaina lautele, e maualuga le manaʻoga, ma e iai. o se faʻataʻitaʻiga faʻamaonia faʻatinoga mo faʻatusatusaga ma lagolagoina fesoʻotaʻiga eseese (dev, pci, dma, blk-mq, gendisk, sysfs).

O loʻo maitauina o le avetaʻavale PCI NVMe mo Rust ua uma ona tuʻuina atu galuega e manaʻomia mo le faʻaogaina, ae e leʻi sauni mo le faʻaaogaina lautele, aua e manaʻomia ai le faʻaleleia o tagata taʻitoʻatasi. Fuafuaga i le lumanaʻi e aofia ai le faʻamalo o le code o poloka le saogalemu o loʻo i ai nei, lagolagoina le aveeseina o masini ma le avetaʻavale o le avetaʻavale, lagolago i le sysfs interface, faʻaogaina le paie, fatuina o se avetaʻavale mo blk-mq, ma faʻataʻitaʻiga i le faʻaogaina o se faʻataʻitaʻiga polokalame asynchronous mo queue_rq.

Taaalo i le vitio

E le gata i lea, e mafai ona tatou matauina faʻataʻitaʻiga na faia e le NCC Group e atiaʻe ai avetaavale i le gagana Rust mo le FreeBSD kernel. Mo se faʻataʻitaʻiga, matou te suʻesuʻeina auʻiliʻili se avetaʻavale faʻalogo faigofie e toe faʻafoʻi faʻamaumauga tusia i le faila / dev / rustmodule. I le isi vaega o le faʻataʻitaʻiga, o le NCC Group o loʻo mafaufau i le avanoa e toe faʻaaogaina ai vaega autu o le fatu i le gagana Rust e faʻaleleia ai le saogalemu o fesoʻotaiga ma faila.

Ae ui i lea, e ui lava ua faʻaalia e mafai ona faia ni faʻaoga faigofie i le gagana Rust, o le faʻapipiʻiina o le Rust i totonu o le FreeBSD kernel o le a manaʻomia ai galuega faaopoopo. Mo se faʻataʻitaʻiga, latou te taʻua le manaʻoga e fai se seti o faʻasalalauga faʻapipiʻi i luga o subsystems ma fatu fausaga, e tutusa ma faʻaopoopoga na saunia e le Rust mo Linux poloketi. I le lumanaʻi, matou te fuafua e faia ni faʻataʻitaʻiga tutusa ma le fatu Illumos ma faʻailoa faʻamatalaga masani i Rust e mafai ona faʻaaogaina i avetaavale tusia i Rust mo Linux, BSD ma Illumos.

E tusa ai ma Microsoft ma Google, e tusa ma le 70% o faʻafitauli i totonu oa latou oloa faʻapipiʻi e mafua mai i le le saogalemu o le taulimaina o mafaufauga. O loʻo faʻamoemoeina o le faʻaogaina o le gagana Rust o le a faʻaitiitia ai le lamatiaga o faʻafitauli e mafua mai i galuega le saogalemu ma le manatua, ma faʻaumatia ai le tupu mai o mea sese e pei o le ulufale atu i se nofoaga manatua pe a uma ona faʻasaʻoloto ma faʻamalo le pa.

O le fa'aogaina o le manatua-saogalemu o lo'o tu'uina atu i le Rust i le taimi fa'aopoopo e ala i le siakiina o fa'asinomaga, le siakiina o le mea e umia ma le mea faitino i le olaga atoa (lautele), fa'apea fo'i ma le iloiloga o le sa'o o le manatua avanoa i le taimi o le fa'atinoina o tulafono. E maua ai foi e le ele le puipuiga mai le tele o numera, e manaʻomia ai le faʻatagaina o le faʻatulagaina o tau fesuiaʻi aʻo leʻi faʻaaogaina, e sili atu ona lelei le faʻaogaina o mea sese i totonu o le faletusi masani, faʻaaogaina le manatu o faʻamatalaga e le mafai ona suia ma fesuiaiga e ala i le le mafai, ofoina atu le malosi o le taina e faʻaitiitia ai mea sese.

puna: opennet.ru

Faaopoopo i ai se faamatalaga