QEMU-KVM-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜

QEMU-KVM-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜

แƒฉแƒ”แƒ›แƒ˜ แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ’แƒแƒ’แƒ”แƒ‘แƒ:

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) แƒ“แƒแƒ›แƒชแƒแƒ•แƒ˜ แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜

QEMU-KVM-แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜

แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ“แƒแƒœแƒ”แƒ–แƒ” (แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜ / แƒ“แƒแƒ›แƒชแƒแƒ•แƒ˜ แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜) แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ“แƒแƒœแƒ”แƒ”แƒ‘แƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒ แƒ˜แƒ•แƒ˜แƒšแƒ”แƒ’แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ“แƒแƒœ (แƒ‘แƒ”แƒญแƒ”แƒ“แƒ˜ 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-แƒ˜แƒก แƒแƒ แƒฎแƒ–แƒ” @RU_Voip แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ แƒฎแƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜.

แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜ แƒกแƒแƒ“ แƒ•แƒ”แƒ  แƒ’แƒแƒ•แƒ˜แƒ’แƒ” แƒ—แƒ”แƒ›แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒœ แƒ แƒแƒ›แƒ” แƒ“แƒแƒกแƒแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ