إصدار محاكي QEMU 5.0

مقدم من إطلاق المشروع QEMU 5.0. كمحاكي، يتيح لك QEMU تشغيل برنامج تم تجميعه لمنصة أجهزة واحدة على نظام ذي بنية مختلفة تمامًا، على سبيل المثال، تشغيل تطبيق ARM على جهاز كمبيوتر متوافق مع x86. في وضع المحاكاة الافتراضية في QEMU، يكون أداء تنفيذ التعليمات البرمجية في بيئة معزولة قريبًا من النظام الأصلي بسبب التنفيذ المباشر للتعليمات على وحدة المعالجة المركزية واستخدام وحدة Xen Hypervisor أو وحدة KVM.

تم إنشاء المشروع في الأصل بواسطة Fabrice Bellard للسماح لملفات Linux التنفيذية المصممة لمنصة x86 بالعمل على بنى غير x86. على مدار سنوات التطوير ، تمت إضافة دعم محاكاة كامل لـ 14 بنية للأجهزة ، وتجاوز عدد الأجهزة التي تمت مضاهاتها 400 جهاز. استعدادًا للإصدار 5.0 ، تم إجراء أكثر من 2800 تغيير من 232 مطورًا.

مفتاح تحسيناتتمت إضافته في QEMU 5.0:

  • القدرة على إعادة توجيه جزء من نظام الملفات الخاص بالبيئة المضيفة إلى نظام الضيف باستخدام com.virtiofsd. يمكن لنظام الضيف تركيب دليل محدد للتصدير على جانب النظام المضيف، مما يبسط إلى حد كبير تنظيم الوصول المشترك إلى الدلائل في أنظمة المحاكاة الافتراضية. على عكس استخدام أنظمة ملفات الشبكة مثل NFS وvirtio-9P، تتيح لك virtiofs تحقيق أداء قريب من نظام الملفات المحلي؛
  • Поддержка الترحيل المباشر للبيانات من العمليات الخارجية باستخدام QEMU D-Bus؛
  • إمكانية الاستخدام الخلفيات الذاكرة لضمان تشغيل ذاكرة الوصول العشوائي الرئيسية لنظام الضيف. يتم تحديد الواجهة الخلفية باستخدام خيار "-machine Memory-backend"؛
  • مرشح "الضغط" الجديد، والذي يمكن استخدامه لإنشاء نسخ احتياطية مضغوطة للصور؛
  • يمكن الآن لأمر "qemu-img Measure" العمل مع صور LUKS، وتمت إضافة خيار "--target-is-zero" إلى أمر "qemu-img converter" لتخطي تصفير الصورة المستهدفة؛
  • تمت إضافة دعم تجريبي لعملية qemu-storage-daemon، مما يوفر الوصول إلى مستوى كتلة QEMU وأوامر QMP، بما في ذلك تشغيل أجهزة الكتلة وخادم NBD المدمج، دون الحاجة إلى تشغيل جهاز ظاهري كامل؛
  • أضاف محاكي بنية ARM القدرة على محاكاة وحدات المعالجة المركزية Cortex-M7 ويوفر الدعم للوحات tacoma-bmc وNetduino Plus 2 وOrangepi PC. تمت إضافة دعم لأجهزة vTPM وvirtio-iommu إلى الأجهزة التي تمت محاكاتها. تم إهمال القدرة على استخدام أنظمة مضيف AArch32 لتشغيل بيئات ضيف KVM. تم تنفيذ دعم محاكاة ميزات البنية التالية:
    • 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 الكلاسيكي (مولد الأكواد الصغيرة). لمحاكاة الذاكرة الدائمة، تمت إضافة دعم NVDIMMs المنعكس في الملف. بالنسبة للأجهزة "pseries"، تمت إزالة الحاجة إلى إعادة التشغيل لتنسيق تشغيل وحدات تحكم المقاطعة XIVE/XICS في الوضع "ic-mode=dual"؛

  • يوفر محاكي بنية RISC-V للوحات 'virt' و'sifive_u' دعمًا لبرامج تشغيل Linux syscon القياسية لإدارة الطاقة وإعادة التشغيل. تمت إضافة دعم Goldfish RTC للوحة "الظاهرية". تمت إضافة التنفيذ التجريبي لملحقات برنامج Hypervisor؛
  • تمت إضافة دعم AIS (قمع مقاطعة المحول) إلى محاكي بنية s390 عند التشغيل في وضع KVM.

المصدر: opennet.ru

إضافة تعليق