كيمو
نظام التشغيل المجاني OpenIndiana الذي يعمل داخل QEMU، والذي يعمل كعملية على Linux | |
| المؤلف(ون) الأصلي(ون) | فابريس بيلارد |
|---|---|
| المطور(ون) | فريق QEMU: بيتر مايديل، وآخرون. |
| إصدار مستقر | 9.1.1 [1]
/ 21 أكتوبر 2024 |
| مستودع |
|
| مكتوب في | ج |
| نظام التشغيل | Linux و Microsoft Windows و macOS وبعض منصات UNIX الأخرى |
| يكتب | المشرف الافتراضي ، المحاكي |
| رخصة | GPL-2.0 فقط [2] |
| موقع إلكتروني | www.qemu.org |
QEMU (Quick Emulator [3] ) هو محاكي مجاني ومفتوح المصدر . يحاكي معالج الكمبيوتر من خلال الترجمة الثنائية الديناميكية ويوفر مجموعة من نماذج الأجهزة والأجهزة المختلفة للجهاز، مما يمكنه من تشغيل مجموعة متنوعة من أنظمة التشغيل الضيفة . يمكن تشغيله مع آلة افتراضية قائمة على النواة (KVM) لتشغيل الآلات الافتراضية بسرعة قريبة من سرعة الأصلية. يوفر QEMU أيضًا محاكاة للعمليات على مستوى المستخدم، مما يسمح للتطبيقات المترجمة لهندسة معالج واحدة بالعمل على أخرى. [4]
يدعم QEMU محاكاة العديد من المعماريات، بما في ذلك x86 ، وARM ، وPowerPC ، و RISC-V ، وغيرها.
الترخيص
تم تطوير QEMU بواسطة Fabrice Bellard وهو برنامج مجاني . يتم ترخيص مكوناته المختلفة بموجب رخصة جنو العمومية (GPL)، أو رخصة BSD ، أو رخصة جنو العمومية الصغرى (LGPL)، أو تراخيص أخرى متوافقة مع رخصة جنو العمومية. [5]
أوضاع التشغيل
يحتوي QEMU على أوضاع تشغيل متعددة: [6]
1. محاكاة وضع المستخدم
- في وضع محاكاة المستخدم، يقوم QEMU بتشغيل برامج Linux أو Darwin / macOS الفردية التي تم تجميعها لمجموعة تعليمات مختلفة . يتم تجميع مكالمات النظام من أجل التوافق بين النهايات وعدم تطابق 32/64 بت. التجميع المتبادل السريع وتصحيح الأخطاء المتبادل هما الهدفان الرئيسيان لمحاكاة وضع المستخدم.
- 2. محاكاة النظام
- في وضع محاكاة النظام، يحاكي QEMU نظام كمبيوتر كامل، بما في ذلك الأجهزة الطرفية . ويمكن استخدامه لتوفير استضافة افتراضية لعدة أجهزة كمبيوتر افتراضية على جهاز كمبيوتر واحد. يمكن لـ QEMU تشغيل العديد من أنظمة التشغيل الضيفة ، بما في ذلك Linux و Solaris و Microsoft Windows و DOS و BSD ؛ [7] وهو يدعم محاكاة العديد من مجموعات التعليمات، بما في ذلك x86 و MIPS و32 بت ARMv7 و ARMv8 و PowerPC و RISC-V و SPARC و ETRAX CRIS و MicroBlaze .
- 3. دعم المشرف الافتراضي
- في وضع دعم المشرف الافتراضي، يعمل QEMU إما كمدير آلة افتراضية (VMM) أو كمحاكاة خلفية للأجهزة للآلات الافتراضية التي تعمل تحت المشرف الافتراضي . الأكثر شيوعًا هو KVM الخاص بـ Linux ولكن المشروع يدعم عددًا من المشرفين الافتراضيين بما في ذلك Xen و HVF الخاص بـ Apple و WHPX الخاص بـ Windows و nvmm الخاص بـ NetBSD. [8]
سمات
يمكن لـ QEMU حفظ حالة الجهاز الظاهري واستعادتها مع تشغيل كافة البرامج. لا تحتاج أنظمة التشغيل الضيفة إلى التصحيح من أجل التشغيل داخل QEMU.
يدعم QEMU محاكاة العديد من المعماريات، بما في ذلك x86، و MIPS64 (حتى الإصدار 6)، [9] SPARC (sun4m وsun4u)، و ARM (Integrator/CP وVersatile/PB)، و SuperH ، وPowerPC ( PReP و Power Macintosh )، و ETRAX CRIS ، وMicroBlaze ، و RISC-V .
يمكن للآلة الافتراضية التفاعل مع العديد من أنواع الأجهزة المضيفة المادية، بما في ذلك الأقراص الصلبة للمستخدم ومحركات الأقراص المضغوطة وبطاقات الشبكة وواجهات الصوت وأجهزة USB. يمكن محاكاة أجهزة USB بالكامل أو استخدام أجهزة USB الخاصة بالمضيف، على الرغم من أن هذا يتطلب امتيازات المسؤول ولا يعمل مع بعض الأجهزة.
يمكن تخزين صور القرص الافتراضي بتنسيق خاص ( qcow أو qcow2 ) لا يشغل سوى مساحة القرص التي يستخدمها نظام التشغيل الضيف فعليًا. بهذه الطريقة، قد يشغل قرص مُحاكي سعة 120 جيجابايت بضع مئات من الميجابايت فقط على المضيف. يسمح تنسيق QCOW2 أيضًا بإنشاء صور تراكب تسجل الفرق عن ملف صورة أساسي آخر (غير معدّل). يوفر هذا إمكانية إعادة محتويات القرص المُحاكي إلى حالة سابقة. على سبيل المثال، يمكن للصورة الأساسية أن تحتوي على تثبيت جديد لنظام تشغيل معروف أنه يعمل، ويتم استخدام صور التراكب. إذا أصبح نظام الضيف غير قابل للاستخدام (من خلال هجوم فيروسي أو تدمير النظام عن طريق الخطأ، وما إلى ذلك)، يمكن للمستخدم حذف التراكب واستخدام صورة قرص مُحاكاة سابقة.
يمكن لـ QEMU محاكاة بطاقات الشبكة (من طرز مختلفة) التي تشارك اتصال نظام المضيف من خلال ترجمة عناوين الشبكة، مما يسمح فعليًا للضيف باستخدام نفس الشبكة مثل المضيف. يمكن لبطاقات الشبكة الافتراضية أيضًا الاتصال ببطاقات الشبكة الخاصة بمثيلات أخرى من QEMU أو بواجهات TAP المحلية . يمكن أيضًا تحقيق اتصال الشبكة من خلال ربط واجهة TUN/TAP التي يستخدمها QEMU بواجهة Ethernet غير افتراضية على نظام تشغيل المضيف باستخدام ميزات الربط في نظام تشغيل المضيف.
يدمج QEMU العديد من الخدمات للسماح لأنظمة المضيف والضيف بالتواصل؛ على سبيل المثال، خادم SMB متكامل وإعادة توجيه منفذ الشبكة (للسماح بالاتصالات الواردة إلى الجهاز الظاهري). كما يمكنه تشغيل نوى Linux بدون أداة تحميل التشغيل.
لا يعتمد QEMU على وجود طرق إخراج رسومية على نظام المضيف. بدلاً من ذلك، يمكنه السماح بالوصول إلى شاشة نظام التشغيل الضيف عبر خادم VNC مدمج . يمكنه أيضًا استخدام خط تسلسلي محاكي، بدون أي شاشة، مع أنظمة التشغيل القابلة للتطبيق.
من الممكن محاكاة وحدات المعالجة المركزية المتعددة التي تعمل بنظام SMP .
لا يتطلب QEMU حقوق إدارية للتشغيل إلا في حالة استخدام وحدات kernel إضافية لتحسين السرعة (مثل KQEMU) أو استخدام أوضاع معينة من نموذج الاتصال بالشبكة.
مولد أكواد صغير
يهدف Tiny Code Generator (TCG) إلى إزالة عيب الاعتماد على إصدار معين من GCC أو أي مُجمِّع، بدلاً من ذلك دمج المُجمِّع (مُولد الكود) في مهام أخرى يؤديها QEMU في وقت التشغيل. وبالتالي تتكون مهمة الترجمة بالكامل من جزأين: إعادة كتابة الكتل الأساسية من الكود المستهدف ( TBs ) في عمليات TCG - وهو نوع من التدوين الوسيط المستقل عن الآلة، ثم تجميع هذا التدوين لهندسة المضيف بواسطة TCG. يتم تنفيذ عمليات التحسين الاختيارية بينهما، لوضع المُجمِّع في الوقت المناسب (JIT).
تتطلب TCG كتابة كود مخصص لدعم كل بنية تعمل عليها، حتى يعرف JIT ما الذي يجب أن يترجم إليه عمليات TCG . إذا لم يتوفر كود JIT مخصص للبنية، فإن TCG تعود إلى وضع المترجم البطيء المسمى TCG Interpreter (TCI). كما يتطلب تحديث الكود المستهدف لاستخدام عمليات TCG بدلاً من عمليات dyngen القديمة .
بدءًا من إصدار QEMU 0.10.0، يأتي TCG مع إصدار QEMU المستقر. وهو يحل محل dyngen ، الذي اعتمد على GCC 3.x للعمل. [10] [11]
مسرع
كان KQEMU وحدة نمطية لنواة لينكس ، كتبها أيضًا فابريس بيلارد ، والتي سرّعت بشكل ملحوظ محاكاة ضيوف x86 أو x86-64 على منصات بنفس بنية وحدة المعالجة المركزية. تم ذلك من خلال تشغيل كود وضع المستخدم (واختياريًا بعض كود النواة) مباشرة على وحدة المعالجة المركزية للكمبيوتر المضيف، وباستخدام محاكاة المعالج والأجهزة الطرفية فقط لوضع النواة والوضع الحقيقي . يمكن لـ KQEMU تنفيذ الكود من العديد من أنظمة تشغيل الضيوف حتى لو لم تدعم وحدة المعالجة المركزية المضيفة المحاكاة الافتراضية بمساعدة الأجهزة . كان KQEMU في البداية منتجًا مغلق المصدر متاحًا مجانًا، ولكن بدءًا من الإصدار 1.3.0 قبل 10 (فبراير 2007)، [12] تمت إعادة ترخيصه بموجب رخصة جنو العمومية . تدعم إصدارات QEMU التي تبدأ بـ 0.12.0 (اعتبارًا من أغسطس 2009 ) ذاكرة كبيرة مما يجعلها غير متوافقة مع KQEMU. [13] قامت الإصدارات الأحدث من QEMU بإزالة الدعم لـ KQEMU تمامًا. [تحديث]
كان QVM86 بديلاً مرخصًا بموجب GNU GPLv2 لـ KQEMU الذي كان مغلق المصدر آنذاك. توقف مطورو QVM86 عن التطوير في يناير 2007.
لقد استحوذت الآلة الافتراضية القائمة على النواة ( KVM ) في الغالب على حل المحاكاة الافتراضية بمساعدة الأجهزة المستندة إلى Linux للاستخدام مع QEMU في أعقاب نقص الدعم لـ KQEMU و QVM86. [ بحاجة لمصدر ] يمكن لـ QEMU أيضًا استخدام KVM على بنيات أخرى مثل ARM و MIPS . [14]
يعد برنامج Intel's Hardware Accelerated Execution Manager ( HAXM ) بديلاً مفتوح المصدر [15] لـ KVM للمحاكاة الافتراضية بمساعدة الأجهزة المستندة إلى x86 على NetBSD وLinux وWindows وmacOS باستخدام Intel VT . اعتبارًا من عام 2013، [تحديث]تطلب Intel في الغالب استخدامه مع QEMU لتطوير Android. [16] بدءًا من الإصدار 2.9.0، يتضمن QEMU الرسمي دعمًا لـ HAXM، تحت اسم hax . [17]
يدعم QEMU أيضًا المسرعات التالية: [17]
- hvf
Hypervisor.framework، يعتمد على Intel VT من Apple . - whpx ، منصة Windows Hypervisor من Microsoft المستندة إلى Intel VT أو AMD-V.
- tcg ، مولد الكود الصغير الخاص بـ QEMU. هذا هو الإعداد الافتراضي.
تنسيقات صور القرص المدعومة
يدعم QEMU تنسيقات صور القرص التالية : [18]
- تنسيق صورة القرص العالمي لنظام التشغيل macOS (
.dmg) – للقراءة فقط - بوخس – للقراءة فقط
- Linux Cloop – للقراءة فقط
- صورة القرص المتوازي
.hdd( ,.hds) – للقراءة فقط - نسخ عند الكتابة في QEMU (
.qcow2,.qed,.qcow,.cow) - صورة القرص الافتراضي لبرنامج VirtualBox (
.vdi) - جهاز كمبيوتر افتراضي القرص الصلب الافتراضي (
.vhd) - VFAT افتراضي
- قرص الآلة الافتراضية VMware (
.vmdk) - الصور الخام (
.img) التي تحتوي على محتويات قطاع تلو الآخر من القرص - صور أقراص CD/DVD (
.iso) تحتوي على محتويات قطاع تلو الآخر من القرص الضوئي (على سبيل المثال، تشغيل أنظمة التشغيل الحية) [19]
نموذج كائن QEMU
يوفر نموذج كائن QEMU (QOM) إطار عمل لتسجيل أنواع قابلة للإنشاء بواسطة المستخدم وإنشاء كائنات من تلك الأنواع. [20]
يوفر QOM الميزات التالية:
- نظام لتسجيل الأنواع ديناميكيًا
- دعم الوراثة الفردية للأنواع
- وراثة متعددة للواجهات عديمة الجنسية
المحاكاة المتوازية
تستطيع حلول المحاكاة الافتراضية التي تستخدم QEMU تنفيذ وحدات معالجة مركزية افتراضية متعددة بالتوازي. بالنسبة لمحاكاة وضع المستخدم، تقوم QEMU بتعيين الخيوط المحاكية لخيوط المضيف. بالنسبة لمحاكاة النظام الكامل، تكون QEMU قادرة على تشغيل خيط مضيف لكل وحدة معالجة مركزية افتراضية محاكية (vCPU). يعتمد هذا على تحديث الضيف لدعم محاكاة النظام المتوازي، حاليًا ARM وAlpha وHP-PA وPowerPC وRISC-V وs390x وx86 وXtensa. بخلاف ذلك، يتم استخدام خيط واحد لمحاكاة جميع وحدات المعالجة المركزية الافتراضية (vCPUS) التي تنفذ كل وحدة معالجة مركزية افتراضية بطريقة دورية.
اندماج
فيرتوالبوكس
تم إصدار VirtualBox لأول مرة في يناير 2007، واستخدم بعض أجهزة الأجهزة الافتراضية الخاصة بـ QEMU، وكان به مُعيد تجميع ديناميكي مُدمج يعتمد على QEMU. وكما هو الحال مع KQEMU، يقوم VirtualBox بتشغيل جميع أكواد الضيف تقريبًا بشكل أصلي على المضيف عبر VMM (Virtual Machine Manager) ويستخدم المُعيد التجميع فقط كآلية احتياطية - على سبيل المثال، عندما يتم تنفيذ أكواد الضيف في الوضع الحقيقي . [21] بالإضافة إلى ذلك، قام VirtualBox بالكثير من تحليلات الكود وتصحيحه باستخدام مُفكك مُدمج من أجل تقليل إعادة التجميع. VirtualBox مجاني ومفتوح المصدر (متاح بموجب GPL )، باستثناء بعض الميزات.
زين-HVM
يمكن تشغيل Xen ، وهو مراقب للآلات الافتراضية، في وضع HVM (آلة افتراضية للأجهزة)، باستخدام ملحقات المحاكاة الافتراضية Intel VT-x أو AMD-V x86 وملحقات المحاكاة الافتراضية ARM Cortex-A7 و Cortex-A15 . [22] وهذا يعني أنه بدلاً من الأجهزة شبه الافتراضية، يتم عرض مجموعة حقيقية من الأجهزة الافتراضية على domU لاستخدام برامج تشغيل الأجهزة الحقيقية للتحدث معها.
يتضمن QEMU عدة مكونات: محاكيات وحدة المعالجة المركزية، وأجهزة محاكاة، وأجهزة عامة، وأوصاف الأجهزة، وواجهة المستخدم، ومصحح الأخطاء. تشكل الأجهزة المحاكية والأجهزة العامة في QEMU نماذج الأجهزة الخاصة به لمحاكاة الإدخال/الإخراج. [23] وهي تتألف من PIIX3 IDE (مع بعض قدرات PIIX4 الأولية)، وCirrus Logic أو فيديو محاكاة VGA عادي، ومحاكاة شبكة RTL8139 أو E1000، ودعم ACPI. [24] يتم توفير دعم APIC بواسطة Xen.
يعتمد Xen-HVM على محاكاة الأجهزة استنادًا إلى مشروع QEMU لتوفير محاكاة الإدخال/الإخراج للآلات الافتراضية. تتم محاكاة الأجهزة عبر برنامج "نموذج الجهاز" QEMU الذي يعمل كبرنامج خلفي في dom0. وعلى عكس أوضاع تشغيل QEMU الأخرى (الترجمة الديناميكية أو KVM)، تتم إدارة وحدات المعالجة المركزية الافتراضية بالكامل بواسطة المشرف الافتراضي، الذي يتولى إيقافها بينما يقوم QEMU بمحاكاة عمليات الوصول إلى الإدخال/الإخراج المخصصة للذاكرة.
كيه في إم
KVM (Kernel-based Virtual Machine) عبارة عن وحدة نمطية من نواة FreeBSD وLinux تتيح لبرنامج مساحة المستخدم الوصول إلى ميزات المحاكاة الافتراضية للأجهزة في معالجات مختلفة، والتي من خلالها تتمكن QEMU من تقديم المحاكاة الافتراضية لضيوف x86 وPowerPC وS/390. عندما تكون بنية الهدف هي نفسها بنية المضيف، يمكن لـ QEMU الاستفادة من ميزات KVM الخاصة، مثل التسريع.
برنامج Win4Lin Pro لسطح المكتب
في أوائل عام 2005، قدمت Win4Lin برنامج Win4Lin Pro Desktop، الذي يستند إلى إصدار "مُضبوط" من QEMU وKQEMU ويستضيف إصدارات NT من Windows. في يونيو 2006، [25] أصدرت Win4Lin خادم Win4Lin Virtual Desktop Server الذي يستند إلى نفس قاعدة التعليمات البرمجية. يخدم خادم Win4Lin Virtual Desktop جلسات Microsoft Windows للعملاء الرقيقين من خادم Linux.
في سبتمبر 2006، أعلنت Win4Lin عن تغيير اسم الشركة إلى Virtual Bridges مع إصدار Win4BSD Pro Desktop، وهو نسخة من المنتج إلى FreeBSD وPC-BSD. تبع ذلك دعم Solaris في مايو 2007 مع إصدار Win4Solaris Pro Desktop وWin4Solaris Virtual Desktop Server. [26]
مسلسل ICE
SerialICE هي أداة تصحيح أخطاء البرامج الثابتة المستندة إلى QEMU والتي تقوم بتشغيل البرامج الثابتة للنظام داخل QEMU أثناء الوصول إلى الأجهزة الحقيقية من خلال اتصال تسلسلي بنظام مضيف. يمكن استخدام هذا كبديل رخيص لمحاكيات الدوائر الإلكترونية ( ICE). [27]
وين الإمارات
قدمت WinUAE الدعم للوحات CyberStorm PPC وBlizzard 603e باستخدام نواة QEMU PPC في الإصدار 3.0.0. [28]
وحيد القرن
Unicorn هو إطار عمل لمحاكاة وحدة المعالجة المركزية يعتمد على محاكي وحدة المعالجة المركزية "TCG" من QEMU. وعلى عكس QEMU، يركز Unicorn على وحدة المعالجة المركزية فقط : لا يتم توفير محاكاة لأي أجهزة طرفية ويمكن تشغيل الكود الثنائي الخام (خارج سياق ملف قابل للتنفيذ أو صورة النظام) مباشرة. Unicorn آمن للخيوط وله روابط متعددة وواجهات أدوات. [29]
محاكي Limbo X86 للكمبيوتر الشخصي
Limbo هو عبارة عن آلة افتراضية تعمل بنظام X86 وARM64 لنظام Android وتعتمد على QEMU [30] وهي واحدة من القطع القليلة من برامج الآلة الافتراضية المتاحة لنظام Android القادرة على محاكاة Microsoft Windows، [31] على الرغم من أنها صُممت لمحاكاة Linux وDOS. وعلى عكس المحاكيات الأخرى المستندة إلى QEMU، فهي لا تتطلب من المستخدمين كتابة أوامر لاستخدامها، بل تحتوي بدلاً من ذلك على واجهة مستخدم لتعيين إعدادات الآلة الافتراضية.
إنه أكثر شهرة في البلدان النامية في آسيا مثل الهند وماليزيا وتايلاند على YouTube بسبب الاستخدام العالي لنظام التشغيل Android. [32] تمت إزالة Limbo من متجر Google Play لأسباب غير معروفة بين فبراير 2019 وديسمبر 2020، على الرغم من أنه لا يزال من الممكن تثبيته من موقع المطور من خلال تثبيت APK (حزمة Android). [33] يُعرف Limbo بجودة الصوت المتدرجة والمتقطعة والمتأخرة، ولم يتم العثور على إصلاحات معروفة حتى عام 2023. [34] Limbo غير معروف بشكل عام من حيث الشعبية مقارنة ببرامج الآلة الافتراضية الأخرى، مما يجعل استكشاف الأخطاء وإصلاحها أمرًا صعبًا للغاية.
يتطلب تثبيت تطبيق خاص يُعرف باسم "Hacker's Keyboard" استخدام العديد من وظائف لوحة المفاتيح التي لا تستطيع لوحة مفاتيح Android الأساسية القيام بها في Limbo X86، مثل مفاتيح Ctrl وAlt وDel ومفاتيح الوظائف. [35] يوصى بتثبيت Hacker's Keyboard بملف APK نظرًا لأن متجر Google Play ينص على أنه لا يدعم إصدارات Android الأحدث؛ يسمح ملف APK بتثبيت Hacker's Keyboard على إصدارات Android الأحدث. [36] [ مطلوب التحقق ]
منصات الأجهزة المُحاكاة
x86
يمكن لـ QEMU محاكاة معمارية i386 وx86_64. بالإضافة إلى وحدة المعالجة المركزية (والتي يمكن تكوينها أيضًا ويمكنها محاكاة عدد من نماذج وحدة المعالجة المركزية من Intel بما في ذلك (اعتبارًا من 3 مارس 2018) Sandy Bridge ، [37] Ivy Bridge ، [38 ] Haswell ، [39] Broadwell [40] [41] و Skylake [39] )، يتم محاكاة الأجهزة التالية:
- محرك أقراص CD / DVD-ROM باستخدام صورة ISO
- محرك الأقراص المرنة
- وحدة تحكم ATA أو وحدة تحكم Serial ATA AHCI
- بطاقة الرسومات : بطاقة Cirrus CLGD 5446 PCI VGA ، بطاقة رسومات Standard-VGA مع Bochs- VBE ، بطاقة رسومات Red Hat QXL VGA
- بطاقة الشبكة : Realtek 8139C+ PCI، NE2000 PCI، NE2000 ISA، PCnet ، E1000 (PCI Intel Gigabit Ethernet) وE1000E (PCIe Intel Gigabit Ethernet) [42] [43]
- واجهة قرص NVMe
- المنفذ التسلسلي
- منفذ موازي
- مكبر صوت الكمبيوتر
- شرائح i440FX/PIIX3 أو Q35/ICH9
- ماوس ولوحة مفاتيح PS/2
- وحدة تحكم SCSI : LSI MegaRAID SAS 1078، LSI53C895A، NCR53C9x كما هو موجود في وحدات تحكم AMD PCscsi وTekram DC-390
- بطاقة الصوت : Sound Blaster 16 ، وAudioPCI ES1370 ، وICH AC'97 ، و Gravis Ultrasound ، و Intel HD Audio [44]
- مؤقت المراقبة (Intel 6300 ESB PCI، أو iB700 ISA)
- وحدات تحكم USB 1.x/2.x/3.x ( UHCI ، EHCI ، xHCI )
- أجهزة USB: الصوت، محول بلوتوث، HID (لوحة المفاتيح/الفأرة/الكمبيوتر اللوحي)، MTP ، واجهة تسلسلية، قارئ بطاقات ذكية CAC ، التخزين ( نقل بالجملة فقط و USB مرفق SCSI )، الكمبيوتر اللوحي Wacom
- أجهزة VirtIO شبه الافتراضية: جهاز كتلة، بطاقة شبكة، وحدة تحكم SCSI، جهاز فيديو، واجهة تسلسلية، برنامج تشغيل البالون ، برنامج تشغيل نظام الملفات 9pfs
- أجهزة Xen شبه الافتراضية: جهاز الكتلة، وبطاقة الشبكة، ووحدة التحكم، وإطار التخزين المؤقت، وجهاز الإدخال
إن تنفيذ BIOS المستخدم بواسطة QEMU بدءًا من الإصدار 0.12 هو SeaBIOS . كما يتم استخدام تنفيذ VGA BIOS الخاص بـ SeaBIOS بدءًا من الإصدار 2.0.0. أما البرامج الثابتة UEFI الخاصة بـ QEMU فهي OVMF. [45]
باور بي سي
باور ماك
يحاكي QEMU الأجهزة الطرفية PowerMac التالية :
- جسر UniNorth PCI
- بطاقة رسوميات متوافقة مع PCI-VGA والتي تقوم بمطابقة ملحقات VESA Bochs
- واجهتان PMAC-IDE مع دعم القرص الصلب والقرص المضغوط (CD-ROM).
- محول PCI NE2000
- ذاكرة الوصول العشوائي غير المتطايرة
- VIA-CUDA مع لوحة مفاتيح وماوس ADB .
يتم استخدام OpenBIOS كبرنامج ثابت.
التحضير
يحاكي QEMU الأجهزة الطرفية PREP التالية :
- جسر PCI
- بطاقة رسوميات متوافقة مع PCI VGA مع ملحقات VESA Bochs
- واجهتا IDE مع دعم القرص الصلب والقرص المضغوط
- محرك الأقراص المرنة
- محول الشبكة NE2000
- واجهة تسلسلية
- إعداد ذاكرة الوصول العشوائي غير المتطايرة
- لوحة مفاتيح وفأرة متوافقة مع الكمبيوتر الشخصي
في هدف PREP، يتم استخدام Open Hack'Ware ، وهو BIOS متوافق مع Open-Firmware .
نظام IBM p
يمكن لـ QEMU محاكاة واجهة sPAPR شبه الافتراضية باستخدام الأجهزة الطرفية التالية:
- جسر PCI، للوصول إلى أجهزة virtio، والرسومات المتوافقة مع VGA، وUSB، وما إلى ذلك.
- محول شبكة الإدخال/الإخراج الافتراضي، ووحدة التحكم SCSI، والواجهة التسلسلية
- ذاكرة الوصول العشوائي غير المتطايرة sPAPR
في هدف sPAPR، يتم استخدام BIOS آخر متوافق مع البرامج الثابتة المفتوحة، يسمى SLOF.
ذراع
أرم32

يحاكي QEMU مجموعة تعليمات ARMv7 (وحتى ARMv5TEJ) مع امتداد NEON. [46] يحاكي أنظمة كاملة مثل لوحة Integrator/CP، ولوحة Versatile الأساسية، ولوحة RealView Emulation الأساسية، وأجهزة المساعد الرقمي الشخصي المستندة إلى XScale، وأجهزة المساعد الرقمي الشخصي Palm Tungsten|E، وأجهزة الكمبيوتر اللوحية المتصلة بالإنترنت Nokia N800 و Nokia N810 ، إلخ. كما يعمل QEMU على تشغيل محاكي Android الذي يعد جزءًا من Android SDK (معظم تطبيقات Android الحالية تعتمد على ARM). بدءًا من الإصدار 2.0.0 من Bada SDK، اختارت Samsung QEMU للمساعدة في التطوير على أجهزة "Wave" المحاكية.
في الإصدارين 1.5.0 و1.6.0، تمت محاكاة Samsung Exynos 4210 (ثنائي النواة Cortex-A9) وVersatile Express ARM Cortex-A9 ARM Cortex-A15 . في الإصدار 1.6.0، تمت محاكاة التعليمات ذات 32 بت الخاصة بهندسة ARMv8 (AArch64)، ولكن التعليمات ذات 64 بت غير مدعومة.
تم تصميم نظام SoC Zynq المستند إلى Xilinx Cortex A9، بالعناصر التالية:
- وحدة المعالجة المركزية Zynq-7000 ARM Cortex-A9
- معالج Zynq-7000 ARM Cortex-A9 MPCore
- عداد توقيت ثلاثي
- وحدة تحكم ذاكرة DDR
- وحدة تحكم DMA (PL330)
- وحدة تحكم الذاكرة الثابتة (فلاش NAND/NOR)
- وحدة التحكم الطرفية SD/SDIO (SDHCI)
- وحدة تحكم Zynq Gigabit Ethernet
- وحدة تحكم USB (EHCI – دعم المضيف فقط)
- وحدة تحكم Zynq UART
- وحدات التحكم SPI و QSPI
- وحدة تحكم I2C
أرم64
هذا القسم فارغ، يمكنك المساعدة بإضافة معلومات إليه. ( أكتوبر 2024 ) |
سبارك
يدعم QEMU كل من معماريات SPARC ذات 32 بت و64 بت .
عندما أصبح البرنامج الثابت في JavaStation (sun4m-Architecture) هو الإصدار 0.8.1 Proll ، [47] تم استبدال بديل PROM المستخدم في الإصدار 0.8.2 بـ OpenBIOS .
سبارك 32
يحاكي QEMU الأجهزة الطرفية sun4m/sun4c/sun4d التالية :
- IOMMU أو وحدات IO
- مخزن إطار TCX (بطاقة الرسوميات)
- لانس (Am7990) إيثرنت
- ذاكرة عشوائية غير متطايرة M48T02/M48T08
- الإدخال/الإخراج الثانوي: المؤقتات، وحدات التحكم في المقاطعة، منافذ Zilog التسلسلية، لوحة المفاتيح ومنطق الطاقة/إعادة الضبط
- وحدة تحكم ESP SCSI مع دعم القرص الصلب والقرص المضغوط
- محرك الأقراص المرنة (غير متوفر في SS-600MP)
- جهاز الصوت CS4231 (فقط على SS-5، لا يعمل حتى الآن)
سبارك 64
يحاكي QEMU جهاز Sun4u (جهاز يشبه UltraSPARC PC)، أو جهاز Sun4v (جهاز يشبه T1 PC)، أو جهاز Niagara (T1) العام باستخدام الأجهزة الطرفية التالية:
- جسر UltraSparc III APB PCI
- بطاقة متوافقة مع PCI VGA مع ملحقات VESA Bochs
- ماوس ولوحة مفاتيح PS/2
- ذاكرة عشوائية غير متطايرة M48T59
- المنافذ التسلسلية المتوافقة مع الكمبيوتر الشخصي
- واجهتا PCI IDE مع دعم القرص الصلب والقرص المضغوط
- القرص المرن
مايكرو بليز
يدعم QEMU الأجهزة الطرفية التالية:
- MicroBlaze مع/بدون MMU، بما في ذلك [ مقطع من الجملة ]
- أجهزة التحكم الطرفية للمؤقت والمقاطعة AXI
- وحدة التحكم في الذاكرة الخارجية AXI
- وحدة تحكم AXI DMA
- إيثرنت Xilinx AXI
- AXI إيثرنت لايت
- AXI UART 16650 وUARTLite
- وحدة تحكم AXI SPI
شبكة ميكو 32
الأجهزة الطرفية المدعومة: من Milkymist SoC
- يو آر تي
- في جي ايه
- بطاقة الذاكرة
- إيثرنت
- وحدة تشكيل مستعمرة
- مؤقت
كريس
أوبن ريسك
آحرون
توجد أشجار خارجية تدعم الأهداف التالية:
- Zilog Z80 [48] محاكاة 48K ZX Spectrum
- HP PA-RISC [49]
- ريسك-V
انظر أيضا
- بقرة صغيرة
- مقارنة بين برامج المحاكاة الافتراضية للمنصات
- أدوات إم تي أو إل
- او في بي سيم
- س
- سيمه
- سبيم
- جي إكسيمول
- صناديق جنوم
مراجع
- ^ "[إعلان] إصدار نسخة QEMU 9.1.1 المستقرة". 21 أكتوبر 2024. تم الاسترجاع 21 أكتوبر 2024 .
- ^ "ترخيص - QEMU".
- ^ "المصطلحات". المعهد الوطني للمعايير والتكنولوجيا . تم الاسترجاع في 2023-04-24 .
- ^ Speed, Richard (2019-04-25). "وصول QEMU 4 مع ألعاب لمحبي Arm، وثوار RISC-V، وPOWER patriots... لقد فهمت الفكرة". www.theregister.co.uk . The Register . مؤرشف من الأصل في 2019-10-01 . تم الاسترجاع 2019-10-01 .
- ^ "رخصة - QEMU". wiki.qemu.org .
- ^ "حول QEMU". qemu.readthedocs.io .
- ^ "قائمة دعم نظام التشغيل QEMU". www.claunia.com . مؤرشف من الأصل في 2014-05-13 . تم استرجاعه في 2024-03-21 . التغييرات المتكررة المسجلة في الأرشيف في السنوات التي سبقت الخروج من الخدمة.
{{cite web}}:CS1 maint: postscript ( الرابط ) - ^ "الهندسة المعمارية المضيفة المدعومة".
- ^ "QEMU PRIP 1 - support for MIPS64 Release 6 - PRPL". wiki.prplfoundation.org . مؤرشف من الأصل في 2017-04-21 . تم الاسترجاع في 2014-12-22 .
- ^ "[Qemu-devel] يعلن: إصدار 0.10.0 من QEMU". lists.gnu.org .
- ^ Filardo, Nathaniel (11 سبتمبر 2007). "نقل QEMU إلى الخطة 9: QEMU Internals and Port Strategy" (PDF) . gsoc.cat-v.org .-- مراجعة لكيفية عمل الدنجن القديم
- ^ "تم إصدار KQEMU 1.3.0pre10 - بموجب GPL [LWN.net]". Lwn.net. 6 فبراير 2007. تم الاسترجاع في 2009-01-03 .
- ^ Liguori, Anthony (10 أغسطس 2009). "[Qemu-devel] [PATCH 1/2] إلغاء دعم الذاكرة الكبيرة عن طريق إزالة kqemu" . تم الاسترجاع في 11 مارس 2010 .
- ^ "تكوين طراز وحدة المعالجة المركزية QEMU / KVM". وثائق QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ^ "HAXM أصبح مفتوح المصدر". مطورو QEMU. 2017-11-17 . تم الاسترجاع في 2017-01-14 .
HAXM أصبح الآن مفتوح المصدر
- ^ "Intel Hardware Accelerated Execution Manager". Intel. 2013-11-27 . تم الاسترجاع في 2014-05-12 .
Intel Hardware Accelerated Execution Manager (Intel® HAXM) هو محرك محاكاة افتراضية بمساعدة الأجهزة (مشرف افتراضي) يستخدم تقنية Intel Virtualization Technology (Intel® VT) لتسريع محاكاة تطبيقات Android على جهاز مضيف.
- ^ ab "Invocation". توثيق QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ^ "وثائق مستخدم محاكي QEMU". qemu.weilnetz.de . مؤرشف من الأصل في 2019-04-27 . تم الاسترجاع في 2018-04-10 .
- ^ "التمهيد من صورة ISO باستخدام qemu". نصائح Linux . 3 أغسطس 2015.
- ^ "Qemu Readme". GitHub . 26 أكتوبر 2021.
- ^ "VirtualBox Developer FAQ" . تم الاسترجاع في 2015-02-02 .
- ^ "Xen ARM مع ملحقات المحاكاة الافتراضية".
- ^ "Oracle and Sun Microsystems – Strategic Acquisitions – Oracle" (PDF) . www.sun.com .
- ^ إزالة الغموض عن Xen HVM محفوظ في 22 ديسمبر 2007 على موقع Wayback Machine
- ^ إعلان win4lin VDS محفوظ في 10 فبراير 2008، على موقع Wayback Machine
- ^ إعلان Win4Solaris محفوظ في 23 ديسمبر 2007، على موقع Wayback Machine
- ^ “المسلسل ICE”. serialice.com .
- ^ "WinUAE 3.0.0". لوحة Amiga الإنجليزية. 2014-12-17 . تم الاسترجاع 2016-03-25 .
- ^ "يونيكورن و QEMU". محرك يونيكورن .
- ^ "دروس محاكي Limbo". Virtual Machinery . تم الاسترجاع في 2023-09-02 .
- ^ كيفية تثبيت Windows على أي جهاز يعمل بنظام Android التثبيت الكامل [بدون روت] (باستخدام Limbo PC Emulator) ، تم الاسترجاع 2023-09-02
- ^ “الهند: مشاركة نظام التشغيل المحمول 2022”. ستاتيستا . تم الاسترجاع بتاريخ 2023-09-02 .
- ^ "تنزيلات Limbo". Virtual Machinery . تم الاسترجاع في 2023-09-02 .
- ^ "التنزيلات". GitHub . تم الاسترجاع في 2023-09-02 .
- ^ Weidner, Klaus (2023-09-01)، klausw/hackerskeyboard ، تم الاسترجاع في 2023-09-02
- ^ "Hacker's Keyboard - Apps on Google Play". play.google.com . تم الاسترجاع في 2023-09-02 .
- ^ "[Qemu-devel] [PATCH 3/3] إضافة نموذج وحدة المعالجة المركزية SandyBridge". lists.gnu.org .
- ^ "Qemu-Changelog-2.3 x86". wiki.qemu.org .
- ^ من "QEMU-changelog-2.6, x86 KVM". wiki.qemu.org .
- ^ "QEMU-changelog-2.1, x86 KVM". wiki.qemu.org .
- ^ "QEMU-changelog-2.5, نماذج وميزات وحدة المعالجة المركزية x86". wiki.qemu.org .
- ^ https://qemu.weilnetz.de/doc/qemu-doc.html#pcsys_005fnetwork محفوظ في 2019-04-27 على موقع Wayback Machine "i82551، i82557b، i82559er، ne2k_pci، ne2k_isa، pcnet، rtl8139، e1000، smc91c111، lance وmcf_fec"
- ^ http://pclosmag.com/html/issues/201208/page11.html الشبكات على QEMU: إعداد تقييم E1000 وNovell NE2000 ISA
- ^ "ChangeLog/0.14" . تم الاسترجاع في 2011-08-08 .
- ^ "UEFI/OVMF - Ubuntu Wiki".
- ^ "gitorious.org Git - rowboat: external-qemu.git/commit". gitorious.org .
- ^ "لينكس زايتسيف".090427 الناس.redhat.com
- ^ "هدف QEMU Z80". مؤرشف من الأصل في 2016-06-06.090506 الصفحة الرئيسية.ntlworld.com
- ^ "روابط QEMU".090506 nongnu.org
روابط خارجية
- الموقع الرسمي
- توثيق QEMU
- محاكاة الأنظمة باستخدام QEMU مقالة من IBM developerWorks بقلم M. Tim Jones
- صفحة مشروع QVM86
- ديبيان على جهاز ARM محاكي
- محاكاة منفذ Fedora ARM باستخدام QEMU
- كتاب ويكيبيديا "QEMU وKVM" (باللغة الألمانية، أو مترجمة بالحاسوب إلى الإنجليزية)
- QEMU على نظام التشغيل Windows
- ملفات QEMU الثنائية لنظام Windows
- محاكاة Microblaze باستخدام QEMU
- UnifiedSessionsManager – تعريف غير رسمي لملف تكوين QEMU/KVM
- Couverture، مشروع تغطية التعليمات البرمجية المستند إلى QEMU
- محاكي UTM لنظام Mac
