QEMU 4.0 эмуляторының шығарылымы

Құрылды жобаның шығарылымы QEMU 4.0. Эмулятор ретінде QEMU бір аппараттық платформа үшін құрастырылған бағдарламаны мүлде басқа архитектурасы бар жүйеде іске қосуға мүмкіндік береді, мысалы, x86 үйлесімді компьютерде ARM қолданбасын іске қосыңыз. QEMU-де виртуализация режимінде оқшауланған ортада кодты орындау өнімділігі орталық процессордағы нұсқауларды тікелей орындау және Xen гипервизорын немесе KVM модулін пайдалану есебінен жергілікті жүйеге жақын.

Жобаны бастапқыда Fabrice Bellard x86 емес архитектураларда x86 платформасы үшін құрастырылған Linux орындалатын файлдарын іске қосу мүмкіндігін қамтамасыз ету үшін жасаған. Даму жылдарында 14 аппараттық архитектураға толық эмуляцияны қолдау қосылды, эмуляцияланған аппараттық құрылғылардың саны 400-ден асты. 4.0 нұсқасын дайындау кезінде 3100 әзірлеушіден 220-ден астам өзгертулер енгізілді.

Кілт жақсартуларQEMU 4.0-ге қосылды:

  • ARM сәулет эмуляторына ARMv8+ нұсқау кеңейтімдерін қолдау қосылды: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT және BTI. Musca және MPS2 тақталарын эмуляциялауға қолдау қосылды. Жақсартылған ARM PMU (қуатты басқару блогы) эмуляциясы. Платформаға ізгілік 255 ГБ-тан астам жедел жадты пайдалану мүмкіндігін және «жүктеме» түрі бар u-жүктеу кескіндерін қолдауды қосты;

  • Виртуализацияны жеделдету қозғалтқышындағы x86 сәулет эмуляторында ХАКС (Intel Hardware Accelerated Execution) Linux және NetBSD сияқты POSIX-үйлесімді хосттарға қолдау қосты (бұрын тек Дарвин платформасына қолдау көрсетілген). Негізгі PCIe порттарына арналған Q35 чипсет эмуляторында (ICH9), PCIe 16 спецификациясында анықталған максималды жылдамдықты (32GT/s) және қосылым желілерінің санын (x4.0) енді қосымша түрде жариялауға болады (үйлесімділікті қамтамасыз ету үшін 2.5GT QEMU машиналарының /s және x1) ескі түрлері үшін әдепкі бойынша орнатылған. Xen PVH кескіндерін «-ядро» опциясымен жүктеуге болады;
  • MIPS сәулет эмуляторы классикалық TCG код генераторын (Tiny Code Generator) пайдалана отырып, көп ағынды эмуляцияға қолдауды қосты. Сондай-ақ CPU I7200 (nanoMIPS32 ISA) және I6500 (MIPS64R6 ISA) эмуляциясына қолдау, QMP (QEMU басқару протоколы) арқылы CPU түрінің сұрауларын өңдеу мүмкіндігі, SAARI және SAAR конфигурация регистрлеріне қолдау қосылды. Fulong 2E типті виртуалды машиналар өнімділігі жақсарды. Interthread Communication Unit жаңартылған енгізу;
  • PowerPC сәулет эмуляторында XIVE үзу контроллерін эмуляциялауға қолдау қосылды, POWER9 қолдауы кеңейтілді және P сериясы үшін PCI хост көпірлерін (PHB, PCI хост көпірі) ыстық қосу мүмкіндігі қосылды. Spectre және Meltdown шабуылдарынан қорғау әдепкі бойынша қосылады;
  • RISC-V сәулет эмуляторына PCI және USB эмуляциясын қолдау қосылды. Кірістірілген жөндеу сервері (gdbserver) енді XML файлдарында тізілім тізімдерін көрсетуді қолдайды. TSR, TW және TVM mstatus өрістеріне қолдау қосылды;
  • s390 сәулет эмуляторы z14 GA 2 CPU үлгісіне қолдауды, сондай-ақ өзгермелі нүкте мен векторлық операцияларға арналған нұсқаулық кеңейтімдерін эмуляциялауға қолдауды қосты. vfio-ap қолданбасына құрылғыларды қосу мүмкіндігі қосылды;
  • Tensilica Xtensa отбасылық процессор эмуляторы Linux үшін SMP қолдауын жақсартты және FLIX (Икемді ұзындық нұсқаулары кеңейтімі) үшін қолдауды қосты;
  • QEMU GTK интерфейсіне ұқсас дизайны бар Spice қашықтан қол жеткізу клиентінің нұсқасын конфигурациялау және іске қосу үшін графикалық интерфейске "-display spice-app" опциясы қосылды;
  • VNC серверін іске асыруға tls-authz/sassl-authz опцияларын пайдаланып кіруді басқаруға қолдау қосылды;
  • QMP (QEMU Management Protocol) орталықтандырылған/сыртқы (Жолдан тыс) пәрменді орындауға қолдауды қосты және блоктық құрылғылармен жұмыс істеу үшін қосымша командаларды енгізді;
  • EDID интерфейсінің іске асырылуы VFIO-ға қолдау көрсетілетін mdevs (Intel vGPUs) үшін қосылды, бұл xres және yres опцияларын пайдаланып экран ажыратымдылығын өзгертуге мүмкіндік береді;
  • Xen үшін жаңа «xen-disk» құрылғысы қосылды, ол Xen PV үшін дискінің серверін дербес жасай алады (xenstore-ға қатынаусыз). Xen PV диск серверінің өнімділігі арттырылды және диск өлшемін өзгерту мүмкіндігі қосылды;
  • Желілік блок құрылғыларында диагностика және бақылау мүмкіндіктері кеңейтілді және проблемалық NBD серверін іске асырумен клиенттің үйлесімділігі жақсартылды. qemu-nbd файлына “--битмап”, “--list” және “--tls-authz” опциялары қосылды;
  • Эмуляцияланған IDE/құрылғы арқылы PCI IDE режиміне қолдау қосылды;
  • dmg кескіндерін қысу үшін lzfse алгоритмін пайдалануға қолдау қосылды. qcow2 пішімі үшін сыртқы деректер файлдарын қосу қолдауы қосылды. qcow2 орауын ашу әрекеттері бөлек ағынға жылжытылады. vmdk кескіндеріндегі «blockdev-create» операциясына қолдау қосылды;
  • virtio-blk блок құрылғысы DISCARD (блоктарды шығару туралы хабарлау) және WRITE_ZEROES (логикалық блоктар ауқымын нөлдеу) операцияларына қолдауды қосты;
  • pvrdma құрылғысы RDMA Management Datagram қызметтерін (MAD) қолдайды;
  • Жіберілді өзгерту, кері үйлесімділікті бұзады. Мысалы, «-fsdev» және «-virtfs» ішіндегі «тұтқыр» опциясының орнына «жергілікті» немесе «прокси» опцияларын пайдалану керек. «-virtioconsole» («-device virtconsole» дегенге ауыстырылды), «-no-frame», «-clock», «-enable-hax» («-accel hax» орнына ауыстырылды) опциялары жойылды. Жойылған құрылғы «ivshmem» («ivshmem-doorbell» және «ivshmem-plain» пайдалану керек). SDL1.2 көмегімен құрылысты қолдау тоқтатылды (SDL2 пайдалану керек).

Ақпарат көзі: opennet.ru

пікір қалдыру