QEMU
কিউইএমইউ
Userspace machine emulator — disk/NIC/VGA/BIOS-এর মতো device emulation সবসময়ই নিজে করে, আর CPU execution-এর জন্য হয় নিজস্ব software translator (TCG) নাহয় KVM-এর হার্ডওয়্যার-accelerated ioctl ব্যবহার করে।
also: quick emulator, qemu-system-x86_64, tcg
QEMU একা (TCG) : software instruction translation — যেকোনো guest ISA, host-এর চেয়ে বহুগুণ ধীর
QEMU + KVM : CPU execution KVM/hardware-accelerated (same-architecture-only)
সবসময় QEMU-র কাজ : disk controller, NIC, VGA/GPU, USB, BIOS/UEFI — ordinary userspace কোড
- Fabrice Bellard ২০০৩-এ প্রকাশ করেন; মূল ইঞ্জিন TCG (Tiny Code Generator) — যেকোনো guest ISA-র instruction host-এর native code-এ dynamically translate করে
-enable-kvm/-accel kvmযোগ হলে CPU execution engine বদলে যায় (TCG-এর বদলেioctl(KVM_RUN)), কিন্তু device model কোড অপরিবর্তিত — একই C ফাংশন উভয় মোডেই চলে- Cross-architecture emulation (যেমন ARM binary x86 host-এ চালানো) শুধু TCG মোডে সম্ভব — KVM মোডে guest ও host ISA একই হতে হয়
- Firecracker/crosvm-এর মতো লাইটওয়েট বিকল্প QEMU ছাড়াই সরাসরি KVM API ব্যবহার করে, শুধু ন্যূনতম virtio device সমর্থন করে