انتشار پروژه QEMU 7.2 ارائه شده است. به عنوان یک شبیه ساز، QEMU به شما اجازه می دهد تا برنامه ای را که برای یک پلتفرم سخت افزاری ساخته شده است، روی سیستمی با معماری کاملاً متفاوت اجرا کنید، به عنوان مثال، یک برنامه ARM را بر روی یک رایانه شخصی سازگار با x86 اجرا کنید. در حالت مجازی سازی در QEMU، به دلیل اجرای مستقیم دستورالعمل ها بر روی CPU و استفاده از Xen Hypervisor یا ماژول KVM، عملکرد اجرای کد در محیط ایزوله به یک سیستم سخت افزاری نزدیک است.
این پروژه در ابتدا توسط Fabrice Bellard ایجاد شد تا به فایلهای اجرایی لینوکس که برای پلتفرم x86 ساخته شدهاند اجازه دهند روی معماریهای غیرx86 اجرا شوند. در طول سال های توسعه، پشتیبانی کامل شبیه سازی برای 14 معماری سخت افزاری اضافه شده است، تعداد دستگاه های سخت افزاری شبیه سازی شده از 400 فراتر رفته است. در آماده سازی برای نسخه 7.2، بیش از 1800 تغییر از 205 توسعه دهنده انجام شده است.
بهبودهای کلیدی اضافه شده در QEMU 7.2:
- شبیه ساز x86 در مولد کد TCG کلاسیک پشتیبانی از دستورالعمل های AVX، AVX2، F16C، FMA3 و VAES و همچنین بهینه سازی عملکرد مربوط به استفاده از دستورالعمل های SSE را اضافه کرده است. برای KVM، مکانیزمی برای ردیابی خروجی های ماشین مجازی ("اطلاع از vmexit") اضافه شده است، که به شما امکان می دهد خطاهای CPU را که می تواند منجر به هنگ شود، دور بزنید.
- شبیهساز ARM از پسوندهای CPU Cortex-A35 و پردازنده ETS (همگامسازی ترجمه پیشرفته)، PMUv3p5 (افزونههای PMU 3.5)، GTG (گرانول ترجمه مهمان 4KB، 16KB، 64KB)، HAFDBS (کنترل سختافزاری دسترسی سریع) و علامت «کنترل سختافزاری دسترسی ضعیف») پشتیبانی میکند. و E0PD (جلوگیری از دسترسی EL0 به نقشه های آدرس پارتیشن بندی شده).
- شبیه ساز LoongArch پشتیبانی از fw_cfg DMA، حافظه hot-plug و شبیه سازی دستگاه TPM (Trusted Platform Module) را اضافه می کند.
- شبیه ساز معماری OpenRISC پلتفرم "virt" را برای آزمایش دستگاه ها و استفاده از آنها در سیستم های یکپارچه سازی مداوم پیاده سازی می کند. پشتیبانی از اجرای چند رشته ای TCG (Tiny Code Generator) مولد کد کلاسیک اجرا شده است.
- شبیه ساز معماری RISC-V در ماشین های شبیه سازی شده 'virt' توانایی بارگذاری سیستم عامل از pflash در حالت S را دارد. بهبود کار با درخت دستگاه.
- شبیه ساز 390x از MSA5 (پیام-امنیت-کمک افزونه 5 با دستورالعمل PRNO برای تولید اعداد شبه تصادفی)، دستورالعمل های KIMD/KLM (اجرای SHA-512) و تفسیر zPCI توسعه یافته برای سیستم های مهمان بر اساس هایپرویس KVM پشتیبانی می کند. .
- پشتیبانها برای کار با حافظه، پیشتخصیص حافظه را با در نظر گرفتن معماری NUMA فراهم میکنند.
- بررسی هدر دستگاه های بلوک رمزگذاری شده LUKS تقویت شده است و توانایی ایجاد تصاویر LUKS در macOS اضافه شده است.
- باطن 9pfs که امکان استفاده از سیستم فایل شبکه Plan 9 را برای دسترسی به یک ماشین مجازی به ماشین مجازی دیگر فراهم میکند، به استفاده از هش GHashTable در جدول شناسه تغییر میکند که در برخی شرایط منجر به افزایش 6 تا 12 برابری عملکرد میشود.
- استریم و dgram جدید باطن نتدیو اضافه شد.
- پشتیبانی از FreeBSD برای مهمانان مبتنی بر ARM به عامل اضافه شده است.
- ساختهای رابط کاربری گرافیکی برای macOS توانایی گنجاندن رابطهای مبتنی بر Cocoa و SDL/GTK را در یک فایل اجرایی فراهم میکنند.
- زیر ماژول داخلی "slirp" حذف شده است، در عوض توصیه می شود از کتابخانه سیستم libslirp استفاده کنید.
- به دلیل عدم وجود قابلیت تست، پشتیبانی از سیستم های میزبان با پردازنده های MIPS 32 بیتی با استفاده از ترتیب بایت Big Endian منسوخ شده است.
منبع: opennet.ru