Π‘Π΅Π³Π°ΡΠ½ΠΎΡΠΎ ΠΌΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅:
1) KVM
KVM (Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°) Π΅ Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡ (VMM β Virtual Machine Manager), ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ» Π½Π° Linux OS. Π₯ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΎΡΡΡΠ΅Ρ Π² Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° (Π²ΠΈΡΡΡΠ°Π»Π½Π°) ΡΡΠ΅Π΄Π° ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠΊΡΠΈΠ΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΡΠΎΡΡΡΠ΅Ρ ΡΠ΅Π°Π»Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Ρ Π°ΡΠ΄ΡΠ΅Ρ, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ·ΠΈ ΡΠΎΡΡΡΠ΅Ρ. Π₯ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ βΠ΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π΅Ρβ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ (Ρ ΠΎΡΡ) ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΠ‘ (Π³ΠΎΡΡ).
Π’ΡΠΉ ΠΊΠ°ΡΠΎ KVM Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ» Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π΅ΠΊΡΡΡΠΈ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈ Ρ.Π½.). Π ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° ΠΎΡΠΈΠ²Π°Ρ ΠΏΡΠΈ Π³ΠΎΡΡΠΈΡΠ΅ (ΡΡΠΉ ΠΊΠ°ΡΠΎ Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π°/Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux OS).
KVM Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·, Π½ΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΠ‘, Π·Π°ΡΠΎΡΠΎ... Π’ΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° I/O Π΅ΠΌΡΠ»Π°ΡΠΈΡ. ΠΠ° I/O (CPU, Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ°, Π²ΠΈΠ΄Π΅ΠΎ, 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
- Π³ΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Π½Π° Ring 0
- Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Ring -1
4) QEMU-KVM
KVM Π΄Π°Π²Π° Π½Π° Π³ΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ring 0 ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° QEMU Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° I/O (ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ°, Π²ΠΈΠ΄Π΅ΠΎ, PCI, USB, ΡΠ΅ΡΠΈΠΉΠ½ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΈ Ρ.Π½., ΠΊΠΎΠΈΡΠΎ Π³ΠΎΡΡΠΈΡΠ΅ βΠ²ΠΈΠΆΠ΄Π°Ρβ ΠΈ Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ).
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ QEMU-KVM (ΠΈΠ»ΠΈ KVM-QEMU) :)
ΠΠ ΠΠΠΠ’Π
PS Π’Π΅ΠΊΡΡΡΡ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π² ΠΊΠ°Π½Π°Π»Π° Π½Π° Telegram
ΠΠΈΡΠ΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΊΡΠ΄Π΅ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²Ρ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈ!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com