ΠΠΎΠ΅ΡΠΎ ΡΠ΅Π³Π°ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅:
1) KVM
KVM (ΠΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΊΠ΅ΡΠ½Π΅Π») Π΅ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ (VMM β ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°) ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠ΄ΡΠ» Π½Π° Linux OS. ΠΠΎΡΡΠ΅Π±Π΅Π½ Π΅ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π΅ΠΊΠΎΡ ΡΠΎΡΡΠ²Π΅Ρ Π²ΠΎ Π½Π΅ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠ° (Π²ΠΈΡΡΡΠ΅Π»Π½Π°) ΡΡΠ΅Π΄ΠΈΠ½Π° ΠΈ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΡΠΊΡΠΈΠ΅ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΡΠΎΡΡΠ²Π΅Ρ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ Ρ Π°ΡΠ΄Π²Π΅Ρ Π½Π° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΎΠ²ΠΎΡ ΡΠΎΡΡΠ²Π΅Ρ. Π₯ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ Π΄Π΅Π»ΡΠ²Π° ΠΊΠ°ΠΊΠΎ βΡΠ°Π·Π΄Π΅Π»Π½ΠΈΠΊβ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΈΠ·ΠΈΡΠΊΠΈΠΎΡ Ρ Π°ΡΠ΄Π²Π΅Ρ (Π΄ΠΎΠΌΠ°ΡΠΈΠ½) ΠΈ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ (Π³ΠΎΡΡΠΈΠ½).
ΠΠΈΠ΄Π΅ΡΡΠΈ KVM Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ ΠΌΠΎΠ΄ΡΠ» Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΠΈΠ½ΡΠΊΡ, ΡΠΎΡ Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π΄ΠΎΠ±ΡΠΈΠ½ΠΈ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ (ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°Ρ ΠΈΡΠ½.). Π ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ, Π½Π° ΠΊΡΠ°ΡΠΎΡ, ΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ ΠΎΠ΄Π°Ρ ΠΊΠ°Ρ Π³ΠΎΡΡΠΈΡΠ΅ (Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π°/Π²ΠΎ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° Linux OS).
KVM Π΅ ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·, Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π·Π° Π²ΠΎΠ΄Π΅ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ, Π±ΠΈΠ΄Π΅ΡΡΠΈ... ΠΠ²Π° Π±Π°ΡΠ° Π/Π Π΅ΠΌΡΠ»Π°ΡΠΈΡΠ°. ΠΠ° I/O (ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΠΌΡΠ΅ΠΆΠ°, Π²ΠΈΠ΄Π΅ΠΎ, PCI, USB, ΡΠ΅ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠΈ ΠΈΡΠ½.) KVM ΠΊΠΎΡΠΈΡΡΠΈ QEMU.
2) QEMU
QEMU (Quick Emulator) Π΅ Π΅ΠΌΡΠ»Π°ΡΠΎΡ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π·Π° Π΅Π΄Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Π΄ΡΡΠ³Π° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ARM -> x86). ΠΠΎΠΊΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, QEMU Π΅ΠΌΡΠ»ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ: ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ, HDD, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ, PCI, USB ΠΈΡΠ½.
Π Π°Π±ΠΎΡΠΈ Π²Π°ΠΊΠ°:
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅/Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ARM) ΡΠ΅ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ°Π°Ρ Π²ΠΎ ΡΡΠ΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π½Π΅Π·Π°Π²ΠΈΡΠ΅Π½ ΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΡΠΎΡ TCG (Tiny Code Generator), Π° ΠΏΠΎΡΠΎΠ° ΠΎΠ²ΠΎΡ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π΅Π·Π°Π²ΠΈΡΠ΅Π½ ΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ° Π²ΠΎ ΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ/ΠΊΠΎΠ΄ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, x86).
ARM β> ΡΡΠ΅Π΄Π΅Π½_ΠΊΠΎΠ΄ β> x86
ΠΠΎ ΡΡΡΡΠΈΠ½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π° QEMU Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Ρ ΠΎΡΡ, Π΄ΡΡΠΈ ΠΈ ΡΠΎ ΠΏΠΎΡΡΠ°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΊΠΎΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). ΠΠ΅ΡΡΡΠΎΠ°, Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π²Π½ΠΎ, ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΈΠ·Π²ΡΡΠ½ΠΈΠΎΡ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° Π΄Π²Π°ΠΏΠ°ΡΠΈ Π²ΠΎ Π»Π΅Ρ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ TCG (TCG Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Just-in-Time).
ΠΠ½ΠΈΠ΅. Π‘Π°ΠΌΠΈΠΎΡ QEMU Π΅ ΠΌΠ΅Π³Π° ΠΊΡΠ», Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π²Π½ΠΎ.
3) ΠΠ°ΡΡΠΈΡΠ½ΠΈ ΠΏΡΡΡΠ΅Π½ΠΈ
ΠΠΈΠ½Π°ΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°, Π½ΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΠ²ΠΎΠ° (ΠΏΡΡΡΠ΅Π½ΠΈ / ΠΠ°ΡΡΠΈΡΠ½ΠΈ ΠΏΡΡΡΠ΅Π½ΠΈ) ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½ΠΈΠ²ΠΎΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΎΠ΄ Π½Π°ΡΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΎΡΠΎ (ΠΡΡΡΠ΅Π½ 0), Π΄ΠΎ Π½Π°ΡΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎΡΠΎ, ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½ΠΎ ΠΈ βΡΠΎ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ Π½Π°Π²ΡΡΠΊΠΈ β (ΠΡΡΡΠ΅Π½ 3).
ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ (ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° ΠΠ‘) ΡΠ°Π±ΠΎΡΠΈ Π½Π° Ring 0 (ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ) ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠΎ ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Π½ΠΈΠ²ΠΎ Ring 3 (ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ) ΠΈ Π½Π΅ ΠΈΠΌ Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π΄Π° ΠΏΡΠ°Π²Π°Ρ ΡΡΠΎ ΡΠ°ΠΊΠ°Π°Ρ, Π½ΠΎ Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ° ΠΌΠΎΡΠ° Π΄Π° Π±Π°ΡΠ°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ Π·Π° Π΄Π° ΠΈΠ·Π²ΡΡΠ°Ρ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° (ΡΠ°ΠΊΠ°, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠΌΠ°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° βΠ΄ΠΎΠ±ΠΈΡΠ°Ρ Π²ΠΎ βΡΡΡΠΈΠΎΡ ΠΏΠ΅ΡΠΎΠΊ). ΠΡΡΡΠ΅Π½ΠΎΡ 1 ΠΈ 2 ΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ΡΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° Π²ΠΎΠ·Π°ΡΠΈΡΠ΅.
ΠΡΠ΅Π΄ ΠΏΡΠΎΠ½Π°ΠΎΡΠ°ΡΠ΅ΡΠΎ Π½Π° Intel VT-x / AMD SVM, Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π° Π½Π° Ring 0, Π° Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π° Π½Π° Ring 1. ΠΠΈΠ΄Π΅ΡΡΠΈ Ring 1 Π½Π΅ΠΌΠ° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΏΡΠ°Π²Π° Π·Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ ΠΏΠΎΠ²ΠΈΠΊ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π³ΠΎΡΡΠΈ, Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° ΠΎΠ²ΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ Π²Π΅Π΄Π½Π°Ρ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈ Π½Π° Ring 0 (ΡΠ»ΠΈΡΠ½ΠΎ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠΎΠ° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ QEMU). ΠΠ½ΠΈΠ΅. Π³ΠΎΡΡΠΈΠ½ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΠ Π±Π΅ΡΠ΅ ΠΈΠ·Π²ΡΡΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ ΠΏΠΎΠΌΠΈΠ½Π° Π½ΠΈΠ· Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΠ΅Π΄Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ Π»Π΅Ρ.
ΠΠ°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΡΠΎΡΠΎΡΠΈ Π±Π΅Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈ ΠΎΠ²Π° Π±Π΅ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π° ΠΏΠΎΡΠΎΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π΄ΡΡΠ³, ΠΎΠ±ΡΠ°Π²ΠΈΡΠ° ΠΏΡΠΎΡΠΈΡΠ΅Π½ ΡΠ΅Ρ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Intel VT-x / AMD SVM) ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π° Π³ΠΎΡΡΠΈΠ½ OS ΠΠΠ ΠΠΠ’ΠΠ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ (Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΡΠΈΡΠ΅ ΡΠΊΠ°ΠΏΠΈ ΡΡΠ΅Π΄Π½ΠΈ ΡΠ΅ΠΊΠΎΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π±Π΅ΡΠ΅ ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ).
Π‘ΠΎ Π΄ΠΎΠ°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° Intel VT-x / AMD SVM, Π±Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΡΡΠ΅Π½ -1 (ΠΌΠΈΠ½ΡΡ Π΅Π΄Π΅Π½). Π ΡΠ΅Π³Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½Π΅Π³ΠΎ, Π° Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Ring 0 ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
ΠΠ½ΠΈΠ΅. Π½Π° ΠΊΡΠ°ΡΠΎΡ:
- Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΏΡΡΡΠ΅Π½ 0
- Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° ΠΏΡΡΡΠ΅Π½ΠΎΡ 0
- Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Ring -1
4) QEMU-KVM
KVM ΠΈΠΌ ββΠ΄Π°Π²Π° Π½Π° Π³ΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Ring 0 ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ QEMU Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° I/O (ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, ΠΌΡΠ΅ΠΆΠ°, Π²ΠΈΠ΄Π΅ΠΎ, PCI, USB, ΡΠ΅ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠΈ, ΠΈΡΠ½. ΡΡΠΎ Π³ΠΎΡΡΠΈΡΠ΅ Π³ΠΈ βΠ³Π»Π΅Π΄Π°Π°Ρβ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π½ΠΈΠ²).
ΠΡΡΡΠΊΠ° QEMU-KVM (ΠΈΠ»ΠΈ KVM-QEMU) :)
ΠΠ ΠΠΠΠ’Π
Π.Π‘. Π’Π΅ΠΊΡΡΠΎΡ Π½Π° ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½ Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΡ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ
ΠΠΈΡΠΈ Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ ΠΊΠ°Π΄Π΅ Π½Π΅ ΡΠ° ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ ΠΈΠΌΠ° Π½Π΅ΡΡΠΎ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π°ΠΌ.
ΠΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌΠ΅!
ΠΠ·Π²ΠΎΡ: www.habr.com