پروژه QEMU 10.0.0 منتشر شده است. QEMU به عنوان یک شبیهساز، به شما امکان میدهد برنامهای را که برای یک پلتفرم سختافزاری ساخته شده است، روی سیستمی با معماری کاملاً متفاوت اجرا کنید، به عنوان مثال، اجرای یک برنامه ARM روی یک رایانه سازگار با x86. در حالت مجازیسازی QEMU، عملکرد اجرای کد در یک محیط ایزوله به دلیل اجرای مستقیم دستورالعملها روی CPU و استفاده از هایپروایزر Xen یا ماژول KVM در ...، نزدیک به عملکرد یک سیستم سختافزاری است. Linuxیا ماژول NVMM در NetBSD.
این پروژه در ابتدا توسط فابریس بلارد ایجاد شد تا امکان اجرای فایلهای اجرایی کامپایل شده برای پلتفرم x86 را فراهم کند. Linux روی معماریهایی غیر از x86. در طول سالهای توسعه، پشتیبانی از شبیهسازی کامل برای ۱۴ معماری سختافزاری اضافه شد و تعداد دستگاههای سختافزاری شبیهسازیشده از ۴۰۰ فراتر رفت. در آمادهسازی نسخه ۶.۲، بیش از ۲۳۰۰ تغییر از ۱۸۹ توسعهدهنده اعمال شد.
بهبودهای کلیدی اضافه شده در QEMU 10.0:
- درایور virtio-scsi یک کنترلر مجازی SCSI (آداپتور گذرگاه میزبان SCSI) برای ... فراهم میکند. ماشینهای مجازیپشتیبانی از سیستم صفبندی چند سطحی (multiqueue) اضافه شده است که امکان جداسازی صفها برای دستگاههای بلوکی مختلف را فراهم میکند تا از دسترسی چند رشتهای در سیستمهای چند هستهای پشتیبانی شود (صفهای مختلف برای یک درایو واحد میتوانند توسط رشتههای ورودی/خروجی مختلف پردازش شوند). در مقایسه با درایور دستگاه بلوکی مجازی (virtio-blk)، کنترلر مجازی SCSI از نظر عملکرد کمی کندتر است، اما امکان استفاده از بیش از ۲۸ درایو را فراهم میکند.
- VFIO (ورودی/خروجی عملکرد مجازی) پشتیبانی از IGD (دستگاه گرافیک یکپارچه) را برای GPU های یکپارچه مورد استفاده در پردازنده های نسل یازدهم (Rocket Lake) و دوازدهم (Alder Lake) اینتل بهبود بخشیده است. پشتیبانی از GPU های قدیمی ATI (x11) اضافه شده است. پشتیبانی اولیه برای PCI PM (Power Management) اجرا شده است.
- اسناد مربوط به پروتکل ماشین QEMU (QMP) که به برنامه های کاربردی اجازه می دهد تا QEMU را کنترل کنند، به طور قابل توجهی بازنگری و گسترش یافته است.
- یک حالت انتقال زنده جدید "cpr-transfer" اضافه شده است (CheckPoint و Restart)، که امکان انتقال یک سیستم مهمان را به یک نمونه جدید QEMU در حال اجرا در همان میزبان فراهم می کند. این حالت با نگاشت حافظه سیستم مهمان در فضای آدرس مجازی QEMU جدید بدون کپی کردن محتویات، زمان تعلیق را به حداقل می رساند.
- دستگاههای گرافیکی 'apple-gfx-pci' و 'apple-gfx-mmio' که از چارچوب ParavirtualizedGraphics ارائه شده در ... استفاده میکنند، اضافه شدند. macOS برای گرافیکهای شتابدهنده سختافزاری در سیستمهای مهمان. اولین درایور برای استفاده در دستگاههای x86-64 و دومی برای ARM64 طراحی شده است.
- شبیه ساز معماری x86 اکنون از مدل های پردازنده Intel Xeon Clearwater Forest و Sierra Forest v2 پشتیبانی می کند. شبیه سازی دستورالعمل های دستکاری داده های رشته ای تسریع شده است.
- شبیه ساز معماری ARM اکنون از بردهای NPCM8445 Evaluation و i.MX 8M Plus EVK پشتیبانی می کند. شبیه سازی FEAT_AFP، FEAT_RPRES و پسوندهای FEAT_XS، و همچنین تایمرهای فیزیکی و مجازی EL2 اضافه شده است. پشتیبانی از پردازنده های Arm PXA2xx و شبیه سازی دستورالعمل iwMMXt منسوخ شده است.
- شبیه ساز معماری RISC-V شبیه سازی بردهای Microblaze V، CPU Ascalon و CPU RV64 Xiangshan Nanhu را پیاده سازی می کند. پشتیبانی از پسوندهای معماری مجموعه دستورات 'svukte'، 'ssstateen'، 'smrnmi'، 'smdbltrp'/'ssdbltrp'، 'supm'، 'sspm' و همچنین برچسب های ترجمه IOMMU و دستگاه های riscv-iommu-sys اضافه شده است.
- شبیه ساز معماری HPPA شبیه سازی بردهای Diva GSP BMC را ارائه می دهد. سیستم عامل SeaBIOS-hppa به نسخه 18 به روز شد. افزایش سرعت پخش. کد بهبود یافته برای تنظیم مجدد CPU مجازی. در سیستم های 64 بیتی، شبیه سازی تنظیمات با اندازه حافظه تا 256 گیگابایت ارائه شده است.
- شبیهساز معماری LoongArch اکنون از قابلیت اتصال داغ پردازنده (CPU hotplugging) پشتیبانی میکند. یک IPI (وقفه بین پردازنده) شبه مجازی پیادهسازی شده است. ردیابی زمانبندی تخصیص منابع Hypervisor پیادهسازی شده است. KVMپشتیبانی از مسیریابی مجازی وقفههای خارجی (extioi) اضافه شد.
- شبیه ساز معماری s390x پشتیبانی از نسل هفدهمین پردازنده های مرکزی را اضافه می کند و پشتیبانی virtio-mem را پیاده سازی می کند. برای بهبود عملکرد، قابلیت تعامل با دستگاههای PCI با دور زدن IOMMU اضافه شده است.
منبع: opennet.ru
