QEMU

نرم افزار تصویر:
QEMU
جزئیات نرم افزار:
نسخه: 2.12.0 به روز شده
ها تاریخ: 22 Jun 18
توسعه دهنده: Fabrice Bellard
پروانه: رایگان
محبوبیت: 51

Rating: nan/5 (Total Votes: 0)

QEMU یک منبع باز و نرم افزار بسیار سریع مجازی سازی است که با تمرکز بر ترجمه پویا برای دستیابی به کارایی معقول و در عین حال آسان ساختن به پردازنده های میزبان جدید (پردازنده) است.


یک شبیه ساز ماشین قدرتمند و مجازی سازی

همچنین به عنوان یک شبیه ساز ماشین شناخته می شود، طراحی شده برای شبیه سازی یک سیستم کامل، از جمله یک پردازنده و لوازم جانبی آن است. بخش تقلید از سیستم عامل ها و برنامه های ایجاد شده برای یک پلت فرم سخت افزاری پشتیبانی می کند، اما در حال اجرا بر روی یک کامپیوتر متفاوت با معماری متفاوت است.

از سوی دیگر، هنگامی که برنامه به عنوان یک مجازی سازی استفاده می شود، با اجرای کد مهمان مستقیما بر روی پردازنده میزبان می تواند عملکرد تقریبا بومی داشته باشد. این از Hyperion Xen و KVM (ماشین مجازی هسته) ماژول هسته پشتیبانی می کند.


پشتیبانی مجازی سازی از سیستم عامل های مختلف سخت افزاری

اگر KVM ترجیح داده شود، این برنامه قادر به مجازی سازی x86 (32 بیتی)، s390، PowerPC، ARM، m68k، MIPS، CRIS، Microblaze، MIPSEL، یا 32 و ماشین های SPARC خواهد بود. این می تواند سیستم های Windows XP، FreeDOS و SunOS، Virtio، هاب های ریشه ی USB، شبکه ها، ورودی ها، ویدئو ها و دستگاه های ذخیره سازی را تقلید کند.

پس از VirtualBox و VMware، QEMU سومین نرم افزار مجازی سازی برای سیستم عامل های لینوکس است، اما اولین و قوی ترین آن برای اکوسیستم منبع باز است. ویژگی اصلی آن توانایی اجرا به عنوان یک ماشین مجازی بومی در معماری 64 بیتی یا 32 بیتی یا به عنوان یک شبیه ساز خالص است.


سیستم عامل های پشتیبانی شده

این یک نرم افزار خط فرمان است و بر روی سیستم عامل های مبتنی بر لینوکس، همچنین مایکروسافت ویندوز و انواع طعم های یونیکس اجرا می شود. آرشیو منبع در بخش دانلود اختصاص داده شده است، به کاربران امکان پیکربندی، کامپایل و نصب برنامه را در هر توزیع لینوکس و نیز در سیستم های OpenBSD، Solaris، AIX، MinGW و Cygwin ارائه می دهد.


خط پایین

QEMU کاربران را با یکی از سریعترین دستگاه مجازی سازی و شبیه سازی می کند. آیا می خواهید تست نرمافزار را امتحان کنید، سعی کنید سیستم عاملهای مختلف را اجرا کنید یا فقط برنامههایی را اجرا کنید که در سکوی خود پشتیبانی نمیشوند.

چه جدید در این نسخه:

شبیه سازی سیستم:
تغییرات ناسازگار:
تعداد پلهای میزبان PCI اجازه داده شده برای دستگاه pSeries از 256 تا 31 کاهش می یابد (بیشتر می توان با تنظیم پنجره های MMIO به صورت دستی تنظیم کرد).
پشتیبانی از tftp: // در لایه بلوک حذف شده است، زیرا این فایل برای فایل های بزرگتر از 256 کیلوبایت برای همیشه خراب شده است.
تغییرات ناسازگار آینده:
سه گزینه از نام های مختلف در خط فرمان و در پرونده پیکربندی استفاده می کنند. به خصوص:
& quot؛ acpi & quot؛ بخش فایل پیکربندی گزینه خط فرمان خطی & quot؛ مشکلی & quot؛
& quot؛ boot-opts & quot؛ بخش فایل پیکربندی گزینه گزینه خط فرمان & quot؛ بوت & quot؛
& quot؛ smp-opts & quot؛ بخش پیکربندی فایل گزینه خط فرمان & quot؛ smp & quot؛ را پشتیبانی می کند.
-readconfig بر روی نام برای گزینه خط فرمان استاندارد می شود.
رفتار محاسبه خودکار توپولوژی SMP زمانی که برخی از گزینه های توپولوژی SMP برای -smp حذف می شوند (سوکت، هسته، موضوع) در آینده تغییر خواهد کرد. اگر در هنگام استفاده از گزینه های توپولوژی SMP، اگر نیاز به نگهداری ABI مهمان باشد، باید در هنگام استفاده از گزینه های توپولوژی SMP، باید تمام گزینه ها را به صورت صریح (سوکت، هسته، موضوع) تنظیم کنید یا تمام آنها را حذف کنید.

دستگاهها "allwinner-a10"، "pc87312"، "ssi-sd"، & quot؛ به جای ضمنی با خواص صوری پیکربندی می شود. این بعید است که کاربران را تحت تاثیر قرار دهد.
فرمان QMP blockdev-add هنوز هم کار در حال انجام است. این همه رانندگان بلوک را پشتیبانی نمی کند، بلوک های دلخواه تطبیقی ​​و غیره را پشتیبانی نمی کند. ممکن است ناسازگاری تغییر کند
برای x86، مشخص کردن ویژگی CPUID با هر دو & quot؛ + feature / -feature & quot؛ و & quot؛ ویژگی = روشن / خاموش & quot؛ هشدار می دهد رفتار فعلی این ترکیبی (& quot؛ + feature / -feature & quot؛ برندهی over & quot؛ feature = on / off & quot؛ تغییر خواهد کرد به طوری که & quot؛ + feature & quot؛ و & quot؛ ویژگی ها & quot؛ مترادف برای & quot؛ ویژگی = در & quot؛ و & quot؛ ویژگی = خاموش & quot؛ به ترتیب).
ARM:
بهبود به هیئت مدیره Aspeed.
پشتیبانی از تله های نیمه ساعتی HLT در حالت AArch32 (هر دو ARM و Thumb).
جداول ACPI برای & quot؛ virt & quot؛ نوع دستگاه پشتیبانی از ITS.
در حال حاضر دستگاه GEM Cadence از صف چندین عدد اولویت از طریق صف صف صفر اولویت استفاده می کند.
هیئت STM32F2xx (Netduino 2) در حال حاضر شامل دستگاه های ADC و SPI می باشد.
MIPS:
پشتیبانی از CPU 24KEc.
PowerPC:
پشتیبانی از CPU های POWER9.ارتقاء جدید & quot؛ powernv & quot؛ سکو.
pSeries:
پل های میزبان PCI می توانند به گره های NUMA مرتبط باشند.
پشتیبانی از بیش از 1 TiB حافظه مهمان.
پشتیبانی از بیش از 64 GiB از پنجره MMIO در یک پل میزبان PCI.
پشتیبانی از & quot؛ پروانه-env & quot؛ پارامتر
s390:
پشتیبانی از مدل های CPU.
پشتیبانی از revtiti virtio-ccw 2.
x86:
پشتیبانی از چندین ویژگی CPUID جدید مربوط به تنظیمات مجموعه دستورالعمل AVX-512.
IOAPIC شبیه سازی شده (توسط TCG و با KVM مورد استفاده قرار می گیرد، اگر گزینه & quot؛ machine kernel_irqchip & quot؛ دارای مقدار & quot؛ off & quot؛ یا «split» باشد)، پیش فرض به نسخه 0x20 است که از پیام های انتزاعی قطع وقفه پشتیبانی می کند.
پشتیبانی از حالت وقفه طولانی (EIM) در دستگاه intel_iommu. EIM نیاز به KVM (لینوکس v4.7 یا جدیدتر، برای پشتیبانی x2APIC) و & quot؛ ماشین آلات کرنل-irqchip = split & quot ؛؛ آن را به طور خودکار فعال می شود اگر وقفه بازپرداخت فعال باشد (& quot؛ -ماشین کانیل-irqchip = split -device intel_iommu، intremap = در & quot؛).
پشتیبانی از 288 پردازنده با انواع ماشین های Q35. اگر IOMMU و EIM فعال باشند، تنها 256 یا بیشتر CPU پشتیبانی می شوند.
Xen:
پشتیبانی از جدا کردن دیسک SCSI.پشتیبانی از دستگاه سازگار با SUSE xenlinux جدا کردن.
شبیه سازی و تخصیص دستگاه:
QEMU اکنون شامل یک شبه ساز معمولی لودر است که به شما امکان بارگیری چندین تصویر یا مقادیر در حافظه را در هنگام راه اندازی می دهد. این دستگاه در docs / generic-loader.txt مستند شده است.
ACPI:
پشتیبانی از hotplugging دستگاه های NVDIMM (_FIT)
دستگاه های شبکه:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
PCI / PCIe:
دستگاه نمونه EDU در حال حاضر از MSI پشتیبانی می کند.
مستندات دستورالعمل PCI Express برای مشاوره در مورد توپولوژی و PCI vs PCIe اضافه شده است.
virtio:
دستگاه جدید vhost-vsock.
پشتیبانی ابتدایی برای دستکاری مناسبی از خطاهای مهمان (یعنی QEMU نباید از خطاهای مهمان خارج شود).
پشتیبانی از دستگاه Virtio-Crypto جدید
Xen:
پشتیبانی از کپی مجوز
زیرسیستم رمزنگاری:
پشتیبانی از الگوریتم های هش بیشتر برای PBKDF.
پشتیبانی از حالت CTR
رابط کاربری گرافیکی:
SPICE می تواند از rendering OpenGL خالص استفاده کند اگر & quot؛ gl = & quot؛ مشخص شده است
مانیتور:
مهاجرت:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
شبکه:
دستگاهها و ابزارهای بلوک:دستورات QMP بیشتر از نام گره پشتیبانی می کند (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- پشتیبان گیری، درایو آینه، nbd-server-add).
رویداد BLOCK_IO_ERROR در حال حاضر نام گره را شامل می شود.
دستورات QMP بیشتر قبول نام مدل دستگاه (block_set_io_throttle، blockdev-change-medium، eject، x-blockdev-remove-medium، x-blockdev-insert medium، blockdev-open-tray، blockdev-close-tray) را می پذیرد.
رویداد DEVICE_TRAY_MOVED در حال حاضر شامل شناسه دستگاه است.
Throttling در حال حاضر به دستگاه مهمان تنها اعمال می شود، و نه برای جلوگیری از مشاغل و یا سرور NBD.
درایو تهیه نسخه پشتیبان و پشتیبان بلوک پشتیبان گیری از نوشتن پشتیبان گیری در فرمت فشرده.
فرمت LUKS اکنون می تواند تعداد تکرار PBKDF را تنظیم کند.
بلوک جریان پشتیبانی از جریان از یک فایل پشتیبان به فایل پشتیبانی دیگر.
پشتیبانی از تکرار برای تحمل گسل قفل درشت دانه (COLO).
جدید & quot؛ dd & quot؛ زیرمجموعه qemu-img.
راننده DMG را می توان به راننده جداگانه کامپایل کرد، تا وابستگی QEMU به libbz2 اختیاری باشد.
پشتیبانی از iSER در ابتکار iSCSI QEMU از طریق ایزر: // URI.مشتری و سرور NBD از فرمت NBD_CMD_WRITE_ZEROES پشتیبانی می کنند.
تصاویر خام از & quot؛ افست و & quot؛ پشتیبانی می کند. و & quot؛ اندازه & quot؛ گزینه هایی برای دسترسی به بخشی از فایل یا دستگاه.
ردیابی:
پشت صحنه ردیابی & quot؛ syslog & quot؛
پشتیبانی از رد چندین & dd: PATTERN & quot؛ استدلال خط فرمان
گزینه های CLI:
شبیه سازی حالت کاربر
پشتیبانی هدف حذف شده است
هدف unicore32 لینوکس کاربر کاربر سیستم ABI متفاوت از لینوکس اصلی برای این معماری را اجرا می کند. پشتیبانی از آن کاهش یافته است.
قابلیت جدید:
اضافه شدن پشتیبانی از syscalls بیشتر از جمله preadv، pwritev، syslog.
پیشرفت های مهم مقیاس پذیری برای برنامه های چند رشته (ARM، SPARC، x86).
QEMU اکنون می تواند عملیات های حصار و cmpxchg را درک و تولید کند.
TCG:
ابتکارات TCG جدید برای ایمنسازی مدلسازی دستورالعملهای هماهنگسازی معماری (مثلا atomics، LL / SC، prefixes LOCK) اضافه شده است. بازوی، aarch64، آلفا و x86 در حال حاضر از این primitives برای برنامه های چند کاربره لینوکس استفاده می کنند. نگهبانان اهداف TCG تشویق می شوند که از امکانات جدید استفاده کنند.

TCG backends اکنون دستورالعمل های مانع مناسب برای موانع ورودی را هنگام اجرای برنامه های چند رشته ای منتشر می کند. با این وجود، تقلید یک معماری مرتب سفارش داده شده (به عنوان مثال x86) بر روی یک دستور ضعیف مرتب (به عنوان مثال، ARM یا POWER) هنوز کار نخواهد کرد.
tb_flush () در نهایت موضوع ایمن است به این معنی که برنامه های چند رشته کمتر احتمال خرابی در هنگام بازنشانی بافر ترجمه
محکم کردن قفل در حلقه پروتکل CPU بهبود عملکرد برای کد چند رشته را کاهش داده است
تعدادی از نژادها شناسایی و ثابت شدند
بسیاری از کارهای TCG در این چرخه ای که نیاز به پشتیبانی از شبیه سازی سیستم چند رشته ای (MTTCG) دارند، ادغام شدند. انتظار می رود که پشتیبانی کامل از MTTCG در چرخه توسعه بعدی ادغام شود، برنامه های چند کاربره لینوکس در حال حاضر از این کار بهره مند خواهند شد.

چه جدید در این نسخه است:

شبیه سازی سیستم:
تغییرات ناسازگار:
تعداد پلهای میزبان PCI اجازه داده شده برای دستگاه pSeries از 256 تا 31 کاهش می یابد (بیشتر می توان با تنظیم پنجره های MMIO به صورت دستی تنظیم کرد).
پشتیبانی از tftp: // در لایه بلوک حذف شده است، زیرا این فایل برای فایل های بزرگتر از 256 کیلوبایت برای همیشه خراب شده است.
تغییرات ناسازگار آینده:
سه گزینه از نام های مختلف در خط فرمان و در پرونده پیکربندی استفاده می کنند. به خصوص:
بخش فایل پیکربندی acpi با گزینه خط فرمان "acpitable" مطابقت دارد؛
قسمت پیکربندی "boot-opts" با گزینه command-line "boot" مطابقت دارد
بخش "پیکربندی smp-opts" گزینه option-line-command-line را "smp" را پشتیبانی می کند.
-readconfig بر روی نام برای گزینه خط فرمان استاندارد می شود.
رفتار محاسبه خودکار توپولوژی SMP زمانی که برخی از گزینه های توپولوژی SMP برای -smp حذف می شوند (سوکت، هسته، موضوع) در آینده تغییر خواهد کرد. در صورتی که مهمان ABI در هنگام استفاده از گزینه های توپولوژی SMP بایستی در ارتقاء حفظ شود، کاربران باید هر دو گزینه را به صورت صریح (سوکت، هسته، موضوع) تعیین کرده و یا همه آنها را حذف کنند.دستگاههای "allwinner-a10"، "pc87312"، "ssi-sd" به جای ضمنی با خواص صوری پیکربندی می شوند. این بعید است که کاربران را تحت تاثیر قرار دهد.
فرمان QMP blockdev-add هنوز هم کار در حال انجام است. این همه رانندگان بلوک را پشتیبانی نمی کند، بلوک های دلخواه تطبیقی ​​و غیره را پشتیبانی نمی کند. ممکن است ناسازگاری تغییر کند
برای x86، مشخص کردن یک ویژگی CPUID با هر دو "+ feature / -feature" و "feature = on / off" یک هشدار ایجاد می کند. رفتار فعلی این ترکیبی ("+ feature / -feature" بر "feature = on / off" برنده می شود) تغییر خواهد کرد به طوری که "+ feature" و "-feature" مترادف برای "feature = on" و "feature = خاموش "به ترتیب).
ARM:
بهبود به هیئت مدیره Aspeed.
پشتیبانی از تله های نیمه ساعتی HLT در حالت AArch32 (هر دو ARM و Thumb).
جداول ACPI برای نوع دستگاه "virt" از ITS پشتیبانی می کند.
در حال حاضر دستگاه GEM Cadence از صف چندین عدد اولویت از طریق صف صف صفر اولویت استفاده می کند.
هیئت STM32F2xx (Netduino 2) در حال حاضر شامل دستگاه های ADC و SPI می باشد.
MIPS:
پشتیبانی از CPU 24KEc.
PowerPC:
پشتیبانی از CPU های POWER9.
ارتقاء برای پلتفرم جدید powernv.
pSeries:پل های میزبان PCI می توانند به گره های NUMA مرتبط باشند.
پشتیبانی از بیش از 1 TiB حافظه مهمان.
پشتیبانی از بیش از 64 GiB از پنجره MMIO در یک پل میزبان PCI.
پشتیبانی از پارامتر "-prom-env"
s390:
پشتیبانی از مدل های CPU.
پشتیبانی از revtiti virtio-ccw 2.
x86:
پشتیبانی از چندین ویژگی CPUID جدید مربوط به تنظیمات مجموعه دستورالعمل AVX-512.
شبیه سازی IOAPIC (استفاده شده توسط TCG و با KVM، اگر "kernel_irqchip های حرارتی" گزینه دارای ارزش "خاموش" یا "تقسیم") در حال حاضر به طور پیش فرض نسخه 0x20، که به پشتیبانی کارگردانی پایان وقفه پیام.
پشتیبانی از حالت وقفه طولانی (EIM) در دستگاه intel_iommu. EIM نیاز به KVM (لینوکس v4.7 یا جدیدتر، برای پشتیبانی x2APIC) و "-machine kernel-irqchip = split"؛ آن را به صورت خودکار فعال می کند اگر وقفه بازپپینگ فعال باشد ("-machine kernel-irqchip = split -device intel_iommu، intremap = on").
پشتیبانی از 288 پردازنده با انواع ماشین های Q35. اگر IOMMU و EIM فعال باشند، تنها 256 یا بیشتر CPU پشتیبانی می شوند.
Xen:
پشتیبانی از جدا کردن دیسک SCSI.
پشتیبانی از دستگاه سازگار با SUSE xenlinux جدا کردن.
شبیه سازی و تخصیص دستگاه:QEMU اکنون شامل یک شبه ساز معمولی لودر است که به شما امکان بارگیری چندین تصویر یا مقادیر در حافظه را در هنگام راه اندازی می دهد. این دستگاه در docs / generic-loader.txt مستند شده است.
ACPI:
پشتیبانی از hotplugging دستگاه های NVDIMM (_FIT)
دستگاه های شبکه:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
PCI / PCIe:
دستگاه نمونه EDU در حال حاضر از MSI پشتیبانی می کند.
مستندات دستورالعمل PCI Express برای مشاوره در مورد توپولوژی و PCI vs PCIe اضافه شده است.
virtio:
دستگاه جدید vhost-vsock.
پشتیبانی ابتدایی برای دستکاری مناسبی از خطاهای مهمان (یعنی QEMU نباید از خطاهای مهمان خارج شود).
پشتیبانی از دستگاه Virtio-Crypto جدید
Xen:
پشتیبانی از کپی مجوز
زیرسیستم رمزنگاری:
پشتیبانی از الگوریتم های هش بیشتر برای PBKDF.
پشتیبانی از حالت CTR
رابط کاربری گرافیکی:
SPICE می تواند از rendering OpenGL خالص استفاده کند اگر "gl = on" مشخص شده باشد.
مانیتور:
مهاجرت:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
شبکه:
دستگاهها و ابزارهای بلوک:دستورات QMP بیشتر از نام گره پشتیبانی می کند (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- پشتیبان گیری، درایو آینه، nbd-server-add).
رویداد BLOCK_IO_ERROR در حال حاضر نام گره را شامل می شود.
دستورات QMP بیشتر قبول نام مدل دستگاه (block_set_io_throttle، blockdev-change-medium، eject، x-blockdev-remove-medium، x-blockdev-insert medium، blockdev-open-tray، blockdev-close-tray) را می پذیرد.
رویداد DEVICE_TRAY_MOVED در حال حاضر شامل شناسه دستگاه است.
Throttling در حال حاضر به دستگاه مهمان تنها اعمال می شود، و نه برای جلوگیری از مشاغل و یا سرور NBD.
درایو تهیه نسخه پشتیبان و پشتیبان بلوک پشتیبان گیری از نوشتن پشتیبان گیری در فرمت فشرده.
فرمت LUKS اکنون می تواند تعداد تکرار PBKDF را تنظیم کند.
بلوک جریان پشتیبانی از جریان از یک فایل پشتیبان به فایل پشتیبانی دیگر.
پشتیبانی از تکرار برای تحمل گسل قفل درشت دانه (COLO).
Subcomamand جدید "dd" از qemu-img.
راننده DMG را می توان به راننده جداگانه کامپایل کرد، تا وابستگی QEMU به libbz2 اختیاری باشد.
پشتیبانی از iSER در ابتکار iSCSI QEMU از طریق ایزر: // URI.مشتری و سرور NBD از فرمت NBD_CMD_WRITE_ZEROES پشتیبانی می کنند.
تصاویر خام از گزینه های "offset" و "size" برای دسترسی به تنها بخشی از فایل یا دستگاه پشتیبانی می کنند.
ردیابی:
جدید ردیابی backend "syslog".
پشتیبانی از چندین "-d trace: PATTERN" استدلال خط فرمان.
گزینه های CLI:
شبیه سازی حالت کاربر
پشتیبانی هدف حذف شده است
هدف unicore32 لینوکس کاربر کاربر سیستم ABI متفاوت از لینوکس اصلی برای این معماری را اجرا می کند. پشتیبانی از آن کاهش یافته است.
قابلیت جدید:
اضافه شدن پشتیبانی از syscalls بیشتر از جمله preadv، pwritev، syslog.
پیشرفت های مهم مقیاس پذیری برای برنامه های چند رشته (ARM، SPARC، x86).
QEMU اکنون می تواند عملیات های حصار و cmpxchg را درک و تولید کند.
TCG:
ابتکارات TCG جدید برای ایمنسازی مدلسازی دستورالعملهای هماهنگسازی معماری (مثلا atomics، LL / SC، prefixes LOCK) اضافه شده است. بازوی، aarch64، آلفا و x86 در حال حاضر از این primitives برای برنامه های چند کاربره لینوکس استفاده می کنند. نگهبانان اهداف TCG تشویق می شوند که از امکانات جدید استفاده کنند.

TCG backends اکنون دستورالعمل های مانع مناسب برای موانع ورودی را هنگام اجرای برنامه های چند رشته ای منتشر می کند. با این وجود، تقلید یک معماری مرتب سفارش داده شده (به عنوان مثال x86) بر روی یک دستور ضعیف مرتب (به عنوان مثال، ARM یا POWER) هنوز کار نخواهد کرد.
tb_flush () در نهایت موضوع ایمن است به این معنی که برنامه های چند رشته کمتر احتمال خرابی در هنگام بازنشانی بافر ترجمه
محکم کردن قفل در حلقه پروتکل CPU بهبود عملکرد برای کد چند رشته را کاهش داده است
تعدادی از نژادها شناسایی و ثابت شدند
بسیاری از کارهای TCG در این چرخه ای که نیاز به پشتیبانی از شبیه سازی سیستم چند رشته ای (MTTCG) دارند، ادغام شدند. انتظار می رود که پشتیبانی کامل از MTTCG در چرخه توسعه بعدی ادغام شود، برنامه های چند کاربره لینوکس در حال حاضر از این کار بهره مند خواهند شد.

چه جدید در نسخه 2.9.0 است:

شبیه سازی سیستم:
تغییرات ناسازگار:
تعداد پلهای میزبان PCI اجازه داده شده برای دستگاه pSeries از 256 تا 31 کاهش می یابد (بیشتر می توان با تنظیم پنجره های MMIO به صورت دستی تنظیم کرد).
پشتیبانی از tftp: // در لایه بلوک حذف شده است، زیرا این فایل برای فایل های بزرگتر از 256 کیلوبایت برای همیشه خراب شده است.
تغییرات ناسازگار آینده:
سه گزینه از نام های مختلف در خط فرمان و در پرونده پیکربندی استفاده می کنند. به خصوص:
بخش فایل پیکربندی acpi با گزینه خط فرمان "acpitable" مطابقت دارد؛
قسمت پیکربندی "boot-opts" با گزینه command-line "boot" مطابقت دارد
بخش "پیکربندی smp-opts" گزینه option-line-command-line را "smp" را پشتیبانی می کند.
-readconfig بر روی نام برای گزینه خط فرمان استاندارد می شود.
رفتار محاسبه خودکار توپولوژی SMP زمانی که برخی از گزینه های توپولوژی SMP برای -smp حذف می شوند (سوکت، هسته، موضوع) در آینده تغییر خواهد کرد. در صورتی که مهمان ABI در هنگام استفاده از گزینه های توپولوژی SMP بایستی در ارتقاء حفظ شود، کاربران باید هر دو گزینه را به صورت صریح (سوکت، هسته، موضوع) تعیین کرده و یا همه آنها را حذف کنند.دستگاههای "allwinner-a10"، "pc87312"، "ssi-sd" به جای ضمنی با خواص صوری پیکربندی می شوند. این بعید است که کاربران را تحت تاثیر قرار دهد.
فرمان QMP blockdev-add هنوز هم کار در حال انجام است. این همه رانندگان بلوک را پشتیبانی نمی کند، بلوک های دلخواه تطبیقی ​​و غیره را پشتیبانی نمی کند. ممکن است ناسازگاری تغییر کند
برای x86، مشخص کردن یک ویژگی CPUID با هر دو "+ feature / -feature" و "feature = on / off" یک هشدار ایجاد می کند. رفتار فعلی این ترکیبی ("+ feature / -feature" بر "feature = on / off" برنده می شود) تغییر خواهد کرد به طوری که "+ feature" و "-feature" مترادف برای "feature = on" و "feature = خاموش "به ترتیب).
ARM:
بهبود به هیئت مدیره Aspeed.
پشتیبانی از تله های نیمه ساعتی HLT در حالت AArch32 (هر دو ARM و Thumb).
جداول ACPI برای نوع دستگاه "virt" از ITS پشتیبانی می کند.
در حال حاضر دستگاه GEM Cadence از صف چندین عدد اولویت از طریق صف صف صفر اولویت استفاده می کند.
هیئت STM32F2xx (Netduino 2) در حال حاضر شامل دستگاه های ADC و SPI می باشد.
MIPS:
پشتیبانی از CPU 24KEc.
PowerPC:
پشتیبانی از CPU های POWER9.
ارتقاء برای پلتفرم جدید powernv.
pSeries:پل های میزبان PCI می توانند به گره های NUMA مرتبط باشند.
پشتیبانی از بیش از 1 TiB حافظه مهمان.
پشتیبانی از بیش از 64 GiB از پنجره MMIO در یک پل میزبان PCI.
پشتیبانی از پارامتر "-prom-env"
s390:
پشتیبانی از مدل های CPU.
پشتیبانی از revtiti virtio-ccw 2.
x86:
پشتیبانی از چندین ویژگی CPUID جدید مربوط به تنظیمات مجموعه دستورالعمل AVX-512.
شبیه سازی IOAPIC (استفاده شده توسط TCG و با KVM، اگر "kernel_irqchip های حرارتی" گزینه دارای ارزش "خاموش" یا "تقسیم") در حال حاضر به طور پیش فرض نسخه 0x20، که به پشتیبانی کارگردانی پایان وقفه پیام.
پشتیبانی از حالت وقفه طولانی (EIM) در دستگاه intel_iommu. EIM نیاز به KVM (لینوکس v4.7 یا جدیدتر، برای پشتیبانی x2APIC) و "-machine kernel-irqchip = split"؛ آن را به صورت خودکار فعال می کند اگر وقفه بازپپینگ فعال باشد ("-machine kernel-irqchip = split -device intel_iommu، intremap = on").
پشتیبانی از 288 پردازنده با انواع ماشین های Q35. اگر IOMMU و EIM فعال باشند، تنها 256 یا بیشتر CPU پشتیبانی می شوند.
Xen:
پشتیبانی از جدا کردن دیسک SCSI.
پشتیبانی از دستگاه سازگار با SUSE xenlinux جدا کردن.
شبیه سازی و تخصیص دستگاه:QEMU اکنون شامل یک شبه ساز معمولی لودر است که به شما امکان بارگیری چندین تصویر یا مقادیر در حافظه را در هنگام راه اندازی می دهد. این دستگاه در docs / generic-loader.txt مستند شده است.
ACPI:
پشتیبانی از hotplugging دستگاه های NVDIMM (_FIT)
دستگاه های شبکه:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
PCI / PCIe:
دستگاه نمونه EDU در حال حاضر از MSI پشتیبانی می کند.
مستندات دستورالعمل PCI Express برای مشاوره در مورد توپولوژی و PCI vs PCIe اضافه شده است.
virtio:
دستگاه جدید vhost-vsock.
پشتیبانی ابتدایی برای دستکاری مناسبی از خطاهای مهمان (یعنی QEMU نباید از خطاهای مهمان خارج شود).
پشتیبانی از دستگاه Virtio-Crypto جدید
Xen:
پشتیبانی از کپی مجوز
زیرسیستم رمزنگاری:
پشتیبانی از الگوریتم های هش بیشتر برای PBKDF.
پشتیبانی از حالت CTR
رابط کاربری گرافیکی:
SPICE می تواند از rendering OpenGL خالص استفاده کند اگر "gl = on" مشخص شده باشد.
مانیتور:
مهاجرت:
پشتیبانی از تحمل گسل بر پایه قفل درشت دانه (COLO).
شبکه:
دستگاهها و ابزارهای بلوک:دستورات QMP بیشتر از نام گره پشتیبانی می کند (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- پشتیبان گیری، درایو آینه، nbd-server-add).
رویداد BLOCK_IO_ERROR در حال حاضر نام گره را شامل می شود.
دستورات QMP بیشتر قبول نام مدل دستگاه (block_set_io_throttle، blockdev-change-medium، eject، x-blockdev-remove-medium، x-blockdev-insert medium، blockdev-open-tray، blockdev-close-tray) را می پذیرد.
رویداد DEVICE_TRAY_MOVED در حال حاضر شامل شناسه دستگاه است.
Throttling در حال حاضر به دستگاه مهمان تنها اعمال می شود، و نه برای جلوگیری از مشاغل و یا سرور NBD.
درایو تهیه نسخه پشتیبان و پشتیبان بلوک پشتیبان گیری از نوشتن پشتیبان گیری در فرمت فشرده.
فرمت LUKS اکنون می تواند تعداد تکرار PBKDF را تنظیم کند.
بلوک جریان پشتیبانی از جریان از یک فایل پشتیبان به فایل پشتیبانی دیگر.
پشتیبانی از تکرار برای تحمل گسل قفل درشت دانه (COLO).
Subcomamand جدید "dd" از qemu-img.
راننده DMG را می توان به راننده جداگانه کامپایل کرد، تا وابستگی QEMU به libbz2 اختیاری باشد.
پشتیبانی از iSER در ابتکار iSCSI QEMU از طریق ایزر: // URI.مشتری و سرور NBD از فرمت NBD_CMD_WRITE_ZEROES پشتیبانی می کنند.
تصاویر خام از گزینه های "offset" و "size" برای دسترسی به تنها بخشی از فایل یا دستگاه پشتیبانی می کنند.
ردیابی:
جدید ردیابی backend "syslog".
پشتیبانی از چندین "-d trace: PATTERN" استدلال خط فرمان.
گزینه های CLI:
شبیه سازی حالت کاربر
پشتیبانی هدف حذف شده است
هدف unicore32 لینوکس کاربر کاربر سیستم ABI متفاوت از لینوکس اصلی برای این معماری را اجرا می کند. پشتیبانی از آن کاهش یافته است.
قابلیت جدید:
اضافه شدن پشتیبانی از syscalls بیشتر از جمله preadv، pwritev، syslog.
پیشرفت های مهم مقیاس پذیری برای برنامه های چند رشته (ARM، SPARC، x86).
QEMU اکنون می تواند عملیات های حصار و cmpxchg را درک و تولید کند.
TCG:
ابتکارات TCG جدید برای ایمنسازی مدلسازی دستورالعملهای هماهنگسازی معماری (مثلا atomics، LL / SC، prefixes LOCK) اضافه شده است. بازوی، aarch64، آلفا و x86 در حال حاضر از این primitives برای برنامه های چند کاربره لینوکس استفاده می کنند. نگهبانان اهداف TCG تشویق می شوند که از امکانات جدید استفاده کنند.در حال حاضر TCG backends دستورالعمل های مانع مناسب برای موانع ورودی را هنگام اجرای برنامه های چند رشته ای منتشر می کند. با این وجود، تقلید یک معماری مرتب سفارش داده شده (به عنوان مثال x86) بر روی یک دستور ضعیف مرتب (به عنوان مثال، ARM یا POWER) هنوز کار نخواهد کرد.
tb_flush () در نهایت موضوع ایمن است به این معنی که برنامه های چند رشته کمتر احتمال خرابی در هنگام بازنشانی بافر ترجمه
محکم کردن قفل در حلقه پروتکل CPU بهبود عملکرد برای کد چند رشته را کاهش داده است
تعدادی از نژادها شناسایی و ثابت شدند
بسیاری از کارهای TCG در این چرخه ای که نیاز به پشتیبانی از شبیه سازی سیستم چند رشته ای (MTTCG) دارند، ادغام شدند. انتظار می رود که پشتیبانی کامل از MTTCG در چرخه توسعه بعدی ادغام شود، برنامه های چند کاربره لینوکس در حال حاضر از این کار بهره مند خواهند شد.

نرم افزار های دیگر از توسعه دهنده Fabrice Bellard

TCCBOOT
TCCBOOT

3 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

KQEMU
KQEMU

2 Jun 15

نظرات به QEMU

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!