Емуляція за допомогою QEMU
- full system emulation, при якій створюється віртуальна машина, що має свій процесор і різну периферію, що дозволяє запускати ще одну операційну систему;
- User mode emulation, цей режим, реалізований тільки для GNU / Linux, дозволяє запускати на рідному процесорі програми, відкомпілювалися під іншу платформу.
Опціонально доступний QEMU Accelerator Module (KQEMU), що виконує частину коду безпосередньо на реальному процесорі, минаючи віртуальний, і таким чином оптимізуючи виконання коду в full system emulation-режимі.
На момент написання статті в якості основної платформи могли використовуватися комп'ютери на базі x86- і PowerPC-процесорів, на стадії тестування перебували x86_64, Alpha, Sparc32, ARM і S390. У режимі full system emulation поки повноцінно емулюється тільки x86-платформа, хоча вже доступні реалізації x86_64, SPARC і PowerPC, але вони знаходяться в стадії тестування. QEMU Accelerator Module реалізований поки тільки для Linux, хоча в майбутньому планується також підтримка Windows, * BSD і 64 розрядних процесорів. У user mode список трохи більше x86, ARM, SPARC і PowerPC. Решта платформи знаходяться поки на стадії тестування, і при роботі можливі збої.
Віртуальна машина i386-архітектури, створена за допомогою qemu, отримує в своє розпорядження такий набір віртуальних пристроїв:
Як бачите, на даний момент віртуальна машина в qemu не працює з USB- і SCSI-пристроями. Тут він поки, безперечно, програє VMWare.
Всі бібліотеки і емулятор поширюються в початкових текстах по GNU LGPL, виняток становить тільки QEMU Accelerator Module, який є пропрієтарним продуктом і вимагає згоди розробників при поширенні і комерційному використанні.
# Tar zxvf qemu-0.6.1.tar.gz
Після чого емулятор можна запускати. Якщо набрати qemu без параметрів, то буде виведений список опцій. У загальному випадку рядок запуску виглядає так:
qemu [options] [disk_image]
Тепер для прикладу роботи гостьової системи вставляємо завантажувальний диск в CD-ROM і даємо таку команду: