تم تقديم إصدار مشروع QEMU 8.0. كمحاكي، يتيح لك QEMU تشغيل برنامج تم تجميعه لمنصة أجهزة واحدة على نظام ذي بنية مختلفة تمامًا، على سبيل المثال، تشغيل تطبيق ARM على جهاز كمبيوتر متوافق مع x86. في وضع المحاكاة الافتراضية في QEMU، يكون أداء تنفيذ التعليمات البرمجية في بيئة معزولة قريبًا من أداء نظام الأجهزة بسبب التنفيذ المباشر للتعليمات على وحدة المعالجة المركزية واستخدام وحدة Xen Hypervisor أو وحدة KVM.
تم إنشاء المشروع في الأصل بواسطة فابريس بيلارد لتوفير القدرة على تشغيل الملفات التنفيذية التي تم تجميعها لمنصة x86. Linux على بنى معمارية أخرى غير x86. على مر سنوات التطوير، تمت إضافة دعم المحاكاة الكاملة لـ 14 بنية معمارية للأجهزة، وتجاوز عدد أجهزة المحاكاة 400 جهاز. عند إعداد الإصدار 8.0، تم إجراء أكثر من 2800 تغيير من قبل 238 مطورًا.
تمت إضافة التحسينات الرئيسية في QEMU 8.0:
- تم الإعلان عن أن محاكاة النظام (تشغيل نظام التشغيل بالكامل، بما في ذلك استخدام برامج إدارة الأجهزة الافتراضية) أصبحت قديمة وسيتم إيقافها قريبًا. KVM (و Xen) على مضيفات x86 ذات 32 بت. سيستمر دعم محاكاة وضع المستخدم (تشغيل عمليات منفصلة مُجمَّعة لوحدة معالجة مركزية مختلفة) على مضيفات x86 ذات 32 بت.
- يدعم محاكي بنية x86 الآن تشغيل أنظمة Xen الضيفة في بيئة تعتمد على برنامج KVM Hypervisor والنوى. Linux 5.12 +.
- يدعم مُولّد أكواد TCG الكلاسيكي لبنية x86 الآن علامات CPUID الخاصة بـ FSRM وFZRM وFSRS وFSRC. كما تم دعم طراز معالجات Intel Sapphire Rapids (Intel 7) الجديد.
- يدعم محاكي ARM الآن معالجات Cortex-A55 وCortex-R52، ويضيف نوعًا جديدًا من الأجهزة المُحاكاة، وهو Olimex STM32 H405، ويدعم ملحقات معالجات FEAT_EVT (مصائد المحاكاة الافتراضية المُحسّنة) وFEAT_FGT (مصائد الحبيبات الدقيقة) وAArch32 ARMv8-R. كما أُضيف دعم سجلات النظام لبنية M-profile (ملف تعريف المتحكم الدقيق) إلى gdbstub.
- يتضمن محاكي بنية RISC-V تطبيقًا مُحدّثًا لأجهزة محاكاة OpenTitan وPolarFire وOpenSBI. أُضيف دعم لمجموعات تعليمات المعالج (ISA) والإضافات الإضافية: Smstateen، وعدادات تصحيح icount، وأحداث PMU المتعلقة بذاكرة التخزين المؤقت في الوضع الافتراضي، وإضافات ACPI وZawrs وSvadu وT-Head وZicond.
- تم تحديث محاكي بنية HPPA لدعم تعليمات fid (التعريف بالنقطة العائمة) وتحسين المحاكاة في الوضع 32 بت.
- يدعم مُحاكي 390x الآن فصل الذاكرة غير المتزامن عند إعادة تشغيل أجهزة KVM المُؤمَّنة. تم تحسين التعامل مع أجهزة zPCI passthrough.
- آلية virtio-mem، التي تسمح بتوصيل وفصل الذاكرة للآلات الافتراضية، تنفذ التخصيص المسبق أثناء الهجرة المباشرة.
- قام VFIO (Virtual Function I/O) بتحديث دعم الهجرة التجريبية (تمكين الإصدار الثاني من بروتوكول الهجرة).
- لقد أدى جهاز كتلة qemu-nbd إلى تحسين الأداء عبر TCP عند استخدام TLS.
- تمت إضافة الدعم الأولي لـ OpenBSD و NetBSD إلى الوكيل الضيف.
المصدر: opennet.ru
