Lëshimi i emulatorit QEMU 5.0

prezantuar publikimi i projektit QEMU 5.0. Si emulator, QEMU ju lejon të ekzekutoni një program të përpiluar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër sistemit vendas për shkak të ekzekutimit të drejtpërdrejtë të udhëzimeve në CPU dhe përdorimit të hipervizorit Xen ose modulit KVM.

Projekti u krijua fillimisht nga Fabrice Bellard për të lejuar ekzekutuesit Linux të ndërtuar për platformën x86 të ekzekutohen në arkitektura jo-x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë emulimi për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka kaluar 400. Në përgatitje për versionin 5.0, u bënë më shumë se 2800 ndryshime nga 232 zhvillues.

Celës përmirësimeshtuar në QEMU 5.0:

  • Mundësia për të përcjellë një pjesë të sistemit të skedarëve të mjedisit pritës tek sistemi i ftuar duke përdorur virtiofsd. Sistemi i mysafirëve mund të montojë një direktori të shënuar për eksport në anën e sistemit pritës, gjë që thjeshton shumë organizimin e aksesit të përbashkët në drejtoritë në sistemet e virtualizimit. Ndryshe nga përdorimi i sistemeve të skedarëve të rrjetit si NFS dhe virtio-9P, virtiofs ju lejon të arrini performancë afër një sistemi skedarësh lokal;
  • Mbështetje migrimi i drejtpërdrejtë i të dhënave nga proceset e jashtme duke përdorur QEMU D-Bus;
  • Përdorshmëria backendet e memories për të siguruar funksionimin e RAM-it kryesor të sistemit të ftuar. Backend-i specifikohet duke përdorur opsionin "-machine memory-backend";
  • Filtri i ri "compress", i cili mund të përdoret për të krijuar kopje rezervë të imazhit të ngjeshur;
  • Komanda "qemu-img masë" tani mund të funksionojë me imazhet e LUKS, dhe opsioni "--target-is-zero" është shtuar në komandën "qemu-img convert" për të kapërcyer zeroizimin e imazhit të synuar;
  • U shtua mbështetje eksperimentale për procesin qemu-storage-daemon, duke siguruar akses në nivelin e bllokut QEMU dhe komandat QMP, duke përfshirë funksionimin e pajisjeve të bllokut dhe serverin e integruar NBD, pa pasur nevojë të ekzekutoni një makinë të plotë virtuale;
  • Emulatori i arkitekturës ARM ka shtuar aftësinë për të imituar CPU-të Cortex-M7 dhe ofron mbështetje për tacoma-bmc, Netduino Plus 2 dhe bordet e PC Orangepi. Mbështetje e shtuar për pajisjet vTPM dhe virtio-iommu në makinat e emuluara 'virt'. Aftësia për të përdorur sistemet pritëse AArch32 për të ekzekutuar mjediset e vizitorëve KVM është zhvlerësuar. Mbështetja për emulimin e veçorive të arkitekturës së mëposhtme është zbatuar:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Mbështetja e konsolës grafike të shtuar për emulatorin e arkitekturës HPPA duke përdorur pajisjen grafike HP Artist;
  • Mbështetje e shtuar për udhëzimin GINVT (Global Invalidation TLB) në emulatorin e arkitekturës MIPS;
  • Emulimi i mjeteve të përshpejtimit të harduerit KVM për funksionimin e sistemeve të ftuar është shtuar në emulatorin e arkitekturës PowerPC për makinat 'powernv'
    KVM me gjenerator klasik të kodit TCG (Tiny Code Generator). Për të imituar memorien e vazhdueshme, është shtuar mbështetja për NVDIMM të pasqyruara në skedar. Për makineritë 'pseries', nevoja për rindezje është hequr për të koordinuar funksionimin e kontrollorëve të ndërprerjeve XIVE/XICS në modalitetin "ic-mode=dual";

  • Emulatori i arkitekturës RISC-V për bordet 'virt' dhe 'sifive_u' ofron mbështetje për drejtuesit standardë të syscon Linux për menaxhimin e energjisë dhe rindezjes. Mbështetja e Goldfish RTC është shtuar për bordin 'virt'. U shtua zbatimi eksperimental i zgjerimeve të hipervizorit;
  • Mbështetja AIS (Adapter Interrupt Suppression) është shtuar në emulatorin e arkitekturës s390 kur vepron në modalitetin KVM.

Burimi: opennet.ru

Shto një koment