Rust ะฑัƒะดะตั‚ ะฟั€ะธะฝัั‚ ะฒ ัะพัั‚ะฐะฒ ัะดั€ะฐ Linux 6.1. ะกะพะทะดะฐะฝ Rust-ะดั€ะฐะนะฒะตั€ ะดะปั Ethernet-ั‡ะธะฟะพะฒ Intel

ะะฐ ะผะตั€ะพะฟั€ะธัั‚ะธะธ Kernel Maintainers Summit ะ›ะธะฝัƒั ะขะพั€ะฒะฐะปัŒะดั ะพะฑัŠัะฒะธะป, ั‡ั‚ะพ, ะตัะปะธ ะฝะต ะฒัะฟะปั‹ะฒัƒั‚ ะฝะตะฟั€ะตะดะฒะธะดะตะฝะฝั‹ะต ะฟั€ะพะฑะปะตะผั‹, ะฟะฐั‚ั‡ะธ ะดะปั ะฟะพะดะดะตั€ะถะบะธ ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะดั€ะฐะนะฒะตั€ะพะฒ ะฝะฐ ัะทั‹ะบะต Rust ะฑัƒะดัƒั‚ ะฒะบะปัŽั‡ะตะฝั‹ ะฒ ัะพัั‚ะฐะฒ ัะดั€ะฐ Linux 6.1, ั€ะตะปะธะท ะบะพั‚ะพั€ะพะณะพ ะพะถะธะดะฐะตั‚ัั ะฒ ะดะตะบะฐะฑั€ะต.

ะ˜ะท ะฟั€ะตะธะผัƒั‰ะตัั‚ะฒ ะฟะพัะฒะปะตะฝะธั ะฟะพะดะดะตั€ะถะบะธ Rust ะฒ ัะดั€ะต ะฝะฐะทั‹ะฒะฐะตั‚ัั ัƒะฟั€ะพั‰ะตะฝะธะต ะฝะฐะฟะธัะฐะฝะธั ะฑะตะทะพะฟะฐัะฝั‹ั… ะดั€ะฐะนะฒะตั€ะพะฒ ัƒัั‚ั€ะพะนัั‚ะฒ ะทะฐ ัั‡ั‘ั‚ ัะฝะธะถะตะฝะธั ะฒะตั€ะพัั‚ะฝะพัั‚ะธ ัะพะฒะตั€ัˆะตะฝะธั ะพัˆะธะฑะพะบ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะฟะฐะผัั‚ัŒัŽ ะธ ะผะพั‚ะธะฒะธั€ะพะฒะฐะฝะธะต ะฝะพะฒั‹ั… ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ ะฒะบะปัŽั‡ะฐั‚ัŒัั ะฒ ั€ะฐะฑะพั‚ัƒ ะฝะฐะด ัะดั€ะพะผ. ยซRust โ€” ัั‚ะพ ะพะดะฝะฐ ะธะท ั‚ะตั… ะฒะตั‰ะตะน, ะบะพั‚ะพั€ั‹ะต, ะบะฐะบ ั ะดัƒะผะฐัŽ, ะฟั€ะธะฒะปะตะบัƒั‚ ะฝะพะฒั‹ะต ะปะธั†ะฐโ€ฆ ะผั‹ ัั‚ะฐั€ะตะตะผ ะธ ัะตะดะตะตะผยป ัะบะฐะทะฐะป ะ›ะธะฝัƒั.

ะ›ะธะฝัƒั ั‚ะฐะบะถะต ะพะฑัŠัะฒะธะป ั‡ั‚ะพ ะฒ ะฒะตั€ัะธะธ ัะดั€ะฐ 6.1 ะฑัƒะดัƒั‚ ัƒะปัƒั‡ัˆะตะฝั‹ ะฝะตะบะพั‚ะพั€ั‹ะต ัะฐะผั‹ะต ัั‚ะฐั€ั‹ะต ะธ ั„ัƒะฝะดะฐะผะตะฝั‚ะฐะปัŒะฝั‹ะต ั‡ะฐัั‚ะธ ัะดั€ะฐ, ั‚ะฐะบะธะต ะบะฐะบ ั„ัƒะฝะบั†ะธั printk(). ะšั€ะพะผะต ั‚ะพะณะพ ะ›ะธะฝัƒั ะฝะฐะฟะพะผะฝะธะป, ั‡ั‚ะพ ะฝะตัะบะพะปัŒะบะพ ะดะตััั‚ะธะปะตั‚ะธะน ะฝะฐะทะฐะด ะบะพะผะฟะฐะฝะธั Intel ะฟั‹ั‚ะฐะปะฐััŒ ัƒะฑะตะดะธั‚ัŒ ะตะณะพ, ัั‚ะพ ะฑัƒะดัƒั‰ะตะต ะทะฐ ะฟั€ะพั†ะตััะพั€ะฐะผะธ Itanium, ะฝะพ ะพะฝ ะพั‚ะฒะตั‚ะธะป ยซะะตั‚, ัั‚ะพะณะพ ะฝะต ะฟั€ะพะธะทะพะนะดั‘ั‚, ะฟะพัะบะพะปัŒะบัƒ ะดะปั ะฝะตะณะพ ะฝะตั‚ ะฟะปะฐั‚ั„ะพั€ะผั‹ ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ะบะธ. ARM ะดะตะปะฐะตั‚ ะฒัั‘ ะฟั€ะฐะฒะธะปัŒะฝะพยป.

ะ”ั€ัƒะณะพะน ะฟั€ะพะฑะปะตะผะพะน ะขะพั€ะฒะฐะปัŒะดั ะพะฑะพะทะฝะฐั‡ะธะป ั€ะฐะทะฝะพะฑะพะน ะฒ ะฟั€ะพะธะทะฒะพะดัั‚ะฒะต ARM ะฟั€ะพั†ะตััะพั€ะพะฒ: ยซััƒะผะฐััˆะตะดัˆะธะต ะบะพะผะฟะฐะฝะธะธ ะฟะพ ะฟั€ะพะธะทะฒะพะดัั‚ะฒัƒ ะพะฑะพั€ัƒะดะพะฒะฐะฝะธั ะธะท ะ”ะธะบะพะณะพ ะ—ะฐะฟะฐะดะฐ, ะดะตะปะฐัŽั‰ะธะต ัะฟะตั†ะธะฐะปะธะทะธั€ะพะฒะฐะฝะฝั‹ะต ั‡ะธะฟั‹ ะฟะพะด ั€ะฐะทะปะธั‡ะฝั‹ะต ะทะฐะดะฐั‡ะธยป. ะžะฝ ะดะพะฑะฐะฒะธะป, ั‡ั‚ะพ ยซัั‚ะพ ะฑั‹ะปะพ ะฑะพะปัŒัˆะพะน ะฟั€ะพะฑะปะตะผะพะน ะบะพะณะดะฐ ะฟะพัะฒะปัะปะธััŒ ะฟะตั€ะฒั‹ะต ะฟั€ะพั†ะตััะพั€ั‹, ัะตะณะพะดะฝั ััƒั‰ะตัั‚ะฒัƒัŽั‚ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ัั‚ะฐะฝะดะฐั€ั‚ะพะฒ ะดะปั ั‚ะพะณะพ, ั‡ั‚ะพะฑั‹ ัะดะตะปะฐั‚ัŒ ะฟั€ะพัั‚ั‹ะผ ะฟะพั€ั‚ะธั€ะพะฒะฐะฝะธะต ัะดะตั€ ะฝะฐ ะฝะพะฒั‹ะต ARM ะฟั€ะพั†ะตััะพั€ั‹ยป.

ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝะพ ะผะพะถะฝะพ ะพั‚ะผะตั‚ะธั‚ัŒ ะฟัƒะฑะปะธะบะฐั†ะธัŽ ะฝะฐั‡ะฐะปัŒะฝะพะน ั€ะตะฐะปะธะทะฐั†ะธะธ ะดั€ะฐะนะฒะตั€ะฐ rust-e1000 ะดะปั Ethernet-ะฐะดะฐะฟั‚ะตั€ะพะฒ Intel, ั‡ะฐัั‚ะธั‡ะฝะพ ะฝะฐะฟะธัะฐะฝะฝะพะณะพ ะฝะฐ ัะทั‹ะบะต Rust. ะ’ ะบะพะดะต ะฟะพะบะฐ ะพัั‚ะฐั‘ั‚ัั ะฟั€ัะผะพะน ะฒั‹ะทะพะฒ ะฝะตะบะพั‚ะพั€ั‹ั… ะฟั€ะธะฒัะทะพะบ ะฝะฐ ะกะธ, ะฝะพ ะฒะตะดั‘ั‚ัั ะฟะพัั‚ะตะฟะตะฝะฝะฐั ั€ะฐะฑะพั‚ะฐ ะฟะพ ะธั… ะทะฐะผะตะฝะต ะธ ะดะพะฑะฐะฒะปะตะฝะธัŽ Rust-ะฐะฑัั‚ั€ะฐะบั†ะธะน, ะฝะตะพะฑั…ะพะดะธะผั‹ั… ะดะปั ะฝะฐะฟะธัะฐะฝะธั ัะตั‚ะตะฒั‹ั… ะดั€ะฐะนะฒะตั€ะพะฒ (ะดะปั ะดะพัั‚ัƒะฟะฐ ะบ PCI, DMA ะธ ัะตั‚ะตะฒั‹ะผ API ัะดั€ะฐ). ะ’ ั‚ะตะบัƒั‰ะตะผ ะฒะธะดะต ะดั€ะฐะนะฒะตั€ ัƒัะฟะตัˆะฝะพ ะฟั€ะพั…ะพะดะธั‚ ping-ั‚ะตัั‚ ะฟั€ะธ ะทะฐะฟัƒัะบะต ะฒ QEMU, ะฝะพ ะฟะพะบะฐ ะฝะต ั€ะฐะฑะพั‚ะฐะตั‚ ั ั€ะตะฐะปัŒะฝั‹ะผ ะพะฑะพั€ัƒะดะพะฒะฐะฝะธะตะผ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™