แฉแแแ แแแแแแแแแแแ แแแแแแ:
1) KVM
KVM (แแแ แแแแ แแแคแฃแซแแแแฃแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแ) แแ แแก แฐแแแแ แแแแแ แ (VMM - แแแ แขแฃแแแฃแ แ แแแแฅแแแแแแก แแแแแฏแแ แ), แ แแแแแแช แแฃแจแแแแก แแแแฃแแแ Linux OS-แแ. แกแแญแแ แแ แฐแแแแ แแแแแ แ แแแแกแแแแแก, แ แแ แแแแขแแ แแ แแแ แแแแฃแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ แแ แแ แกแแแฃแ (แแแ แขแฃแแแฃแ ) แแแ แแแแจแ แแ แแแแแ แแ แแก แแแแแแแ แแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแกแแแ แ แแแแฃแ แ แคแแแแแฃแ แ แแแแ แแขแฃแ แ, แ แแแแแแแช แแแแแก แแก แแ แแแ แแแ. แฐแแแแ แแแแแ แ แแแฅแแแแแแก แ แแแแ แช "แแแแแแแฌแแแแแแแ" แคแแแแแฃแ แแแแ แแขแฃแ แแก (แแแกแแแแซแแแก) แแ แแแ แขแฃแแแฃแ OS-แก (แกแขแฃแแแ แก) แจแแ แแก.
แแแแแแแแ KVM แแ แแก Linux-แแก แแแ แแแแก แกแขแแแแแ แขแฃแแ แแแแฃแแ, แแก แแฆแแแก แงแแแแ แกแแญแแ แ แกแแแแแแก แแแ แแแแแแ (แแแฎแกแแแ แแแแก แแแ แแแ, แแ แแคแแแ แแ แ.แจ.). แแ แจแแกแแแแแแกแแ, แกแแแแแแ แฏแแแจแ, แงแแแแ แแก แกแแ แแแแแแ แแแแแก แกแขแฃแแ แแแแ (แ แแแแแ แกแขแฃแแ แแแ แแฃแจแแแแแ แฐแแแแ แแแแแ แแ, แ แแแแแแช แแฃแจแแแแก Linux OS แแแ แแแจแ).
KVM แซแแแแแ แกแฌแ แแคแแ, แแแแ แแ แแแแแกแแแแแ แแก แแ แแ แแก แกแแแแแ แแกแ แแแ แขแฃแแแฃแ แ แแแแ แแชแแฃแแ แกแแกแขแแแแก แแแกแแจแแแแแ, แ แแแแแ... แแก แแแแแฎแแแก I/O แแแฃแแแชแแแก. I/O-แกแแแแก (CPU, แแแกแแแแ, แฅแกแแแ, แแแแแ, PCI, USB, แกแแ แแฃแแ แแแ แขแแแ แแ แ.แจ.) KVM แแงแแแแแก QEMU-แก.
2) QEMU
QEMU (แกแฌแ แแคแ แแแฃแแแขแแ แ) แแ แแก แกแฎแแแแแกแฎแแ แแแฌแงแแแแแแแแแแกแแแแก แแแฃแแแขแแ แ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแฌแแ แแแแ แแแแ แแชแแฃแแ แกแแกแขแแแแแ, แ แแแแแแแช แแแแแฃแแแแแแแ แแ แแ แแ แฅแแขแแฅแขแฃแ แแกแแแแก แแแแ แแแ (แแแแแแแแแ, ARM -> X86). แแ แแชแแกแแ แแก แแแ แแ, QEMU แแแฃแแแชแแแก แฃแแแแแแก แกแฎแแแแแกแฎแแ แแแ แแคแแ แแฃแ แแแฌแงแแแแแแแแแก: แฅแกแแแแก แแแ แแแแแก, HDD, แแแแแ แแแ แแแแแก, PCI, USB แแ แ.แจ.
แแฃแจแแแแก แแกแ:
แแแกแขแ แฃแฅแชแแแแ/แแ แแแแแ แแแแ (แแแแแแแแแ, ARM) แแแ แแแแฅแแแแแ แจแฃแแแแแฃแ แ แแแแขแคแแ แแแก แแแแแฃแแแแแแแแ แแแแแ TCG (แแชแแ แ แแแแแก แแแแแ แแขแแ แ) แแแแแแงแแแแ แแ แจแแแแแ แแก แแแแขแคแแ แแแก แแแแแฃแแแแแแแแ แแ แแแแแ แแแแ แแแ แแแแฅแแแแแ แกแแแแแแ แแแกแขแ แฃแฅแชแแแแจแ/แแแแจแ (แแแแแแแแแ, x86).
ARM โ> แจแฃแแแแแฃแ แ_แแแแ โ> x86
แแ แกแแแแแแ, แแฅแแแ แจแแแแซแแแแ แแแฃแจแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแ QEMU-แแ แแแแแกแแแแ แฐแแกแขแแ, แแฃแแแแช แฃแคแ แ แซแแแแ แแ แแชแแกแแ แแก แแแแแแแแแ, แ แแแแแแแช แแ แฃแญแแ แแ แแฎแแ แก Intel VT-x-แก (Intel แแแ แขแฃแแแแแแชแแแก แขแแฅแแแแแแแ) / AMD SVM (AMD Secure Virtual Machine). แแฃแแชแ, แแ แจแแแแฎแแแแแจแ, แแก แแแฃแจแแแแแก แซแแแแแ แแแแ, แแแแก แแแแ, แ แแ แจแแแกแ แฃแแแแแแ แแ แแแแแ แแแแ แกแแญแแ แแแแก แแ แฏแแ แแแแแขแแแ แแแแก แคแ แแแแก แแ แแก, TCG-แแก แแแแแงแแแแแแ (TCG แแ แแก Just-in-Time แจแแแแแแแแแ).
แแแแ. QEMU แแแแแกแแแแแ แแแแ แแแแแ แแ, แแแแ แแ แซแแแแแ แแแแ แแฃแจแแแแก.
3) แแแแชแแแ แ แแแแแแ
แแ แแแแแ แแ แแแ แแแแก แแแแ แแ แแชแแกแแ แแแแ แแฃแจแแแแก แแแ แแแแฃแแ แแแแแแแก แแแแ, แแแแ แแ แแแแแแแแแฃแแแ แกแฎแแแแแกแฎแแ แแแแแแ (แ แแแแแแ / แแแแชแแแ แ แแแแแแ) แแแแแชแแแแ แฌแแแแแแก แกแฎแแแแแกแฎแแ แแแแแแแแ, แงแแแแแแ แแ แแแแแแแแ แแแฃแแแแแ (แแแญแแแ 0), แงแแแแแแ แจแแแฆแฃแแฃแแ, แ แแแฃแแแ แแแฃแแ แแ โแแฎแแแแ แแแแแแชแ แแแฃแแโ โ (แแแญแแแ 3).
แแแแ แแชแแฃแแ แกแแกแขแแแ (OS kernel) แแฃแจแแแแก Ring 0-แแ (kernel mode) แแ แจแแฃแซแแแ แแแแแแแแก แแก, แ แแช แกแฃแ แก แแแแแกแแแแ แ แแแแแชแแแแ แแ แแแฌแงแแแแแแแแ. แแแแฎแแแ แแแแแก แแ แแแ แแแแแ แแแฅแแแแแแก แแแญแแแก 3 แแแแแแ (แแแแฎแแแ แแแแแก แ แแแแแจแ) แแ แแ แแฅแแ แฃแคแแแแ แแแแแแแแ แแก, แ แแช แแแ แกแฃแ แ, แกแแแแแแแ แแ แฃแแแ แแแแแฎแแแแ แฌแแแแแ แงแแแแ แฏแแ แแ, แ แแ แจแแแกแ แฃแแแ แแแแแ แแขแฃแแ แแแแ แแชแแ แกแฎแแแก แฅแแแจแแก แงแฃแแจแ). แแแญแแแ 1 แแ 2 แแแแแฃแแแแแแแ แแซแฆแแแแแแก แแแแ แแแแแกแแงแแแแแแแ.
Intel VT-x/AMD SVM-แแก แแแแแแแแแแแแแ แฐแแแแ แแแแแ แแแ แแฃแจแแแแแแแ Ring 0-แแ, แฎแแแ แกแขแฃแแ แแแ แแฃแจแแแแแแแ Ring 1-แแ. แแแแแแแแ Ring 1-แก แแ แแฅแแก แกแแแแแ แแกแ แฃแคแแแแแแ OS-แแก แแแ แแแแฃแ แ แแฃแจแแแแแกแแแแก, แกแขแฃแแ แแแแก แกแแกแขแแแแก แงแแแแแ แแ แแแแแแแแ แแแฃแแ แแแ แแก แแ แแก, แฐแแแแ แแแแแ แก แฃแแแ แจแแแชแแแแ แแก แแแ แ แแ แจแแแกแ แฃแแ แแก Ring 0-แแ (แแกแแแ, แ แแแแ แช แแแแก QEMU แแแแแแแก). แแแแ. แกแขแฃแแแ แ แแ แแแแแ แแ แจแแกแ แฃแแแ แฃแจแฃแแแแ แแ แแชแแกแแ แแ แแ แงแแแแ แฏแแ แแ แแแแแแแ แ แแแแแแแแ แจแฃแแแแแฃแ แ แแแแแคแแแแชแแ.
แแแแแแแแแ แแแแจแแแแแแแแแ แแงแ แแ แแก แแงแ แแแแ แแ แแแแแแ, แจแแแแแ แแ แแ แแชแแกแแ แแก แแฌแแ แแแแแแแแแ, แแ แแแแแแแแกแแแ แแแแแฃแแแแแแแแ, แแแแแฃแจแแแก แแแกแขแ แฃแฅแชแแแแแก แแแคแแ แแแแแฃแแ แแแแ แแแ (Intel VT-x / AMD SVM), แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแแ แกแขแฃแแ แแก OS แแแแแก แจแแกแ แฃแแแแแก. แแแ แแแแแ แแแกแแแแซแแ แแ แแชแแกแแ แแ (แแแแแกแแแแ แ แซแแแ แแแฆแแ แแแฃแแ แจแฃแแแแแฃแ แ แกแแคแแฎแฃแ แแก แแแแ แแแก แแแแแ, แ แแแแ แช แแก แแแ แ แแงแ).
Intel VT-x / AMD SVM-แแก แแแกแแแแกแแแ แแ แแแ แจแแแฅแแแ แกแแแชแแแแฃแ แ แแฎแแแ Ring แแแแ -1 (แแแแฃแก แแ แแ). แแฎแแ แแ แฐแแแแ แแแแแ แ แแฃแจแแแแก แแแกแแ, แกแขแฃแแ แแแ แแ แแแฃแจแแแแแแ Ring 0-แแ แแ แแฆแแแแ แแ แแแแแแแแ แแแฃแ แฌแแแแแแก CPU-แแ.
แแแแ. แกแแแแแแแ:
- แแแกแแแแซแแแ แแฃแจแแแแก Ring 0-แแ
- แกแขแฃแแ แแแ แแฃแจแแแแแ Ring 0-แแ
- แฐแแแแ แแแแแ แ แแฃแจแแแแก Ring -1-แแ
4) QEMU-KVM
KVM แแซแแแแก แกแขแฃแแ แแแก แฌแแแแแแก Ring 0-แแ แแ แแงแแแแแก QEMU-แก I/O-แก (แแ แแชแแกแแ แ, แแแกแแแแ, แฅแกแแแ, แแแแแ, PCI, USB, แกแแ แแฃแแ แแแ แขแแแ แแ แ.แจ., แ แแแแแแกแแช แกแขแฃแแ แแแ โแฎแแแแแแโ แแ แแฃแจแแแแแ, แแแฃแแแชแแแกแแแแก.
แแฅแแแแ แแแแแแแแแแ แ QEMU-KVM (แแ KVM-QEMU) :)
แแ แแแแขแแแ
P.S. แแ แกแขแแขแแแก แขแแฅแกแขแ แแแแแแแแ แแแแแ แแแแแฅแแแงแแแ Telegram-แแก แแ แฎแแ
แแแฌแแ แแ แแแแแแขแแ แแแจแ แกแแ แแแ แแแแแแ แแแแ แกแฌแแ แแ แแ แ แแแ แแแกแแแแขแแแแแแ.
แแแแ แแแแแแแ!
แฌแงแแ แ: www.habr.com