แž‚แŸ„แž›แž€แžถแžšแžŽแŸแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‘แžผแž‘แŸ…แž“แŸƒ QEMU-KVM

แž‚แŸ„แž›แž€แžถแžšแžŽแŸแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‘แžผแž‘แŸ…แž“แŸƒ QEMU-KVM

แž€แžถแžšแž™แž›แŸ‹แžŠแžนแž„แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แŸ–

1) KVM

KVM (Kernel-based Virtual Machine) แž‚แžบแž‡แžถ hypervisor (VMM โ€“ Virtual Machine Manager) แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž‡แžถแž˜แŸ‰แžผแžŒแžปแž›แž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแŸ” LinuxแžแŸ’แžšแžผแžœแž€แžถแžš hypervisor แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แŸ…แž€แŸ’แž“แžปแž„แž”แžšแžทแž™แžถแž€แžถแžŸ (แž“แžทแž˜แŸ’แž˜แžทแž) แžŠแŸ‚แž›แž˜แžทแž“แž˜แžถแž“ แžแžŽแŸˆแž–แŸแž›แžŠแŸ‚แž›แž›แžถแž€แŸ‹แž•แŸ’แž“แŸ‚แž€แžšแžนแž„แžšแžผแž”แžœแž“แŸ’แžแž–แžทแžแž”แŸ’แžšแžถแž€แžŠแžŠแŸ‚แž›แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž–แžธแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แŸ„แŸ‡แŸ” hypervisor แžŠแžพแžšแžแžฝแž‡แžถ "แžŸแŸ’แžšแž‘แžถแž”แŸ‹" แžšแžœแžถแž„แž•แŸ’แž“แŸ‚แž€แžšแžนแž„แžšแžผแž”แžœแž“แŸ’แž (แž˜แŸ‰แžถแžŸแŸŠแžธแž“) แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแž (แž—แŸ’แž‰แŸ€แžœ)แŸ”

แžŠแŸ„แž™แžŸแžถแžš KVM แž‚แžบแž‡แžถแž˜แŸ‰แžผแžŒแžปแž›แžแžบแžŽแŸ‚แž›แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš Linuxแžœแžถแž‘แž‘แžฝแž›แž”แžถแž“โ€‹แž˜แžปแžแž„แžถแžšแž…แžถแŸ†แž”แžถแž…แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž–แžธแžแžบแžŽแŸ‚แž› (แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ†แžŽแžแŸ‹แž–แŸแž›แŸ”แž›แŸ”)แŸ” แž แžพแž™แžŠแžผแž…แŸ’แž“แŸแŸ‡ แžขแžแŸ’แžแž”แŸ’แžšแž™แŸ„แž‡แž“แŸแž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸแŸ‡แž“แžนแž„แž€แžพแžแžกแžพแž„แž…แŸ†แž–แŸ„แŸ‡แž—แŸ’แž‰แŸ€แžœ (แžŠแŸ„แž™แžŸแžถแžšแž—แŸ’แž‰แŸ€แžœแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ hypervisor แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ/แž“แŸ…แž€แŸ’แž“แžปแž„แžแžบแžŽแŸ‚แž›แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš)แŸ” Linux).

KVM แž˜แžถแž“แž›แŸ’แž”แžฟแž“แž›แžฟแž“แžŽแžถแžŸแŸ‹ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžœแžถแžœแžถแž˜แžทแž“แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแžแž‘แŸแž–แŸ’แžšแŸ„แŸ‡ ... แž“แŸแŸ‡แžแž˜แŸ’แžšแžผแžœแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแžแŸ’แžšแžถแž”แŸ‹แžแžถแž˜ I/O แŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹ I/O (CPU, disks, network, video, PCI, USB, serial ports แŸ”แž›แŸ”) KVM แž”แŸ’แžšแžพ QEMU แŸ”

2) QEMU

QEMU (Quick Emulator) แž‚แžบแž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžแŸ’แžšแžถแž”แŸ‹แžแžถแž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžงแž”แž€แžšแžŽแŸแž•แŸ’แžŸแŸแž„แŸ—แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŠแŸ‚แž›แž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜แž˜แžฝแž™แž“แŸ…แž›แžพแž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แž (แžงแž‘แžถแž แžšแžŽแŸ ARM -> x86) แŸ” แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพแžแžฝแžšแž€แŸ’แž”แžถแž› QEMU แžแŸ’แžšแžถแž”แŸ‹แžแžถแž˜แžงแž”แž€แžšแžŽแŸแž‚แŸ’แžšแžฟแž„แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž•แŸ’แžŸแŸแž„แŸ—แŸ– แž€แžถแžแž”แžŽแŸ’แžแžถแž‰ HDD แž€แžถแžแžœแžธแžŠแŸแžขแžผ PCI USB แŸ”แž›แŸ”

แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแžผแž…แž“แŸแŸ‡แŸ–

แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ†/แž›แŸแžแž€แžผแžŠแž‚แŸ„แž›แž–แžธแžš (แžงแž‘แžถแž แžšแžŽแŸ ARM) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ’แž›แŸ‚แž„แž‘แŸ…แž‡แžถแž€แžผแžŠแžฏแž€แžšแžถแž‡แŸ’แž™แž“แŸƒแžœแŸแž‘แžทแž€แžถแž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜ แžŠแŸ„แž™แž”แŸ’แžšแžพแžงแž”แž€แžšแžŽแŸแž”แŸ†แž”แŸ’แž›แŸ‚แž„ TCG (Tiny Code Generator) แž แžพแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž›แŸแžแž€แžผแžŠแž‚แŸ„แž›แž–แžธแžšแžฏแž€แžšแžถแž‡แŸ’แž™แž“แŸƒแžœแŸแž‘แžทแž€แžถแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ’แž›แŸ‚แž„แž‘แŸ…แž‡แžถแž€แžถแžšแžŽแŸ‚แž“แžถแŸ†/แž€แžผแžŠแž‚แŸ„แž›แžŠแŸ… (แžงแž‘แžถแž แžšแžŽแŸ x86)แŸ”

ARM -> intermediate_code -> x86

แžŸแŸ†แžแžถแž“แŸ‹แžขแŸ’แž“แž€แžขแžถแž…แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž“แŸ…แž›แžพ QEMU แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŽแžถแž˜แžฝแž™ แžŸแžผแž˜แŸ’แž”แžธแžแŸ‚แž‡แžถแž˜แžฝแž™แž“แžนแž„แž˜แŸ‰แžผแžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž…แžถแžŸแŸ‹แžŠแŸ‚แž›แž˜แžทแž“แž‚แžถแŸ†แž‘แŸ’แžš Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine)แŸ” แž‘แŸ„แŸ‡แž™แŸ‰แžถแž„แžŽแžถแž€แŸแžŠแŸ„แž™ แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž“แŸแŸ‡ แžœแžถแž“แžนแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž™แžบแžแžŽแžถแžŸแŸ‹ แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚แž›แŸแžแž€แžผแžŠแž‚แŸ„แž›แž–แžธแžšแžŠแŸ‚แž›แž€แŸ†แž–แžปแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž…แžถแŸ†แž”แžถแž…แŸ‹แžแŸ’แžšแžผแžœแž…แž„แž€แŸ’แžšแž„แžกแžพแž„แžœแžทแž‰แž—แŸ’แž›แžถแž˜แŸ—แž–แžธแžšแžŠแž„แžŠแŸ„แž™แž”แŸ’แžšแžพ TCG (TCG แž‚แžบแž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„แžแžถแž˜แž–แŸแž›แžœแŸแž›แžถ)แŸ”

แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แŸ” QEMU แžแŸ’แž›แžฝแž“แžœแžถแž˜แžถแž“แž—แžถแž–แžแŸ’แžšแž‡แžถแž€แŸ‹แžแŸ’แž›แžถแŸ†แž„ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž™แžบแžแžŽแžถแžŸแŸ‹แŸ”

3) แž…แžทแž‰แŸ’แž…แŸ€แž“แž€แžถแžšแž–แžถแžš

แž‚แŸ„แž›แž€แžถแžšแžŽแŸแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‘แžผแž‘แŸ…แž“แŸƒ QEMU-KVM

แž€แžผแžŠแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‚แŸ„แž›แž–แžธแžšแž“แŸ…แž›แžพ processors แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž แŸแžแžปแž•แž›แž˜แžฝแž™ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“แž‘แžธแžแžถแŸ†แž„แž“แŸ…แž€แž˜แŸ’แžšแžทแžแž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถ (แž…แžทแž‰แŸ’แž…แŸ€แž“/แž…แžทแž‰แŸ’แž…แŸ€แž“แž€แžถแžšแž–แžถแžš) แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แž˜แŸ’แžšแžทแžแž•แŸ’แžŸแŸแž„แž‚แŸ’แž“แžถแž“แŸƒแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž‘แžทแž“แŸ’แž“แž“แŸแž™ แž…แžถแž”แŸ‹แž–แžธแžฏแž€แžŸแžทแž‘แŸ’แž’แžทแž”แŸ†แž•แžปแž (Ring 0) แžšแž แžผแžแžŠแž›แŸ‹แž€แž˜แŸ’แžšแžทแžแž€แŸ†แžŽแžแŸ‹แž”แŸ†แž•แžปแž แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„ แž“แžทแž„ "แž‡แžถแž˜แžฝแž™แž“แžนแž„แž‚แŸ’แžšแžถแž”แŸ‹แžŠแŸ‚แž›แžšแžนแžแž”แž“แŸ’แžแžนแž„ (แž…แžทแž‰แŸ’แž…แŸ€แž“ 3) แŸ”

แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš (OS แžแžบแžŽแŸ‚แž›) แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ Ring 0 (แžšแž”แŸ€แž”แžแžบแžŽแŸ‚แž›) แž แžพแž™แžขแžถแž…แž’แŸ’แžœแžพแžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžŠแŸ‚แž›แžœแžถแž…แž„แŸ‹แž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž‘แžทแž“แŸ’แž“แž“แŸแž™ แž“แžทแž„แžงแž”แž€แžšแžŽแŸแžŽแžถแž˜แžฝแž™แŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸ…แž€แž˜แŸ’แžšแžทแž Ring 3 (แž‘แž˜แŸ’แžšแž„แŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹) แž แžพแž™แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž’แŸ’แžœแžพแžขแŸ’แžœแžธแžŠแŸ‚แž›แž–แžฝแž€แž‚แŸแž…แž„แŸ‹แž”แžถแž“แž“แŸ„แŸ‡แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž•แŸ’แž‘แžปแž™แž‘แŸ…แžœแžทแž‰แžแŸ’แžšแžผแžœแžแŸ‚แžŸแŸ’แž“แžพแžŸแžปแŸ†แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžšแžถแž›แŸ‹แž–แŸแž›แžŠแžพแž˜แŸ’แž”แžธแžขแž“แžปแžœแžแŸ’แžแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แžŽแžถแž˜แžฝแž™ (แžŠแžผแž…แŸ’แž“แŸแŸ‡แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž˜แžถแž“แžŸแžทแž‘แŸ’แž’แžทแž…แžผแž›แž”แŸ’แžšแžพแž‘แžทแž“แŸ’แž“แž“แŸแž™แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แžšแž”แžŸแŸ‹แž–แžฝแž€แž‚แŸแž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡ แž แžพแž™แž˜แžทแž“แžขแžถแž… "แž‘แž‘แžฝแž›แž”แžถแž“ แž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„ "แž”แŸ’แžšแžขแž”แŸ‹แžแŸ’แžŸแžถแž…แŸ‹แžšแž”แžŸแŸ‹แž“แžšแžŽแžถแž˜แŸ’แž“แžถแž€แŸ‹แž•แŸ’แžŸแŸแž„แž‘แŸ€แž) แŸ” Ring 1 แž“แžทแž„ 2 แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž˜แŸ’แžšแžปแž„แž‘แžปแž€แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแŸ„แž™แžขแŸ’แž“แž€แž”แžพแž€แž”แžšแŸ”

แž˜แžปแž“แž–แŸแž›แž€แžถแžšแž”แž„แŸ’แž€แžพแž Intel VT-x / AMD SVM แžขแŸ’แž“แž€แžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžแŸ’แž–แžŸแŸ‹แž”แžถแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ Ring 0 แž แžพแž™แž—แŸ’แž‰แŸ€แžœแž”แžถแž“แžšแžแŸ‹แž“แŸ…แž›แžพ Ring 1แŸ” แžŠแŸ„แž™แžŸแžถแžš Ring 1 แž˜แžทแž“แž˜แžถแž“แžŸแžทแž‘แŸ’แž’แžทแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž’แž˜แŸ’แž˜แžแžถแžšแž”แžŸแŸ‹ OS แžŠแŸ„แž™แž˜แžถแž“แž€แžถแžšแž แŸ…แž‘แžผแžšแžŸแž–แŸ’แž‘แžŠแŸ‚แž›แž˜แžถแž“แžŸแžทแž‘แŸ’แž’แžทแž“แžธแž˜แžฝแž™แŸ—แž–แžธแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž—แŸ’แž‰แŸ€แžœ hypervisor แžแŸ’แžšแžผแžœแž€แŸ‚แž”แŸ’แžšแŸ‚แž€แžถแžšแž แŸ…แž“แŸแŸ‡แž—แŸ’แž›แžถแž˜แŸ— แž แžพแž™แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžœแžถแž“แŸ…แž›แžพ Ring 0 (แž…แŸ’แžšแžพแž“แžŠแžผแž… QEMU แžŠแŸ‚แžš)แŸ” แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แŸ” แž—แŸ’แž‰แŸ€แžœแž‚แŸ„แž›แž–แžธแžš ะะ• แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž“แŸ…แž›แžพแžแžฝแžšแž€แŸ’แž”แžถแž› แž แžพแž™แžšแžถแž›แŸ‹แž–แŸแž›แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž€แžถแžšแž€แŸ‚แž”แŸ’แžšแŸ‚แž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜แž‡แžถแž…แŸ’แžšแžพแž“แž€แŸ’แž“แžปแž„แž–แŸแž›แž†แžถแž”แŸ‹แŸ—แž“แŸแŸ‡แŸ”

แž€แžถแžšแž…แŸ†แžŽแžถแž™แž›แžพแžŸแž‚แžบแžŸแŸ†แžแžถแž“แŸ‹ แž แžพแž™แž“แŸแŸ‡แž‚แžบแž‡แžถแž”แž‰แŸ’แž แžถแž’แŸ†แž˜แžฝแž™ แž แžพแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แž•แž›แžทแž processor แžŠแŸ„แž™แžฏแž€แžšแžถแž‡แŸ’แž™แž–แžธแž‚แŸ’แž“แžถแž‘แŸ…แžœแžทแž‰แž‘แŸ…แž˜แž€แž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŸแŸ†แžŽแžปแŸ†แž“แŸƒแž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แž”แž“แŸ’แžแŸ‚แž˜ (Intel VT-x / AMD SVM) แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠ OS แž—แŸ’แž‰แŸ€แžœ แžŠแŸ„แž™โ€‹แž•แŸ’แž‘แžถแž›แŸ‹ แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžš (แžšแŸ†แž›แž„แž‡แŸ†แž แžถแž“แž˜แž’แŸ’แž™แž˜แžŠแŸ‚แž›แž˜แžถแž“แžแž˜แŸ’แž›แŸƒแžแŸ’แž›แŸƒแžŠแžผแž…แž€แžšแžŽแžธแž˜แžปแž“) แŸ”

แž‡แžถแž˜แžฝแž™แž“แžนแž„แžœแžแŸ’แžแž˜แžถแž“แžšแž”แžŸแŸ‹ Intel VT-x / AMD SVM แž€แž˜แŸ’แžšแžทแž Ring แžแŸ’แž˜แžธแž–แžทแžŸแŸแžŸ -1 (แžŠแž€แž˜แžฝแž™) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แŸ” แž แžพแž™แžฅแžกแžผแžœแž“แŸแŸ‡ hypervisor แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพแžœแžถ แž แžพแž™แž—แŸ’แž‰แŸ€แžœแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ Ring 0 แž“แžทแž„แž‘แž‘แžฝแž›แž”แžถแž“แžŸแžทแž‘แŸ’แž’แžทแž…แžผแž›แž”แŸ’แžšแžพ CPU แŸ”

แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แŸ” แž“แŸ…แž‘แžธแž”แŸ†แž•แžปแžแŸ–

  • แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ Ring 0
  • แž—แŸ’แž‰แŸ€แžœแž’แŸ’แžœแžพแž€แžถแžšแž“แŸ…แž›แžพ Ring 0
  • hypervisor แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ Ring -1

4) QEMU-KVM

KVM แž•แŸ’แžแž›แŸ‹แžฑแŸ’แž™แž—แŸ’แž‰แŸ€แžœแž…แžผแž›แž”แŸ’แžšแžพ Ring 0 แž“แžทแž„แž”แŸ’แžšแžพ QEMU แžŠแžพแž˜แŸ’แž”แžธแžแŸ’แžšแžถแž”แŸ‹แžแžถแž˜ I/O (processor, disks, network, video, PCI, USB, serial ports แŸ”แž›แŸ” แžŠแŸ‚แž›แž—แŸ’แž‰แŸ€แžœ "แžƒแžพแž‰" แž“แžทแž„แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™)แŸ”

แžŠแžผแž…แŸ’แž“แŸแŸ‡ QEMU-KVM (แžฌ KVM-QEMU) :)

แžฅแžŽแž‘แžถแž“
แžšแžผแž”แž—แžถแž–แžŠแžพแž˜แŸ’แž”แžธแž‘แžถแž€แŸ‹แž‘แžถแž‰แž€แžถแžšแž…แžถแž”แŸ‹แžขแžถแžšแž˜แŸ’แž˜แžŽแŸ
แžšแžผแž”แžแžแžšแž”แžŸแŸ‹ แž…แžทแž‰แŸ’แž…แŸ€แž“แž€แžถแžšแž–แžถแžš

PS แžขแžแŸ’แžแž”แž‘แž“แŸƒแžขแžแŸ’แžแž”แž‘แž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แžŠแŸ†แž”แžผแž„แž“แŸ…แž€แŸ’แž“แžปแž„แž†แžถแž“แŸ‚แž› Telegram @RU_Voip แž‡แžถแž…แž˜แŸ’แž›แžพแž™แž…แŸ†แž–แŸ„แŸ‡แžŸแŸ†แžŽแžฝแžšแžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž…แžผแž›แžšแžฝแž˜แž†แžถแž“แŸ‚แž›แž˜แžฝแž™แŸ”

แžŸแžšแžŸแŸแžšแž“แŸ…แž€แŸ’แž“แžปแž„แž˜แžแžทแž™แŸ„แž”แž›แŸ‹แžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž˜แžทแž“แž™แž›แŸ‹แž”แŸ’แžšแž’แžถแž“แž”แž‘แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแžฌแž”แŸ’แžšแžŸแžทแž“แž”แžพแž˜แžถแž“แžขแŸ’แžœแžธแžแŸ’แžšแžผแžœแž”แž“แŸ’แžแŸ‚แž˜แŸ”

แžŸแžผแž˜แžขแžšแž‚แžปแžŽ!

แž”แŸ’แžšแž—แž–: www.habr.com

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster