เบเบฒเบ™เบฅเบดเป€เบฅเบตเปˆเบกเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Xen hypervisor เบ„เบทเบ™เปƒเปเปˆเปƒเบ™ Rust

เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก XCP-ng, เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Xen, เป„เบ”เป‰เป€เบœเบตเบเปเบœเปˆเปเบœเบ™เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบŠเปเปเบง Xen เปƒเบ™เบžเบฒเบชเบฒ Rust. เบšเปเปˆเบกเบตเปเบœเบ™เบ—เบตเปˆเบˆเบฐ rework Xen hypervisor เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡; เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™ reworking เบญเบปเบ‡เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท.

เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ›เบฐเบˆเบธเบšเบฑเบ™เปƒเบŠเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบš C, Python, OCaml, เปเบฅเบฐ Go, เป€เบŠเบดเปˆเบ‡เบšเบฒเบ‡เบญเบฑเบ™เปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบกเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปƒเบ™เบเบฒเบ™เบšเปเบฒเบฅเบธเบ‡เบฎเบฑเบเบชเบฒ. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Rust เบˆเบฐเบšเปเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡เบžเบฒเบชเบฒเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Go, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เปเบ—เบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”.

Rust เบ–เบทเบเป€เบฅเบทเบญเบเป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบฅเบฐเบซเบฑเบ”เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเป€เบ„เบทเปˆเบญเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เป€เบซเบกเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบฑเบ‡เบชเบญเบ‡เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒเปเบฅเบฐเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡, เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เป€เบŠเบฑเปˆเบ™: เบขเบทเบก checker.). Rust เบเบฑเบ‡เปเบœเปˆเบ‚เบฐเบซเบเบฒเบเบซเบผเบฒเบเบเบงเปˆเบฒเบžเบฒเบชเบฒ OCaml เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปƒเบ™ XAPI, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ”เบถเบ‡เบ”เบนเบ”เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบซเบกเปˆเปƒเบซเป‰เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™.

เป„เบฅเบเบฐเบ—เปเบฒเบญเบดเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบชเปเบฒเบฅเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบเบฐเบเบฝเบกเบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบญเบทเปˆเบ™เป†เบ‚เบญเบ‡ stack เบŠเบญเบšเปเบง. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เปเบ‚เบ Linux, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เบžเบฒเบชเบฒ Go เปƒเบ™เบ‚เบฐเบ™เบฐเบ™เบตเป‰, เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”, เบ‚เบฝเบ™เปƒเบ™ OCaml, เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเปƒเบ™ Rust.

เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™ rework Linux guest tools (xe-guest-utilities) เปเบกเปˆเบ™เป€เบเบตเบ”เบˆเบฒเบเบšเบฑเบ™เบซเบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเบนเปˆเบ™เบญเบเป‚เบ„เบ‡เบเบฒเบ™ Xen เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡ Cloud Software Group, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเปƒเบ™เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเปเบฅเบฐเบญเบดเบ”เบ—เบดเบžเบปเบ™เบ‚เบญเบ‡เบŠเบธเบกเบŠเบปเบ™เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ (xen-guest-agent) เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบˆเบฒเบ scratch, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปเบฅเบฐเปเบเบเป€เบซเบ”เบœเบปเบ™เบ•เบปเบงเปเบ—เบ™เบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบ™เปƒเบซเบกเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ metrics (rrdd) เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบ™เบฒเปเบซเบ™เป‰เบ™เปเบฅเบฐเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เปƒเบŠเป‰เบžเบฒเบชเบฒเปƒเบซเบกเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™.

เปƒเบ™เบ›เบตเบซเบ™เป‰เบฒ, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบญเบฒเบ”เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบปเบ‡เบ›เบฐเบเบญเบš xenopsd-ng เปƒเบ™ Rust, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เบŠเปเปเบง stack. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš APIs เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒเปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡ APIs เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบซเป‰เบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เป†เบ‚เบญเบ‡ stack เบœเปˆเบฒเบ™เบกเบฑเบ™.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Xen stack เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™:

เบเบฒเบ™เบฅเบดเป€เบฅเบตเปˆเบกเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Xen hypervisor เบ„เบทเบ™เปƒเปเปˆเปƒเบ™ Rust

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Xen stack เบ—เบตเปˆเป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ xenopsd-ng:

เบเบฒเบ™เบฅเบดเป€เบฅเบตเปˆเบกเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Xen hypervisor เบ„เบทเบ™เปƒเปเปˆเปƒเบ™ Rust


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

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