projectrelease . Als emulatore helpt QEMU om een programma dat voor een bepaalde hardware-architectuur is gebouwd, uit te voeren op een systeem met een totaal andere architectuur, bijvoorbeeld het uitvoeren van een applicatie voor ARM op een x86-compatibele pc. In de virtualisatiemodus is de uitvoering van code in een geïsoleerde omgeving bijna gelijk aan die van een native systeem door directe uitvoering van instructies op de CPU en het gebruik van de hypervisor Xen of de KVM-module.
Het project werd oorspronkelijk opgericht door Fabrice Bellard om de mogelijkheid te bieden om op x86 gerichte uitvoerbare bestanden van Linux uit te voeren op architecturen die verschillen van x86. Gedurende de jaren is er ondersteuning toegevoegd voor volledige emulatie voor 14 hardwarearchitecturen, en het aantal emuleerbare hardwareapparaten is meer dan 400 overschreden. Voor versie 5.0 zijn er meer dan 2800 wijzigingen aangebracht door 232 ontwikkelaars.
Belangrijkste , toegevoegd in QEMU 5.0:
- De mogelijkheid om een deel van het bestandssysteem van de hostomgeving door te geven aan het gastensysteem met behulp van . Het gastensysteem kan een catalogus monteren die is gemarkeerd voor export aan de hostzijde, wat het delen van directories in virtualisatiesystemen aanzienlijk vergemakkelijkt. In tegenstelling tot het gebruik van netwerksystemen zoals NFS en virtio-9P, stelt virtiofs ons in staat prestaties te behalen die vergelijkbaar zijn met die van lokale bestandssystemen;
- live-migratie van gegevens van externe processen die gebruikmaken van de QEMU D-Bus bus;
- De mogelijkheid om te gebruiken voor het beheren van het primaire RAM van het gastensysteem. De backend wordt ingesteld met behulp van de optie "-machine memory-backend";
- Een nieuwe filter "compress" die kan worden gebruikt om gecomprimeerde back-ups van images te maken;
- De opdracht "qemu-img measure" kan nu werken met LUKS-images, en aan de opdracht "qemu-img convert" is de optie "--target-is-zero" toegevoegd om het nullen van de doelimage over te slaan;
- Experimentale ondersteuning toegevoegd voor het proces qemu-storage-daemon, dat toegang biedt tot het blockniveau van QEMU en QMP-opdrachten, inclusief het werken met blokapparaten en een ingebouwde NBD-server, zonder de noodzaak om een volledige virtuele machine te starten;
- In de ARM-architectuuremulator is de mogelijkheid tot emulatie van CPU Cortex-M7 toegevoegd en wordt ondersteuning geboden voor de borden tacoma-bmc, Netduino Plus 2 en Orangepi PC. In de emuleerbare machines ‘virt’ is ondersteuning toegevoegd voor vTPM- en virtio-iommu-apparaten. Het gebruik van AArch32-hostsystemen voor het starten van KVM-gastenomgevingen is verouderd verklaard. Ondersteuning voor de emulatie van de volgende architectuuropties is geïmplementeerd:
- ARMv8.1: VHE, VMID16, PAN, PMU
- ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
- ARMv8.3: RCPC, CCIDX
- ARMv8.4: PMU, RCPC
- In de HPPA-architectuuremulator is ondersteuning voor een grafische console met behulp van de grafische HP Artist-apparaat toegevoegd;
- In de MIPS-architectuuremulator is ondersteuning voor de instructie GINVT (Global Invalidation TLB) toegevoegd;
- In de PowerPC-architectuur emulator voor 'powernv' machines is emulatie van KVM-hardwareversnelling toegevoegd voor het draaien van gastsystemen.
KVM met de klassieke codegenerator TCG (Tiny Code Generator). Voor de emulatie van vaste opslag is ondersteuning voor naar bestand gespiegeld NVDIMM toegevoegd. Voor 'pseries' machines is de noodzaak voor herstart om de werking van de interruptcontrollers XIVE/XICS in de 'ic-mode=dual' te coördineren verwijderd. - In de RISC-V-architectuur emulator voor 'virt' en 'sifive_u' borden is ondersteuning voor standaard syscon-drivers in Linux voor energiebeheer en herstart toegevoegd. Voor het 'virt' bord is ondersteuning voor Goldfish RTC toegevoegd. Een experimentele implementatie van hypervisor-extensies is toegevoegd.
- In de s390-architectuur emulator is ondersteuning voor AIS (Adapter Interrupt Suppression) toegevoegd tijdens gebruik in KVM-modus.
Bron: opennet.ru
