QEMU

Podstawowym zadaniem QEMU jest możliwość uruchamiania wielu systemów operacyjnych na jednym fizycznym sprzęcie. Qemu to w przeciwieństwie do Virtual PC i VMWare Workstation projekt open-source'owy. Jest on emulatorem , który korzysta z dynamicznej translacji kodu. Potrafi dzięki temu emulować różne procesory na maszynach o różnych CPU. Dokładniej - pozwala na emulację x86, ARM, PowerPC, SPARC. Jednak ma pewne ograniczenia, o których szerzej jest napisane na stronie http://fabrice.bellard.free.fr/qemu/qemu-tech.html. W szczególności na architakturze x86 nie obsługuje SSE/MMX (choć w przyszłości ma się to zmienić), brak IPC syscall, brak wsparcia dla x86-64.

QEMU udostępnia dwa tryby pracy:

QEMU może uruchamiać różne systemy operacyjne na maszynach wirtualnych przy różnych goszczących SO - jak Linux, Windows, Mac (oczywiście host nie musi być taki jak gość).

Składa się z kilku podsystemów:

Główne cechy QEMU

Opis działania translacji kodu

Pierwszym krokiem jest podział każdej instrukcji emulowanego procesora na bardziej podstawowe instrukcje (mikrooperacje). Każda z tych mikrooperacji jest implementowana jako osobny mały kawałek kodu w C. Później ten kawałek kodu jest kompilowany przez GCC do pliku .o. Mikrooperacje są w taki sposób wybrane, aby ich ilość była dużo mniejsza niż ilość wszystkich kombinacji operacji i operandów w emulowanym CPU.

Narzędzie o nazwie dyngen używa pliku object jako wejścia, aby wygenerować dynamiczny generator kodu. Tenże generator jest potem używany, aby utworzyc funkcje hosta, które łączą w sobie kilka mikrooperacji.

Informacje

Instalacja

Możliwa jest instalacja zarówno pod Windowsami, jak i pod Linuxem. Nie jest ona skomplikowana zarówno pod jednym, jak i pod drugim systemem. Pokrótce omówimy tutaj proces instalacji.

Instalacja pod Linuksem jest analogiczna. Uwaga! Jeśli chcecie samemu skompilowac QEMU, musicie miec gcc starsze niz 4. Ale najłatwiej po prostu skopiowac plik tar.gz do katalogu głównego i tam go rozpakowac.

Informacji o tym, jak posługiwac się QEMU, jest w sieci bardzo dużo. Podajemy najważniejsze strony w katalogu "źródła".

Można uruchomic QEMU w QEMU, choć jest to możliwe tylko w wypadku, jeśli samodzielnie zostały skompilowane żródła.