QEMU 5.0 էմուլյատորի թողարկում

Ներկայացվել է նախագծի թողարկում QEMU 5.0. Որպես էմուլյատոր՝ QEMU-ն թույլ է տալիս գործարկել մեկ ապարատային պլատֆորմի համար կազմված ծրագիր բոլորովին այլ ճարտարապետություն ունեցող համակարգում, օրինակ՝ գործարկել ARM հավելվածը x86-ի հետ համատեղելի համակարգչի վրա: QEMU-ում վիրտուալացման ռեժիմում կոդերի կատարման կատարումը մեկուսացված միջավայրում մոտ է հայրենի համակարգին՝ պրոցեսորի վրա հրահանգների ուղղակի կատարման և Xen հիպերվիզորի կամ KVM մոդուլի օգտագործման պատճառով:

Նախագիծն ի սկզբանե ստեղծվել է Ֆաբրիս Բելարդի կողմից՝ x86 պլատֆորմի համար ստեղծված Linux գործադիրներին թույլ տալու համար աշխատել ոչ x86 ճարտարապետություններով: Մշակման տարիների ընթացքում ամբողջական էմուլյացիոն աջակցություն է ավելացվել 14 ապարատային ճարտարապետության համար, ընդօրինակվող ապարատային սարքերի թիվը գերազանցել է 400-ը: 5.0 տարբերակի նախապատրաստման ընթացքում կատարվել են ավելի քան 2800 փոփոխություններ 232 մշակողների կողմից:

Բանալի բարելավումներավելացված է QEMU 5.0-ում.

  • Հյուրընկալող միջավայրի ֆայլային համակարգի մի մասը հյուրի համակարգին փոխանցելու ունակություն՝ օգտագործելով virtiofsd. Հյուրերի համակարգը կարող է արտահանման համար նշված գրացուցակ տեղադրել հյուրընկալող համակարգի կողմում, ինչը մեծապես հեշտացնում է վիրտուալացման համակարգերում դիրեկտորիաների ընդհանուր հասանելիության կազմակերպումը: Ի տարբերություն ցանցային ֆայլային համակարգերի օգտագործման, ինչպիսիք են NFS-ը և virtio-9P-ը, virtiofs-ը թույլ է տալիս հասնել տեղական ֆայլային համակարգի մոտ կատարողականության;
  • Աջակցություն տվյալների կենդանի միգրացիա արտաքին գործընթացներից՝ օգտագործելով QEMU D-Bus;
  • Օգտագործելիություն հիշողության հետնամասեր ապահովել հյուրերի համակարգի հիմնական օպերատիվ հիշողությունը: Backend-ը սահմանվում է օգտագործելով «-machine memory-backend» տարբերակը;
  • Նոր «կոմպրես» ֆիլտր, որը կարող է օգտագործվել սեղմված պատկերի կրկնօրինակներ ստեղծելու համար;
  • «qemu-img չափում» հրամանն այժմ կարող է աշխատել LUKS պատկերների հետ, իսկ «--target-is-zero» տարբերակը ավելացվել է «qemu-img convert» հրամանին՝ նպատակային պատկերի զրոյացումը բաց թողնելու համար;
  • Ավելացվել է փորձարարական աջակցություն qemu-storage-daemon գործընթացին, ապահովելով մուտք դեպի QEMU բլոկի մակարդակ և QMP հրամաններ, ներառյալ գործարկվող բլոկ սարքերը և ներկառուցված NBD սերվերը, առանց ամբողջական վիրտուալ մեքենա գործարկելու:
  • ARM ճարտարապետության էմուլյատորն ավելացրել է Cortex-M7 պրոցեսորների նմանակման հնարավորությունը և ապահովում է tacoma-bmc, Netduino Plus 2 և Orangepi PC տախտակների աջակցություն: Ավելացվեց vTPM և virtio-iommu սարքերի աջակցությունը «virt» նմանակված մեքենաներին: KVM հյուրի միջավայրերը գործարկելու համար AArch32 հյուրընկալող համակարգերն օգտագործելու հնարավորությունը հնացել է: Իրականացվել է հետևյալ ճարտարապետական ​​հատկանիշների էմուլյացիայի աջակցությունը.
    • ARMv8.1 ՝ VHE, VMID16, PAN, PMU
    • ARMv8.2. UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3 ՝ RCPC, CCIDX
    • ARMv8.4 ՝ PMU, RCPC
  • Ավելացվել է գրաֆիկական վահանակի աջակցություն HPPA ճարտարապետության էմուլյատորին՝ օգտագործելով HP Artist գրաֆիկական սարքը;
  • Ավելացվել է աջակցություն GINVT (Global Invalidation TLB) հրահանգին MIPS ճարտարապետության էմուլյատորին;
  • KVM ապարատային արագացման գործիքների էմուլյացիան հյուրերի համակարգերի գործարկման համար ավելացվել է PowerPC ճարտարապետության էմուլյատորին «powernv» մեքենաների համար:
    KVM դասական TCG կոդերի գեներատորով (Tiny Code Generator): Մշտական ​​հիշողությունը ընդօրինակելու համար ավելացվել է ֆայլում արտացոլված NVDIMM-ների աջակցություն: «Pseries» մեքենաների համար վերագործարկման անհրաժեշտությունը հանվել է XIVE/XICS ընդհատման կարգավորիչների աշխատանքը «ic-mode=dual» ռեժիմում համակարգելու համար;

  • RISC-V ճարտարապետության էմուլյատորը «virt» և «sifive_u» տախտակների համար ապահովում է ստանդարտ Linux syscon դրայվերների աջակցություն էներգիայի և վերագործարկման կառավարման համար: Goldfish RTC աջակցությունն ավելացվել է «virt» տախտակի համար: Ավելացվել է հիպերվիզորի ընդարձակման փորձարարական իրականացում;
  • AIS (Adapter Interrupt Suppression) աջակցությունը ավելացվել է s390 ճարտարապետության էմուլյատորին, երբ աշխատում է KVM ռեժիմում:

Source: opennet.ru

Добавить комментарий