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