Эмулятор QEMU: полное погружение в виртуальную среду

Qemu – кроссплатформенное приложение с открытым исходным кодом для эмуляции и виртуализации различных ОС. Позволяет запустить одну операционную систему внутри другой. При этом архитектуры процессора-носителя и целевого процессора могут быть различными.  Еще одна отличительная особенность QEMU – возможность приостановки, сохранения или восстановления состояния виртуальной системы. Поддерживает архитектуры:

  •         х86 (32 и 64 битная архитектура);
  •         Alpha;
  •         ARM;
  •         ColdFire;
  •         CRISv2;
  •         MicroBlaze;
  •         MIPS (32 бит);
  •         PowerPC;
  •         SPARC (32 и 64 бит).

QEMU работает в двух режимах.

Режим пользования (user mode) – позволяет созданные на одном процессоре процессы Linux запускать на другом. Например, программы Alpha на архитектуре х86. Используется в разработке, кросс-компиляции и отладке.

Системный режим (system mode) – эмулирует систему полностью, все компоненты компьютера, включая процессор и остальные устройства. Применяется в случаях, если необходимо запустить без перезагрузки или отладки системного кода несколько операционных систем.

В приложении имеется модуль ядра Linux – kqemu, благодаря которому есть возможность напрямую передавать инструкции эмулируемой системы процессору хост-системы, что значительно ускоряет работу системы.

Еще одна фишка QEMU – динамический транслятор. Для обеспечения эмуляции он переводит инструкции гостевого процессора в центральный, разбивая ее на микрооперации. Данные микрооперации являются элементами С-кода, которые компилируются в объекты. Затем основной транслятор отображает целевые инструкции на микрооперации для динамической трансляции. Помимо эффективности, такой подход обеспечивает переносимость. Еще одна функция динамического транслятора – кэширование блоков кода с целью снижения накладных расходов транслятора.

Установка QEMU

Процесс установки программы довольно прост – ее можно скачать из официального репозитория. Для Debian команда будет выглядеть так

# apt-get install qemu-kvm qemu

Для CentOS/RedHat

# yum install qemu-kvm qemu

Подробно изучаем утилиту QEMU на курсе «L3-Virtualization»!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *