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

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

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

تمت إضافة التحسينات الرئيسية في QEMU 7.2:

  • أضاف محاكي x86 في منشئ أكواد TCG الكلاسيكي دعمًا لتعليمات AVX وAVX2 وF16C وFMA3 وVAES، بالإضافة إلى تحسينات الأداء المتعلقة باستخدام تعليمات SSE. بالنسبة إلى KVM، تمت إضافة الدعم لآلية تتبع مخارج الجهاز الظاهري ("notify vmexit")، والتي تسمح لك بتجاوز الأخطاء في وحدة المعالجة المركزية التي يمكن أن تؤدي إلى توقف العمل.
  • يدعم محاكي ARM ملحقات وحدة المعالجة المركزية Cortex-A35 وملحقات المعالج ETS (مزامنة الترجمة المحسنة)، PMUv3p5 (امتدادات PMU 3.5)، GTG (وحدة ترجمة الضيف 4 كيلو بايت، 16 كيلو بايت، 64 كيلو بايت)، HAFDBS (التحكم في الأجهزة لعلامة الوصول والحالة "القذرة") وE0PD (يمنع وصول EL0 إلى مخططات العناوين المقسمة).
  • يضيف محاكي LoongArch دعمًا لـ fw_cfg DMA، وذاكرة التوصيل السريع، ومحاكاة جهاز TPM (وحدة النظام الأساسي الموثوق به).
  • يقوم محاكي بنية OpenRISC بتنفيذ النظام الأساسي "الظاهري" لاختبار الأجهزة واستخدامها في أنظمة التكامل المستمر. تم تنفيذ دعم التنفيذ متعدد الخيوط لمولد الأكواد الكلاسيكي TCG (Tiny Code Generator).
  • يتمتع محاكي بنية RISC-V في الأجهزة "الظاهرية" التي تمت محاكاتها بالقدرة على تحميل البرامج الثابتة من pflash في الوضع S. تحسين العمل مع شجرة الجهاز.
  • يوفر المحاكي 390x الدعم لـ MSA5 (Message-Security-Assist Extension 5 مع تعليمات PRNO لإنشاء أرقام عشوائية زائفة)، وتعليمات KIMD/KLM (تنفيذ SHA-512) وتفسير zPCI الموسع لأنظمة الضيف استنادًا إلى برنامج Hypervisor KVM .
  • توفر الواجهات الخلفية للعمل مع الذاكرة تخصيصًا مسبقًا للذاكرة مع مراعاة بنية NUMA.
  • تم تعزيز فحص الرأس لأجهزة الكتلة المشفرة LUKS، وتمت إضافة القدرة على إنشاء صور LUKS على نظام التشغيل macOS.
  • تحولت الواجهة الخلفية 9pfs، التي تسمح باستخدام نظام ملفات الشبكة Plan 9 للوصول إلى جهاز افتراضي إلى آخر، إلى استخدام تجزئة GHashTable في جدول المعرفات، مما أدى في بعض المواقف إلى زيادة في الأداء بمقدار 6-12 مرة.
  • تمت إضافة تدفق خلفي جديد لـ netdev وdgram.
  • تمت إضافة دعم FreeBSD إلى الوكيل للضيوف المعتمدين على ARM.
  • توفر تصميمات واجهة المستخدم الرسومية لنظام التشغيل macOS القدرة على تضمين واجهات تعتمد على Cocoa وSDL/GTK في ملف واحد قابل للتنفيذ.
  • تمت إزالة الوحدة الفرعية المضمنة "slirp"، وبدلاً من ذلك يوصى باستخدام مكتبة نظام libslirp.
  • بسبب نقص القدرة على الاختبار، تم إهمال دعم الأنظمة المضيفة ذات معالجات MIPS 32 بت التي تستخدم ترتيب البايتات Big Endian.

المصدر: opennet.ru

إضافة تعليق