Ich verwende Ubuntu 12.04 für PowerPC und habe Qemu nur aus Spaß installiert, da ich damit bereits Erfahrung beim Erstellen eines ISO für ein ARM-Tablet hatte. Bei einer Suche habe ich Folgendes auf meinem System installiert gefunden:
/usr/bin/qemu-alpha
/usr/bin/qemu-arm
/usr/bin/qemu-armeb
/usr/bin/qemu-cris
/usr/bin/qemu-ga
/usr/bin/qemu-i386
/usr/bin/qemu-ifdown
/usr/bin/qemu-ifup
/usr/bin/qemu-img
/usr/bin/qemu-io
/usr/bin/qemu-launcher
/usr/bin/qemu-m68k
/usr/bin/qemu-microblaze
/usr/bin/qemu-mips
/usr/bin/qemu-mipsel
/usr/bin/qemu-nbd
/usr/bin/qemu-ppc
/usr/bin/qemu-ppc64
/usr/bin/qemu-ppc64abi32
/usr/bin/qemu-sh4
/usr/bin/qemu-sh4eb
/usr/bin/qemu-sparc
/usr/bin/qemu-sparc32plus
/usr/bin/qemu-sparc64
/usr/bin/qemu-system-arm
/usr/bin/qemu-system-cris
/usr/bin/qemu-system-i386
/usr/bin/qemu-system-m68k
/usr/bin/qemu-system-microblaze
/usr/bin/qemu-system-mips
/usr/bin/qemu-system-mips64
/usr/bin/qemu-system-mips64el
/usr/bin/qemu-system-mipsel
/usr/bin/qemu-system-ppc
/usr/bin/qemu-system-ppc64
/usr/bin/qemu-system-ppcemb
/usr/bin/qemu-system-sh4
/usr/bin/qemu-system-sh4eb
/usr/bin/qemu-system-sparc
/usr/bin/qemu-system-sparc64
/usr/bin/qemu-system-x86_64
/usr/bin/qemu-x86_64
Aber das kann doch nicht alles wirklich funktionieren, oder? Auf PowerPC?
Sicher, sie sind installiert, aber … was funktioniert wirklich?
Weiß jemand, welche Architektur ich mit QEMU auf meinem PowerPC Ubuntu G4 Powerbook einigermaßen erfolgreich emulieren könnte?
Antwort1
Sicher, sie können (und tun) funktionieren (QEMU steht fürQschnellEMUlator), wird aber viel langsamer sein als ihre nativen Gegenstücke - also diejenigen, die die gleicheIST EIN(oder ein Teil davon) wie die echte Hardware – da ein Großteil des Codes nicht direkt (ohne Emulation) ausgeführt werden kann.
Meiner Erfahrung von vor etwa drei Jahren zufolge war ein mit QEMU emulierter PowerPC auf x86 um eine Größenordnung langsamer als das Original (ein Host mit 2,4 GHz war 2-3 Mal langsamer als ein PPC mit 600 MHz).
So kann man beispielsweise auchTesten Sie Android-Anwendungenfür ARM-basierte Geräte auf *x86.
Wenn Sie an der Virtualisierung Ihrer tatsächlichen Hardware interessiert sind (d. h. Sie möchten dieselbe Architektur „emulieren“), sollten Sie der tatsächlichen Leistung viel näher kommen – große Teile des Codes können nativ ausgeführt werden und (optionale) Hardwareunterstützung für Virtualisierung kann dies noch weiter erweitern.
Ich habe es selbst nie gemessen und die Berichte variieren, aber ich würde erwarten, dass ich irgendwo über 90 % der nativen Geschwindigkeit erreiche (unter x86_64 habe ich Angaben über etwa 2 % Overhead gesehen). Viel hängt davon ab, welches Speichermodell Sie für Ihre Disk-Images verwenden - die Verwendung einer separaten Partition ist natürlich schneller als die Verwendung einer Datei, da Sie eine zusätzliche Ebene überspringen - das Dateisystem (und mit wachsendem Image-Format verlieren Sie auch zusätzliche Speicherplatzzuweisungen, wenn das Image wächst). Mit viel RAM tmpfs
ist das Einfügen des Images eine Geschwindigkeitssteigerung, die Sie auf echter Hardware wahrscheinlich nicht sehen werden, es sei denn, Sie optimieren das System erheblich (lesen Sie kurz vor dem Booten - alles dorthin zu verschieben tmpfs
ist nicht so schwierig).