Qemu

Wstecz
Dalej
Indeks

Qemu jest dynamicznym translatorem, służącym głównie do emulowania architektury x86.

Używa dość ciekawych technik. Jedna z nich jest dzielenie skomplikowanych, CISC'owych rozkazów IA-32 na tzw. "instrukcje proste". Każda z nich jest zaimplementowana w języku C jako mało kawałek kodu. Po jego skompilowaniu wynik może być używany do tłumaczenia w miejsce danej instrukcji. Ułatwia to przenoszenie emulatora na inne platformy. Ponadto idea dzielenia na "instrukcje proste" umożliwia emulowanie kilku architektur, co w przypadku takich emulatorów jak Bochs sprowadzałoby się do przepisania całego programu.

Qemu ma dwa tryby pracy

Jednym z częstszych zastosowań Qemu, w porównaniu z Wine jest uruchamianie programów Windows'owych na innych architekturach, np. Macintosh'owym PowerPC.

Osiąga stosunkowo dobre wyniki (http://fabrice.bellard.free.fr/qemu/benchmarks.html). Uruchamiany na architekturze x86 daje ok. 25% prędkości natywnej, na SPARCu ok. 10%, na ALPHA ok. 12%. W porównaniu np. z Bochsem (ok. 0.4%) jest to naprawdę duże osiągnięcie.

Wróć do góry