Veröffentlichung des Emulators QEMU 5.1

Vorstellung Projektveröffentlichung QEMU 5.1. Als Emulator ermöglicht QEMU das Ausführen von Programmen, die für eine Hardwareplattform kompiliert wurden, auf einem System mit völlig anderer Architektur, beispielsweise das Ausführen einer Anwendung für ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht QEMU in einer isolierten Umgebung eine nahezu native Codeausführungsleistung durch direkte Befehlsausführung auf der CPU und die Nutzung des Hypervisors Xen oder des KVM-Moduls.

Ursprünglich wurde das Projekt von Fabrice Bellard mit dem Ziel ins Leben gerufen, die Ausführung von Linux-Binärdateien, die für die x86-Plattform kompiliert wurden, auf anderen Architekturen zu ermöglichen. Im Laufe der Entwicklung wurde die Unterstützung für die vollständige Emulation von 14 Hardwarearchitekturen hinzugefügt, und die Anzahl der emulierten Hardwaregeräte überstieg 400. Für die Version 5.1 wurden mehr als 2500 Änderungen von 235 Entwicklern vorgenommen.

Hauptmerkmale Verbesserungen, hinzugefügt in QEMU 5.1:

  • Unterstützung für die Emulation von CPUs basierend auf der Architektur AVR. Unterstützung für Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
    Arduino Mega (ATmega1280) und Arduino UNO (ATmega328P) implementiert.
  • Im ARM-Emulator wurde die Möglichkeit des Hot-Unplugging von Speicher und das Hot-Plugging von NVDIMM-Speicher für Gastbetriebssysteme mit ACPI hinzugefügt. Unterstützung für die ARMv8.2-Erweiterungen TTS2UXN und ARMv8.5 MemTag. Unterstützung für die sonorapass-bmc-Platine bereitgestellt.
  • Im MIPS-Emulator wurde die Unterstützung für Loongson 3A CPUs (R1 und R4) hinzugefügt. Die Leistung der Emulation von FPU- und MSA-Anweisungen wurde verbessert.
  • Im RISC-V-Emulator wurde die Unterstützung für SiFive E34 und Ibex CPUs hinzugefügt. Unterstützung für HiFive1 revB und OpenTitan-Platinen implementiert. Für Spike-Maschinen wurde die Unterstützung für mehr als eine CPU bereitgestellt.
  • Im PowerPC-Emulator wurde die Unterstützung für das Fehlerwiederherstellung in Gastbetriebssystemen mit FWNMI hinzugefügt.
  • Für die s390-Architektur wurde KVM für sichere Virtualisierung (Safe Execution Mode) hinzugefügt.
  • Im x86-Emulator wurden die Overheads für die Virtualisierung von nicht angepassten Gastbetriebssystemen mit Windows durch Bereitstellung der emulierten ACPI-WAET-Gerätetabelle (Windows ACPI Emulated Device Table) reduziert. Die Unterstützung für Beschleunigung wurde verbessert. HVF für macOS.
  • Der Blockgerätetreiber hat Unterstützung für virtuelle Speichergeräte mit logischen und physischen Blöcken von 2 MB hinzugefügt.
  • Es wurde die Möglichkeit hinzugefügt, Passwörter und Schlüssel zur Verschlüsselung über den Linux-Kernel-Keyring mittels neuer Objekte des Typs „secret-keyring“ in QEMU zu übertragen.
  • Für das qcow2-Format wurde die Unterstützung des zstd-Kompressionsalgorithmus implementiert.
  • Im Dienstprogramm qemu-img wurde ein neuer Befehl 'bitmap' hinzugefügt, um mit persistenten Bitmaps in qcow2-Dateien zu arbeiten. qemu-img bietet auch die Verwaltung von LUKS-Schlüsseln (keyslot) und weitere Optionen für die Befehle „map“ (—start-offset, —max-length) und „convert“ (—bitmaps). Der Befehl „measure“ wurde um die Ausgabe von Informationen über die Größe persistenter Bitmaps in qcow2-Dateien erweitert.
  • Der NVMe-Treiber unterstützt nun persistente Speicherelemente (Persistent Memory Region), die in der NVMe-Spezifikation 1.4 eingeführt wurden.
  • In virtio für Gastsysteme mit dem klassischen Codegenerator TCG (Tiny Code Generator) wurde die Möglichkeit implementiert, Prozesse zu nutzen. vhost-user, einschließlich virtiofsd. In vhost-user wurde die Erweiterung VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS hinzugefügt, die die Registrierung von mehr als 8 RAM-Slots ermöglicht.

Quelle: opennet.ru

60GB SSD 8Gb DDR4