เบเบงเบฒเบกเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเปเบญเบ:
1) KVM
KVM (Kernel-based Virtual Machine) เปเบเบฑเบ hypervisor (VMM โ Virtual Machine Manager) เปเบฅเปเบเปเบเบฑเบเปเบกเบเบนเบเปเบ Linux OS. เบเปเบญเบเปเบเป hypervisor เปเบเบทเปเบญเปเบฅเปเบเบเบฒเบเบเบญเบเปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเปเปเบกเบตเบขเบนเป (virtual) เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบเบทเปเบญเบเบฎเบฒเบเปเบงเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบเบเบตเปเปเบเปเบเบดเบเบเบตเปเบเบญเบเปเบงเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฒเบเบเบญเบเปเบงเบเบตเป. hypervisor เปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบ "spacer" เบฅเบฐเบซเบงเปเบฒเบเบฎเบฒเบเปเบงเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบ (เปเบเบปเปเบฒเบเบฒเบ) เปเบฅเบฐ virtual OS (เปเบเบ).
เปเบเบทเปเบญเบเบเบฒเบ KVM เปเบเบฑเบเปเบกเบเบนเบเบกเบฒเบเบเบฐเบเบฒเบเบเบญเบ Linux kernel, เบกเบฑเบเปเบเปเบฎเบฑเบเบเบธเบเบชเบดเปเบเบเบตเปเบเปเบญเบเบเบฒเบเบเบฒเบ kernel (เบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบฒเบเบฐเบฅเบฒเบ, เปเบฅเบฐเบญเบทเปเบเป). เปเบฅเบฐเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก, เปเบเบเบตเปเบชเบธเบ, เบเบปเบเบเบฐเปเบซเบเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบซเบฒเปเบเบ (เบเบฑเบเบเบฑเปเบเปเบเปเปเบเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ hypervisor เบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ / เปเบ Linux OS kernel).
KVM เปเบกเปเบเปเบงเบซเบผเบฒเบ, เปเบเปเบเปเบงเบเบเบปเบงเบกเบฑเบเปเบญเบเบกเบฑเบเบเปเปเบเบฝเบเบเปเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ OS virtual, เปเบเบฒเบฐเบงเปเบฒ ... เบญเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบ I/O emulation. เบชเปเบฒเบฅเบฑเบ I/O (CPU, disks, network, video, PCI, USB, serial ports, etc.) KVM เปเบเป QEMU.
2) QEMU
QEMU (Quick Emulator) เปเบเบฑเบ emulator เบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเปเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเบญเบญเบเปเบเบเบกเบฒเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบซเบเบถเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเบญเบทเปเบ (เบเบปเบงเบขเปเบฒเบ: ARM -> x86). เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบเปเบเปเบเบเปเบเบต, QEMU emulates เบญเบธเบเบฐเบเบญเบ peripheral เบเปเบฒเบเป: เบเบฑเบเปเบเบทเบญเบเปเบฒเบ, HDD, เบเบฑเบเบงเบตเบเบตเปเบญ, PCI, USB, เปเบฅเบฐเบญเบทเปเบเป.
เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเบตเป:
เบเปเบฒเปเบเบฐเบเปเบฒ/เบฅเบฐเบซเบฑเบเบเบฒเบเบชเบญเบ (เบเบปเบงเบขเปเบฒเบ: ARM) เบเบทเบเบเปเบฝเบเปเบเบฑเบเบฅเบฐเบซเบฑเบเปเบญเบเบฐเบฅเบฒเบเปเบงเบเบตเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบเปเบเปเบเบปเบงเปเบเบเบชเบฑเบเบเบฒเบ TCG (Tiny Code Generator) เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ เบฅเบฐเบซเบฑเบเบเบฒเบเบชเบญเบเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเบเบญเบเปเบงเบเบตเบเบตเปเบเบฐเบเบทเบเบเปเบฝเบเปเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒ/เบฅเบฐเบซเบฑเบเปเบเบปเปเบฒเปเบฒเบ (เบเบปเบงเบขเปเบฒเบ: x86).
ARM โ> intermediate_code โ> x86
เปเบเบเบเบทเปเบเบเบฒเบเปเบฅเปเบง, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเปเปเบเบทเปเบญเบ virtual เปเบ QEMU เปเบเปเบฎเบเปเบเบเปเปเบเบฒเบก, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบตเปเบเปเบเบเปเบเบตเบฎเบธเปเบเปเบเบปเปเบฒเบเบตเปเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบกเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบซเบผเบฒเบ, เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบฅเบฐเบซเบฑเบเบชเบญเบเบเบฐเบเบดเบเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบทเบเปเบซเบกเปเบชเบญเบเบเบฑเปเบ, เปเบเบเปเบเป TCG (TCG เปเบกเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฝเบเปเบเปเปเบเปเบงเบฅเบฒ).
เปเบซเบผเบปเปเบฒเบเบฑเปเบ. QEMU เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบกเบตเบเบงเบฒเบกเปเบขเบฑเบเบซเบผเบฒเบ, เปเบเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบซเบผเบฒเบ.
3) เปเบซเบงเบเบเปเบญเบเบเบฑเบ
เบฅเบฐเบซเบฑเบเปเบเบฅเปเบเบฅเบก Binary เบเปเบฝเบงเบเบฑเบเปเบเปเบเบเปเบเบตเปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบ, เปเบเปเบเบฑเปเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ (เบงเบปเบเปเบซเบงเบ / เบงเบปเบเบเปเบญเบเบเบฑเบ) เบเบตเปเบกเบตเบฅเบฐเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเปเบกเบนเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบฒเบเบชเบดเบเบเบดเบเบดเปเบชเบเบเบตเปเบชเบธเบ (Ring 0), เบเบปเบเปเบเบดเบเบเปเบฒเบเบฑเบเบเบตเปเบชเบธเบ, เบเบงเบเบเบธเบกเปเบฅเบฐ "เบเบฑเบเบซเบกเบฒเบเปเบซเปเบเปเบเบทเบญเบเปเบเบ. โ (เปเบซเบงเบ 3).
เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ (OS kernel) เปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ Ring 0 (เปเบซเบกเบ kernel) เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเบดเปเบเปเบเบเปเปเบเบฒเบกเบเบตเปเบกเบฑเบเบเปเบญเบเบเบฒเบเบเปเบงเบเบเปเปเบกเบนเบเปเบฅเบฐเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเป. เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบนเปเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบ Ring 3 (เบฎเบนเบเปเบเบเบเบนเปเปเบเป) เปเบฅเบฐเบเปเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบฎเบฑเบเบชเบดเปเบเปเบเบเปเปเบเบฒเบกเบเบตเปเปเบเบปเบฒเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบ, เปเบเปเปเบเบเบเบตเปเบเบฐเบเปเบญเบเบฎเปเบญเบเบเปเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเปเบฅเบฐเบเบฑเปเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ (เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบนเปเปเบเปเบเบฝเบเปเบเปเปเบเบปเปเบฒเปเบเบดเบเบเปเปเบกเบนเบเบเบญเบเบเบปเบเปเบญเบเปเบฅเบฐเบเปเปเบชเบฒเบกเบฒเบ "เปเบเปเบฎเบฑเบ. เปเบเบปเปเบฒเปเบเปเบโ sandbox เบเบญเบเบเบปเบเบญเบทเปเบ). เบงเบปเบเปเบซเบงเบ 1 เปเบฅเบฐ 2 เบกเบตเบเบธเบเบเบฐเบชเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบเบเบนเปเบเบฑเบเบเบตเป.
เบเปเบญเบเบเบตเปเบเบฐเบเบฐเบเบดเบ Intel VT-x / AMD SVM, hypervisors เปเบฅเปเบเปเบเบดเบ Ring 0, เปเบฅเบฐเบเบธเบเบเบปเบเบเบปเปเบงเปเบเปเบฅเปเบเบขเบนเปเปเบ Ring 1. เปเบเบทเปเบญเบเบเบฒเบ Ring 1 เบเปเปเบกเบตเบชเบดเบเบเบดเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบปเบเบเบฐเบเบดเบเบญเบ OS, เบเปเบงเบเปเบเปเบฅเบฐเบเบฒเบเปเบเบชเบดเบเบเบดเบเบดเปเบชเบเบเบฒเบเบฅเบฐเบเบปเบเปเบเบ, hypervisor เบเปเบญเบเปเบเปเบเบฑเบเปเบเบเบเบฒเบเปเบเบเบตเปเปเบเบเบฑเบเบเบตเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบกเบฑเบเบขเบนเปเปเบ Ring 0 (เบเบทเบเบฑเบเบเบฑเบ QEMU เปเบฎเบฑเบ). เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เปเบเบเบชเบญเบ เบเปเปเปเบกเปเบ เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบปเบเบเปเบฝเบงเบเบฑเบเปเบเปเบเบเปเบเบต, เปเบฅเบฐเปเบเปเบฅเบฐเบเบฑเปเบเปเบเปเบเปเบฒเบเบเบฒเบเบเบฑเบเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบซเบผเบฒเบเบเบฑเปเบ.
overhead เปเบกเปเบเบชเปเบฒเบเบฑเบเปเบฅเบฐเบเบตเปเปเบกเปเบเบเบฑเบเบซเบฒเปเบซเบเป, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบนเปเบเบฐเบฅเบดเบเปเบเปเบเบเปเบเบต, เปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเบเบญเบเบเบฑเบเปเบฅเบฐเบเบฑเบ, เปเบเปเบเปเบญเบเบเบธเบเบเปเบฒเปเบเบฐเบเปเบฒเปเบเบตเปเบกเปเบเบตเบก (Intel VT-x / AMD SVM) เบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฐเบเบดเบเบฑเบเบฅเบฐเบซเบฑเบ OS เบเบญเบเปเบเบ. เปเบเบเบเบปเบ เปเบเปเบเปเบเบเปเบเบตเปเบเบปเปเบฒเบเบฒเบ (เบเปเบฒเบกเบเบฑเปเบเบเบญเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบกเบตเบเปเบฒเปเบเปเบเปเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเปเบฅเบฐเบเบตเบเปเบญเบ).
เบเปเบงเบเบเบฒเบเบกเบฒเปเบเบดเบเบเบญเบ Intel VT-x / AMD SVM, เบฅเบฐเบเบฑเบ Ring เปเบซเบกเปเบเบดเปเบชเบ -1 (เบฅเบปเบเบซเบเบถเปเบ) เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ. เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบ hypervisor เปเบฅเปเบเปเบชเปเบกเบฑเบ, เปเบฅเบฐเปเบเบเปเบฅเปเบเบขเบนเปเปเบเบดเบ Ring 0 เปเบฅเบฐเปเบเปเบฎเบฑเบเบชเบดเบเบเบดเบเบดเปเบชเบเปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ CPU.
เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เปเบเบเบตเปเบชเบธเบ:
- เปเบเบปเปเบฒเบเบฒเบเปเบฅเปเบเบขเบนเปเปเบเบงเบปเบเปเบซเบงเบ 0
- เปเบเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบงเบปเบเปเบซเบงเบ 0
- hypervisor เปเบฅเปเบเบขเบนเปเปเบเบงเบปเบเปเบซเบงเบ -1
4) QEMU-KVM
KVM เปเบซเปเปเบเบเปเบเบปเปเบฒเปเบเบดเบ Ring 0 เปเบฅเบฐเปเบเป QEMU เปเบเบทเปเบญเบเปเบฒเบฅเบญเบ I/O (เปเบเปเบเบเปเบเบต, เปเบเปเบ, เปเบเบทเบญเบเปเบฒเบ, เบงเบดเบเบตเปเบญ, PCI, USB, เบเบญเบ serial, เปเบฅเบฐเบญเบทเปเบเปเบเบตเปเปเบเบ "เปเบเบดเปเบ" เปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ).
เบเบฑเปเบเบเบฑเปเบ QEMU-KVM (เบซเบผเบท KVM-QEMU):)
CREDITS
PS เบเปเปเบเบงเบฒเบกเบเบญเบเบเบปเบเบเบงเบฒเบกเบเบตเปเปเบเปเบเบทเบเบเบฑเบเบเบตเบกเบกเบฒเปเบเปเบเบทเปเบญเบเบเบปเปเบเปเบเบเปเบญเบเบเบฒเบ Telegram
เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบเบเบตเปเบเปเบญเบเบเปเปเปเบเบปเปเบฒเปเบเบซเบปเบงเบเปเปเบขเปเบฒเบเบเบทเบเบเปเบญเบเบซเบผเบทเบเปเบฒเบกเบตเบชเบดเปเบเปเบเบเบตเปเบเบฐเปเบเบตเปเบก.
!
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com