ืืื ืก Linux Plumbers 2022 ืฉืืชืงืืื ืืืืื ืืื, ืืื ืืก ืืืืจืช Western Digital ืืฆืื ืืฆืืช ืขื ืคืืชืื ืืจืืืืจ ื ืืกืืื ื ืขืืืจ ืืื ื ื SSD ืขื ืืืฉืง NVM-Express (NVMe), ืฉื ืืชื ืืฉืคืช Rust ืืคืืขื ืืืืืช ืืื ืืงืก ืจึธืึธื. ืืืจืืช ืืขืืืื ืฉืืคืจืืืงื ืขืืืื ืืฉืื ืืืงืื ืฉื ืคืืชืื, ืืืืงืืช ืืจืื ืฉืืืืฆืืขืื ืฉื ืืจืืืืจ ื-NVMe ืืฉืคืช Rust ืชืืืืื ืืืจืืืืจ ื-NVMe ืฉื ืืชื ืืฉืคืช C ืืืืื ื ืืงืจื ื.
ืืื"ื ืงืืืข ืฉืืจืืืืจ ื-NVMe ืื ืืืื ื-C ืืกืคืง ืืืืืืื ืขืืืจ ืืคืชืืื, ืื ืชืช-ืืขืจืืช ื-NVMe ืืื ืคืืืคืืจืื ืืืื ืืืืื ืช ืืืืชืื ืืช ืฉื ืคืืชืื ืืจืืืืจืื ื-Rust, ืืืืืื ืฉืืื ืื ืคืฉืื, ืืฉืืืืฉ ื ืจืื, ืืขื ืืจืืฉืืช ืืืฆืืขืื ืืืืืืช, ืืืฉ ืื ืืจืืฉืืช ืืืฆืืขืื ืืืืืืช. ืืืฉืื ืืชืืืืกืืช ืืืื ืืืฉืืืื ืืชืืื ืืืืฉืงืื ืฉืื ืื (dev, pci, dma, blk-mq, gendisk, sysfs).
ืืฆืืื ืื ืื ืื ืืืชืงื PCI NVMe ืขืืืจ Rust ืืืจ ืืกืคืง ืืช ืืคืื ืงืฆืืื ืืืืช ืืืจืืฉื ืืคืขืืื, ืื ืขืืืื ืืื ื ืืืื ืืฉืืืืฉ ื ืจืื, ืืืืืื ืฉืืื ืืืจืฉ ืฉืืคืืจืื ืคืจืื ืืื. ืชืืื ืืืช ืขืชืืืืืช ืืืืืืช ืกืืืืง ืืงืื ืฉื ืืืืงืื ืื ืืืืืื ืงืืืืื, ืชืืืื ืืคืขืืืืช ืืกืจืช ืืชืงื ืื ืืคืจืืงืช ืืจืืืืจืื, ืชืืืื ืืืืฉืง sysfs, ืืืืขืช ืืชืืื ืขืฆืื, ืืฆืืจืช ืืจืืืืจ ืขืืืจ blk-mq, ืืืชื ืกืืช ืืฉืืืืฉ ืืืืื ืชืื ืืช ืืกืื ืืจืื ื ืขืืืจ queue_rq.
ืื ืืกืฃ, ืื ื ืืืืืื ืืฆืืื ืืช ืื ืืกืืืื ืฉืขืจืื ืงืืืฆืช NCC ืืคืืชืื ืืจืืืืจืื ืืฉืคืช Rust ืขืืืจ ืืืืช FreeBSD. ืืืืืื, ืื ื ืืืื ืื ืืคืืจืื ืืจืืืืจ ืื ืคืฉืื ืฉืืืืืจ ื ืชืื ืื ืฉื ืืชืื ืืงืืืฅ /dev/rustmodule. ืืฉืื ืืื ืฉื ืื ืืกืื, ืงืืืฆืช NCC ืฉืืงืืช ืืช ืืืคืฉืจืืช ืืขืื ืืืืฉ ืืช ืจืืืื ืืืืื ืฉื ืืืืื ืืฉืคืช Rust ืืื ืืฉืคืจ ืืช ืืืืืื ืฉื ืคืขืืืืช ืืจืฉืช ืืืงืืฆืื.
ืขื ืืืช, ืืืจืืช ืฉืืืื ืฉืืคืฉืจ ืืืฆืืจ ืืืืืืื ืคืฉืืืื ืืฉืคืช Rust, ืฉืืืื ืืืืง ืืืชืจ ืฉื Rust ืืชืื ืืืืช FreeBSD ืืืจืืฉ ืขืืืื ื ืืกืคืช. ืืืืืื, ืื ืืืืืจืื ืืช ืืฆืืจื ืืืฆืืจ ืงืืืฆื ืฉื ืฉืืืืช ืืคืฉืื ืขื ืคื ื ืืขืจืืืช ืืืฉื ื ืืืื ื ืืืืื, ืืืืื ืืชืืกืคืืช ืฉืืืื ื ืขื ืืื ืคืจืืืงื Rust for Linux. ืืขืชืื, ืื ื ืืชืื ื ืื ืืขืจืื ื ืืกืืืื ืืืืื ืขื ืืืืช Illumos ืืืืืืช ืืคืฉืืืช ื ืคืืฆืืช ื- Rust ืฉืืืืืืช ืืฉืืฉ ืืื ืืื ืืชืงื ืื ืฉื ืืชืื ื- Rust ืขืืืจ Linux, BSD ื- Illumos.
ืืคื ืืืงืจืืกืืคื ืืืืื, ื-70% ืืืืืืฉืืช ืืืืฆืจื ืืชืืื ื ืฉืืื ื ืืจืืืช ืืืืคืื ืื ืืืื ืืืืืจืื. ืฆืคืื ืฉืืฉืืืืฉ ืืฉืคืช Rust ืืฆืืฆื ืืช ืืกืืืื ืืคืืืขืืืืช ืื ืืจืืืช ืืชืืฆืื ืืขืืืื ืื ืืืืื ืขื ืืืืืจืื, ืืืื ืข ืืช ืืชืจืืฉืืชื ืฉื ืฉืืืืืช ืืื ืืืฉื ืืืืืจ ืืืืจืื ืืืืจ ืฉืืจืืจ ืืืจืืกื ืฉื ืืืืืจ.
ืืืืืืช ืืืืจืื ืืกืืคืงืช ื-Rust ืืืื ืืงืืืคืืืฆืื ืืืืฆืขืืช ืืืืงืช ืืชืืืืกืืช, ืืขืงื ืืืจ ืืขืืืช ืขื ืืืืืืงื ืืืฉื ืืื ืืืืืืงื (ืืืงืฃ), ืืื ืืืืฆืขืืช ืืขืจืื ืฉื ื ืืื ืืช ืืืืฉื ืืืืืจืื ืืืืื ืืืฆืืข ืงืื. Rust ืืกืคืงืช ืื ืืื ื ืืคื ื ืืฆืคืช ืืกืคืจืื ืฉืืืื, ืืืจืฉืช ืืชืืื ืืืื ืฉื ืขืจืื ืืฉืชื ืื ืืคื ื ืืฉืืืืฉ, ืืืคืืช ืืฉืืืืืช ืืื ืืืชืจ ืืกืคืจืืื ืืกืื ืืจืืืช, ืืืืฉืืช ืืช ืืจืขืืื ืฉื ืืคื ืืืช ืืืฉืชื ืื ืืืชื ื ืืชื ืื ืืฉืื ืื ืืืจืืจืช ืืืื, ืืฆืืขื ืืงืืื ืกืืืืช ืืืงื ืืื ืืืืขืจ ืฉืืืืืช ืืืืืืช.
ืืงืืจ: OpenNet.ru