QEMU – Wikipedia, wolna encyklopedia
Logo programu | |
Autor | Fabrice Bellard |
---|---|
Aktualna wersja stabilna | 9.1.2 (21 listopada 2024) [±] |
System operacyjny | Linux, Windows, OS X, BeOS/Zeta, NetBSD, FreeBSD, OpenBSD |
Rodzaj | emulator |
Licencja | GPL |
Strona internetowa |
QEMU – szybki emulator napisany przez Fabrice'a Bellarda i dostępny jako wolne oprogramowanie.
QEMU umożliwia uruchomienie kilku systemów operacyjnych jednocześnie na jednej maszynie. Jest podobny do takich projektów jak Bochs czy PearPC, jednak ma kilka cech (np. większą szybkość i obsługę wielu architektur CPU), dzięki którym wyprzedza swoich konkurentów.
Tryby pracy
[edytuj | edytuj kod]QEMU pracuje w dwóch trybach emulacji:
- użytkownika – może uruchamiać procesy systemu Linux skompilowane na innym typie procesora niż bieżący.
- systemu – emulowany jest cały system, łącznie z różnymi urządzeniami peryferyjnymi. Umożliwia to łatwiejsze testowanie i debugowanie kodu.
Licencja
[edytuj | edytuj kod]Większość programu jest oparta na licencji LGPL, a sama część emulująca jest na GNU GPL.
Od 6 lutego 2007 również moduł kqemu (przyspieszający około 5-krotnie pracę QEMU) jest dostępny na licencji GNU GPL. Wcześniej moduł ten był darmowy, ale autor nie chciał udostępnić kodu źródłowego, dopóki nie uzyska bliżej nieokreślonej finansowej rekompensaty. Równolegle rozwijał się też otwarty odpowiednik tego modułu, qvm86, jednak, w związku z wydaniem programu VirtualBox na licencji GNU GPL, projekt ów został zamknięty na początku 2007 [1].
Zalety
[edytuj | edytuj kod]- Obsługa architektur x86, x86-64, PowerPC, SPARC i innych.
- Szybkość, niektóre aplikacje działają prawie jak na rzeczywistym sprzęcie (zwłaszcza z modułem kqemu).
- Możliwość uruchomienia oprogramowania Linuksa na innych platformach.
- Możliwość emulacji karty sieciowej.
- Możliwość zapisywania i wznawiania stanu maszyny.
- Obsługa tzw. migawek (ang. snapshots) – można zapisać stan np. zaraz po zainstalowaniu danego systemu, a później, w przypadku uszkodzenia owego systemu, powrócić do tego stanu odzyskując czysty system bez potrzeby ponownej instalacji.
- Pełna otwartość kodu.
- Obsługa SMP.
- Uruchamiane systemy nie muszą być w żaden sposób modyfikowane.
- Możliwość zdalnej pracy na emulowanych maszynach za pomocą zintegrowanego serwera VNC.
- Obsługa przekierowań portów maszyny gospodarza na porty systemu gościa, pozwalająca na uruchomienie wirtualnego serwera
- Pełna kontrola nad programem przy pomocy linii poleceń.
- Obsługa tabletów USB.
Wady
[edytuj | edytuj kod]- Brak obsługi mniej popularnych platform sprzętowych.
- Trudniejszy w użytkowaniu niż inne emulatory.
- Brak specjalnych sterowników dla emulowanych systemów, które w takich aplikacjach jak VMware czy VirtualBox w znaczący sposób zwiększają komfort pracy (m.in. eliminując skokowe wyświetlanie kursora myszki, które ma miejsce w QEMU).
Zobacz też
[edytuj | edytuj kod]- Kernel-based Virtual Machine – Linuksowe, wspierane sprzętowo rozwiązanie wirtualizacyjne bazujące na QEMU