QEMU
Opis
QEMU jest emulatorem procesora, stosującym dynamiczną translację binarną w
celu uzyskania dużej szybkości emulacji.
Może działać w jednym z dwóch trybów:
- Emulacja pełnego systemu [Full system emulation]. W tym trybie QEMU emuluje
cały system (np. PC) włącznie z procesorem i rozmaitymi urządzeniami.
- Emulacja trybu użytkownika [User mode emulation] (wymaga, by rolę host OS
pełnił Linux). W tym trybie QEMU może odpalać procesy linuksowe skompilowane dla
jednego procesora na innym procesorze.
Ogólne własności QEMU:
- Emulacja całego systemu lub samej przestrzeni użytkownika.
- Użycie dynamicznej translacji na kod hosta dla uzyskania sensownej szybkości.
- Działanie w architekturach x86 i PowerPC
- Obsługa samomodyfikującego się kodu (self-modifying code)
- Obsługa "Precise exceptions".
- Biblioteka (libqemu) która może być używana w innych projektach.
Wymagania i kompatybilność
Procesor macierzysty:
QEMU działa procesorach x86 i PowerPC. Ponadto może być uruchamiany na
następujących procesorach: AMD64, Alpha, Sparc32, ARM, Sparc64 z tym ze na tych
procesorach nie były testowane jeszcze żadne większe aplikacje.
Procesory emulowane przez QEMU w trybie pełnego systemu:
- x86
- SPARC (w trakcie testów)
- Power PC (w trakcie testów)
Procesory emulowane przez QEMU w trybie użytkownika:
- x86
- ARM
- PowerPC
- SPARC (w trakcie testów)
Przeznaczenie
- Tryb pełnego systemu może być zastosowany do odpalania wielu różnych systemów
operacyjnych bez potrzeby rebootowania komputera lub do debugowania kodu systemu
operacyjnego.
- Emulacja trybu użytkownika może być stosowana do odpalania m. in. Wine Windows
API emulator, a także do ułatwienia tzw. cross-compilation (kompilacji skrośnej)
oraz tzw. cross-debugging.
Źródła:
http://fabrice.bellard.free.fr/qemu (tutaj można pobrać QEMU)
http://am.xs4all.nl/phpwiki/index.php/Qemu