Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° XCP-ng, ΡΠ°Π·Π²ΠΈΠ²Π°Π½Π° ΠΏΠΎΠ΄ ΠΊΡΠΈΠ»ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Xen, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° ΠΏΠ»Π°Π½ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ Xen Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°ΠΌΠΈΡ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Xen, Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π²ΡΡΡ Ρ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π΅Π·ΠΈΡΠΈ C, Python, OCaml ΠΈ Go, Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ°. ΠΠΎΠ΄ΡΠ΅ΡΡΠ°Π½ΠΎ Π΅, ΡΠ΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Rust Π½ΡΠΌΠ° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΎΠ±ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π° Go Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π² Π½Π°ΠΉ-ΡΠΊΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ·ΠΈΠΊΡΡ Rust Π΅ ΠΈΠ·Π±ΡΠ°Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΡΠ΅ΡΠ°Π²Π° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ±ΠΎΡΡΠΈΠΊ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΡΠΊΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π·Π°ΠΈΠΌΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ (borrow checker). Rust ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΠΎ-ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΠΎΡ Π½Π°ΡΡΠΎΡΡΠΈΡ Π΅Π·ΠΈΠΊ OCaml, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² XAPI, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π ΠΏΡΡΠ²ΠΈΡ Π΅ΡΠ°ΠΏ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ Π·Π°ΠΌΡΠ½Π° Π·Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠΎΠ±Π²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ ΠΎΡ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, Π½Π° Rust ΠΏΡΡΠ²ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° Linux guest tools, Π·Π° ΠΊΠΎΠΉΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π·ΠΈΠΊΡΡ Go, ΠΈ ΡΠΎΠ½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° OCaml.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΏΡΠ΅ΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Linux guest tools (xe-guest-utilities) Π΅ ΠΏΠΎΡΠΎΠ΄Π΅Π½Π° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ ΠΈΠ·Π²ΡΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠ° Xen Project ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Cloud Software Group, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π²ΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°. ΠΠ»Π°Π½ΠΈΡΠ° ΡΠ΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° (xen-guest-agent) Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° ΠΈΠ·ΡΡΠ»ΠΎ ΠΎΡ Π½ΡΠ»Π°ΡΠ°, Ρ ΠΎΠΏΠΈΡΠΈ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ-ΠΏΡΠΎΡΡΠ°, ΠΊΠ°ΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° Π°Π³Π΅Π½ΡΠ° ΡΠ΅ ΠΎΡΠ΄Π΅Π»Ρ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅. Π€ΠΎΠ½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ (rrdd) ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΎΡΠΌΠΈΡΠ»Π΅Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ ΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈ Ρ Π½ΠΎΠ²ΠΈΡ Π΅Π·ΠΈΠΊ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
ΠΡΠ΅Π· ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° xenopsd-ng Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΡΠΎ API Π² Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ API Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΡΠ΅ΠΊΠ° ΡΡΠ΅Π· Π½Π΅Π³ΠΎ.
Π’Π΅ΠΊΡΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΡΠ΅ΠΊΠ° Xen:

ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΡΠ΅ΠΊΠ° Xen Π½Π° Π±Π°Π·Π° xenopsd-ng:

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
