المحاكاة الافتراضية x86
المحاكاة الافتراضية x86 هي استخدام إمكانيات المحاكاة الافتراضية المدعومة بالأجهزة على وحدة المعالجة المركزية x86 / x86-64 .
في أواخر التسعينيات، تم تحقيق المحاكاة الافتراضية لمعالجات x86 باستخدام تقنيات برمجية معقدة ، كانت ضرورية لتعويض افتقار المعالج إلى إمكانيات المحاكاة الافتراضية المدعومة بالأجهزة مع الحفاظ على أداء مقبول . في عامي 2005 و2006، قدمت كل من إنتل ( VT-x ) وإيه إم دي ( AMD-V ) دعمًا محدودًا للمحاكاة الافتراضية للأجهزة، مما أتاح استخدام برامج محاكاة افتراضية أبسط، لكنه لم يُحقق سوى تحسينات طفيفة في السرعة. [ 1 ] أما الدعم الأكبر للأجهزة، والذي أتاح تحسينات كبيرة في السرعة، فقد جاء مع طرازات المعالجات اللاحقة.
المحاكاة الافتراضية القائمة على البرمجيات
يركز النقاش التالي فقط على محاكاة الوضع المحمي لبنية x86 .
في الوضع المحمي، تعمل نواة نظام التشغيل في مساحة النواة على أعلى مستوى من الامتيازات ( الحلقة 0) مما يسمح لها بتكوين وحدة إدارة الذاكرة (MMU) وإدارة الذاكرة الفعلية والتحكم المباشر في أجهزة الإدخال/الإخراج الطرفية، بينما تعمل التطبيقات في مساحة المستخدم على مستوى امتيازات أقل (مثل الحلقة 3)، حيث تقتصر على مساحات العناوين الافتراضية الخاصة بها ويجب عليها استدعاء استدعاءات النظام لطلب عمليات الإدخال/الإخراج أو الخدمات المميزة الأخرى من النواة.
في المحاكاة الافتراضية القائمة على البرمجيات، يتمتع نظام التشغيل المضيف بوصول مباشر إلى المكونات المادية، بينما تتمتع أنظمة التشغيل الضيفة بوصول محدود إليها، على غرار تطبيقات مساحة المستخدم الأخرى في نظام التشغيل المضيف. إحدى الطرق المستخدمة في المحاكاة الافتراضية القائمة على برمجيات x86 لتنفيذ هذه الآلية تُسمى "إلغاء امتيازات الحلقة" ، والتي تتضمن تشغيل نظام التشغيل الضيف في حلقة أعلى (أقل امتيازًا) من 0، بحيث يمكن لبرنامج إدارة المحاكاة الافتراضية اعتراض محاولات تنفيذ التعليمات ذات الامتيازات ومعالجتها. [ 2 ]
ثلاث تقنيات جعلت محاكاة الوضع المحمي ممكنة:
- تُستخدم الترجمة الثنائية لإعادة كتابة بعض تعليمات الحلقة 0 باستخدام تعليمات الحلقة 3، مثل POPF ، والتي قد تفشل دون تنبيه أو تتصرف بشكل مختلف عند تنفيذها فوق الحلقة 0، [ 3 ] [ 4 ] : 3 مما يجعل المحاكاة الافتراضية التقليدية القائمة على اعتراض التعليمات ومحاكاتها مستحيلة. [ 4 ] : 1 [ 5 ] ولتحسين الأداء، يجب تخزين الكتل الأساسية المترجمة مؤقتًا بطريقة متسقة تكشف عن تعديل التعليمات البرمجية (المستخدم في VxDs على سبيل المثال)، أو إعادة استخدام الصفحات بواسطة نظام التشغيل الضيف، أو حتى التعليمات البرمجية ذاتية التعديل . [ 6 ]
- يتطلب عدد من هياكل البيانات الرئيسية التي يستخدمها المعالج محاكاةً برمجية . ولأن معظم أنظمة التشغيل تستخدم ذاكرة افتراضية مُقسّمة إلى صفحات ، فإن منح نظام التشغيل الضيف وصولاً مباشراً إلى وحدة إدارة الذاكرة (MMU) يعني فقدان مدير المحاكاة الافتراضية للتحكم ، لذا يجب تكرار بعض مهام وحدة إدارة الذاكرة x86 برمجياً لنظام التشغيل الضيف باستخدام تقنية تُعرف باسم جداول الصفحات الظلية . [ 7 ] : 5 [ 4 ] : 2 يتضمن ذلك منع نظام التشغيل الضيف من الوصول إلى إدخالات جدول الصفحات الفعلية عن طريق اعتراض محاولات الوصول ومحاكاتها برمجياً. يستخدم تصميم x86 حالة مخفية لتخزين مُعرّفات القطاعات في المعالج، لذا بمجرد تحميل مُعرّفات القطاعات في المعالج، قد تُستبدل الذاكرة التي حُمّلت منها، ولا توجد طريقة لاستعادة المُعرّفات من المعالج. لذلك، يجب استخدام جداول مُعرّفات الظل لتتبع التغييرات التي يُجريها نظام التشغيل الضيف على جداول المُعرّفات. [ 5 ]
- محاكاة أجهزة الإدخال/الإخراج: يجب محاكاة الأجهزة غير المدعومة على نظام التشغيل الضيف بواسطة محاكي أجهزة يعمل في نظام التشغيل المضيف. [ 8 ]
تُسبب هذه التقنيات بعض التكاليف الإضافية على الأداء بسبب عدم دعمها لتقنية المحاكاة الافتراضية لوحدة إدارة الذاكرة (MMU)، مقارنةً بجهاز افتراضي يعمل على بنية قابلة للمحاكاة الافتراضية أصلاً مثل IBM System/370 . [ 4 ] : 10 [ 9 ] : 17 و21
في الحواسيب المركزية التقليدية، كان برنامج إدارة الأجهزة الافتراضية من النوع الأول (Hypervisor) قائمًا بذاته ولا يعتمد على أي نظام تشغيل أو يُشغّل أي تطبيقات للمستخدم بنفسه. في المقابل، كانت منتجات المحاكاة الافتراضية الأولى x86 مُوجّهة لأجهزة محطات العمل، وكانت تُشغّل نظام تشغيل ضيف داخل نظام تشغيل مُضيف عن طريق تضمين برنامج إدارة الأجهزة الافتراضية في وحدة نواة تعمل تحت نظام التشغيل المُضيف (برنامج إدارة الأجهزة الافتراضية من النوع الثاني). [ 8 ]
ثار جدلٌ حول إمكانية محاكاة بنية x86 افتراضيًا دون أي دعمٍ من الأجهزة، كما وصفها بوبيك وغولدبيرغ . وأشار باحثو VMware في ورقة بحثية نُشرت عام 2006 في مؤتمر ASPLOS إلى أن التقنيات المذكورة أعلاه جعلت منصة x86 قابلةً للمحاكاة الافتراضية، بمعنى أنها استوفت المعايير الثلاثة لبوبيك وغولدبيرغ، وإن لم يكن ذلك باستخدام تقنية المحاكاة التقليدية. [ 4 ] : 2-3
اتخذت أنظمة أخرى مثل دينالي ، و L4 ، وزين مسارًا مختلفًا يُعرف باسم المحاكاة الافتراضية الجزئية ، والذي يتضمن نقل أنظمة التشغيل لتشغيلها على الآلة الافتراضية الناتجة، والتي لا تُنفذ أجزاء مجموعة تعليمات x86 الفعلية التي يصعب محاكاتها افتراضيًا. تتمتع عمليات الإدخال/الإخراج المُحاكاة افتراضيًا جزئيًا بمزايا أداء كبيرة كما هو موضح في ورقة عمل زين الأصلية في مؤتمر SOSP '03. [ 10 ]
لم يسمح الإصدار الأولي من x86-64 ( AMD64 ) بالمحاكاة الافتراضية الكاملة للبرمجيات فقط بسبب عدم دعم التجزئة في الوضع الطويل ، مما جعل حماية ذاكرة المشرف مستحيلة، وخاصةً حماية معالج الاعتراضات الذي يعمل في مساحة عناوين نواة النظام الضيف. [ 11 ] [ 12 ] : 11 و20. أضافت معالجات AMD 64 بت من الإصدار D وما بعده (كقاعدة عامة، تلك المصنعة بتقنية 90 نانومتر أو أقل) دعمًا أساسيًا للتجزئة في الوضع الطويل، مما جعل من الممكن تشغيل أنظمة ضيف 64 بت على أنظمة مضيفة 64 بت عبر الترجمة الثنائية. لم تُضف Intel دعم التجزئة إلى تطبيقها x86-64 ( Intel 64 )، مما جعل المحاكاة الافتراضية للبرمجيات فقط 64 بت مستحيلة على معالجات Intel، لكن دعم Intel VT-x يجعل المحاكاة الافتراضية المدعومة بالأجهزة 64 بت ممكنة على منصة Intel. [ 13 ] [ 14 ] : 4
في بعض المنصات، من الممكن تشغيل نظام تشغيل ضيف 64 بت على نظام تشغيل مضيف 32 بت إذا كان المعالج الأساسي 64 بت ويدعم ملحقات المحاكاة الافتراضية اللازمة.
المحاكاة الافتراضية المدعومة بالأجهزة
عالج الجيل الأول من تقنية المحاكاة الافتراضية للأجهزة x86 مشكلة التعليمات ذات الامتيازات. أما مشكلة انخفاض أداء ذاكرة النظام الافتراضية، فقد عولجت بتقنية المحاكاة الافتراضية لوحدة إدارة الذاكرة (MMU) التي أُضيفت لاحقًا إلى مجموعة الشرائح. في عامي 2005 و2006، طورت شركتا إنتل وإيه إم دي (بشكل مستقل) امتدادات جديدة للمعالجات لبنية x86، مما أدى إلى ظهور نوعين منفصلين من امتدادات المحاكاة الافتراضية x86 غير المتوافقة ثنائيًا - وهما VT-x من إنتل وAMD-V.
وحدات المعالجة المركزية
وضع 8086 الافتراضي
نظرًا لأن معالج Intel 80286 لم يكن قادرًا على تشغيل تطبيقات DOS المتزامنة بكفاءة في الوضع المحمي، فقد قدمت Intel وضع 8086 الافتراضي في شريحة 80386 ، والذي وفر معالجات 8086 افتراضية على شرائح 386 وما بعدها. ومع ذلك، لم يتوفر دعم الأجهزة لمحاكاة الوضع المحمي نفسه إلا بعد 20 عامًا. [ 15 ]
تقنية المحاكاة الافتراضية من AMD (AMD-V)

قامت AMD بتطوير الجيل الأول من ملحقات المحاكاة الافتراضية تحت الاسم الرمزي "Pacifica"، ونشرتها في البداية باسم AMD Secure Virtual Machine (SVM)، [ 16 ] ولكن تم تسويقها لاحقًا تحت العلامة التجارية AMD Virtualization ، والمختصرة بـ AMD-V .
في 23 مايو 2006، أصدرت AMD معالجات Athlon 64 ( "أورليانز" ) و Athlon 64 X2 ( "ويندسور" ) و Athlon 64 FX ( "ويندسور" ) كأول معالجات AMD التي تدعم هذه التقنية.
تتوفر تقنية AMD-V أيضًا في معالجات عائلة Athlon 64 و Athlon 64 X2 ذات الإصدارات "F" أو "G" على مقبس AM2 ، ومعالجات Turion 64 X2 ، ومعالجات Opteron من الجيل الثاني [ 17 ] والجيل الثالث [ 18 ] ، ومعالجات Phenom و Phenom II . تدعم معالجات APU Fusion تقنية AMD-V. لا تدعم أي من معالجات مقبس 939 تقنية AMD-V. معالجات Sempron الوحيدة التي تدعمها هي معالجات APU ووحدات المعالجة المركزية المكتبية Huron و Regor و Sargas .
تدعم معالجات AMD Opteron بدءًا من خط Family 0x10 Barcelona، ومعالجات Phenom II، تقنية افتراضية للأجهزة من الجيل الثاني تسمى Rapid Virtualization Indexing (المعروفة سابقًا باسم Nested Page Tables أثناء تطويرها)، والتي اعتمدتها Intel لاحقًا باسم Extended Page Tables (EPT).
اعتبارًا من عام 2019، تدعم جميع معالجات AMD القائمة على معمارية Zen تقنية AMD-V.
علامة وحدة المعالجة المركزية لـ AMD-V هي "svm". يمكن التحقق من ذلك في مشتقات BSD عبر dmesg أو sysctl وفي Linux عبر . [ 19 ] تتضمن التعليمات في AMD-V كلاً من VMRUN وVMLOAD وVMSAVE وCLGI وVMMCALL وINVLPGA وSKINIT وSTGI./proc/cpuinfo
في بعض اللوحات الأم ، يجب على المستخدمين تفعيل ميزة AMD SVM في إعدادات BIOS قبل أن تتمكن التطبيقات من استخدامها. [ 20 ]
تقنية المحاكاة الافتراضية من إنتل (VT-x)

كانت تقنية VT-x تُعرف سابقًا بالاسم الرمزي "Vanderpool"، وهي تمثل تقنية إنتل للمحاكاة الافتراضية على منصة x86. في 14 نوفمبر 2005، أصدرت إنتل طرازين من معالجات بنتيوم 4 (الطراز 662 والطراز 672) كأول معالجات إنتل تدعم تقنية VT-x. يُرمز لخاصية VT-x في وحدة المعالجة المركزية بالرمز "vmx"؛ ويمكن التحقق من ذلك في نظام لينكس عبر الأمر `vmx` /proc/cpuinfo، أو في نظام macOS عبر الأمر ` sysctl machdep.cpu.featuresvmx`. [ 19 ] [ 21 ] [ 22 ]
يشير اختصار "VMX" إلى ملحقات الآلة الافتراضية، والتي تضيف 13 تعليمة جديدة: VMPTRLD، وVMPTRST، وVMCLEAR، وVMREAD، وVMWRITE، وVMCALL، وVMLAUNCH، وVMRESUME، وVMXOFF، وVMXON، وINVEPT، وINVVPID، وVMFUNC. [ 23 ] تسمح هذه التعليمات بالدخول والخروج من وضع التنفيذ الافتراضي حيث يعتبر نظام التشغيل الضيف نفسه يعمل بصلاحيات كاملة (الحلقة 0)، بينما يظل نظام التشغيل المضيف محميًا.
اعتبارًا من عام 2015تدعم معظم معالجات إنتل الحديثة للخوادم وأجهزة سطح المكتب والأجهزة المحمولة تقنية VT-x، باستثناء بعض معالجات إنتل أتوم . [ 24 ] في بعض اللوحات الأم ، يجب على المستخدمين تفعيل ميزة VT-x من إنتل في إعدادات BIOS قبل أن تتمكن التطبيقات من استخدامها. [ 25 ]
بدأت إنتل بتضمين جداول الصفحات الموسعة (EPT)، [ 26 ] وهي تقنية لمحاكاة جداول الصفحات، [ 27 ] منذ معمارية نيهاليم ، [ 28 ] [ 29 ] التي صدرت عام 2008. وفي عام 2010، أضافت ويستمير دعمًا لتشغيل المعالج المنطقي مباشرةً في الوضع الحقيقي - وهي ميزة تُسمى "الضيف غير المقيد"، والتي تتطلب وجود EPT للعمل. [ 30 ] [ 31 ]
منذ إطلاق معمارية Haswell الدقيقة (في عام 2013)، بدأت إنتل بتضمين تقنية VMCS shadowing لتسريع المحاكاة الافتراضية المتداخلة لـ VMMs. [ 32 ] بنية التحكم في الآلة الافتراضية (VMCS) هي بنية بيانات في الذاكرة موجودة مرة واحدة فقط لكل آلة افتراضية، وتتم إدارتها بواسطة VMM. مع كل تغيير في سياق التنفيذ بين الآلات الافتراضية المختلفة، يتم استعادة VMCS للآلة الافتراضية الحالية، مما يحدد حالة المعالج الافتراضي للآلة الافتراضية. [ 33 ] بمجرد استخدام أكثر من VMM واحد أو VMMs متداخلة، تظهر مشكلة مشابهة لتلك التي استدعت ابتكار إدارة جدول صفحات الظل، كما هو موضح أعلاه . في مثل هذه الحالات، يلزم نسخ VMCS مؤقتًا عدة مرات (في حالة التداخل) وتنفيذه جزئيًا برمجيًا في حال عدم وجود دعم مادي من المعالج. ولجعل معالجة VMCS الظلية أكثر كفاءة، قامت إنتل بتوفير دعم مادي لتقنية VMCS shadowing. [ 34 ]
تقنية المحاكاة الافتراضية عبر الإنترنت (VIA VT)
تدعم معالجات VIA Nano من سلسلة 3000 وما فوقها تقنية المحاكاة الافتراضية VIA VT المتوافقة مع Intel VT-x. [ 35 ] تتوفر تقنية EPT في معالج Zhaoxin ZX-C، وهو معالج مُشتق من VIA QuadCore-E و Eden X4، على غرار معالج Nano C4350AL . [ 36 ]
تقنية المحاكاة الافتراضية للمقاطعات (AMD AVIC و Intel APICv)
في عام 2012، أعلنت AMD عن وحدة التحكم المتقدمة في المقاطعات الافتراضية ( AVIC ) بهدف تقليل الحمل الزائد للمقاطعات في بيئات المحاكاة الافتراضية. [ 37 ] هذه التقنية، كما أُعلن عنها، لا تدعم x2APIC . [ 38 ] في عام 2016، أصبحت AVIC متاحة في معالجات AMD من عائلة 15h، طرازات 6Xh (Carrizo) وما بعدها. [ 39 ]
في عام 2012 أيضًا، أعلنت إنتل عن تقنية مماثلة للمقاطعات ومحاكاة APIC ، والتي لم تكن تحمل اسمًا تجاريًا عند الإعلان عنها. [ 40 ] لاحقًا، تم تسويقها تحت اسم محاكاة APIC ( APICv ) [ 41 ] وأصبحت متاحة تجاريًا في سلسلة معالجات Ivy Bridge EP من إنتل، والتي تُباع باسم Xeon E5-26xx v2 (أُطلقت في أواخر عام 2013) وباسم Xeon E5-46xx v2 (أُطلقت في أوائل عام 2014). [ 42 ]
وحدة معالجة الرسومات
لا تُعدّ تقنية المحاكاة الافتراضية للرسومات جزءًا من بنية x86. توفر تقنية المحاكاة الافتراضية للرسومات من إنتل (GVT) هذه التقنية كجزء من بنى الرسومات الأحدث. على الرغم من أن وحدات المعالجة المسرعة ( APUs) من AMD تُطبّق مجموعة تعليمات x86-64 ، إلا أنها تُطبّق بنى الرسومات الخاصة بشركة AMD ( TeraScale و GCN و RDNA ) التي لا تدعم المحاكاة الافتراضية للرسومات. كانت Larrabee البنية الدقيقة الوحيدة للرسومات المبنية على x86، ولكن من المرجح أنها لم تكن تدعم المحاكاة الافتراضية للرسومات.
مجموعة الشرائح
يتم تنفيذ المحاكاة الافتراضية للذاكرة والإدخال/الإخراج بواسطة مجموعة الشرائح . [ 43 ] عادةً ما يجب تفعيل هذه الميزات بواسطة نظام الإدخال والإخراج الأساسي (BIOS)، والذي يجب أن يكون قادرًا على دعمها وأن يكون مُعدًا لاستخدامها.
تقنية المحاكاة الافتراضية لوحدة إدارة الذاكرة (AMD-Vi و Intel VT-d)

تتيح وحدة إدارة ذاكرة الإدخال/الإخراج (IOMMU) للأجهزة الافتراضية الضيفة استخدام الأجهزة الطرفية مباشرةً ، مثل الإيثرنت وبطاقات الرسومات المُسرّعة ووحدات تحكم محركات الأقراص الصلبة، من خلال الوصول المباشر إلى الذاكرة وإعادة تعيين المقاطعات . ويُطلق على هذا أحيانًا اسم تمرير PCI . [ 44 ]
تتيح وحدة إدارة الذاكرة للإدخال/الإخراج (IOMMU) لأنظمة التشغيل إمكانية الاستغناء عن مخازن الارتداد اللازمة للتواصل مع الأجهزة الطرفية التي تكون مساحات عناوين ذاكرتها أصغر من مساحة عناوين ذاكرة نظام التشغيل، وذلك باستخدام ترجمة عناوين الذاكرة. وفي الوقت نفسه، تُمكّن وحدة IOMMU أنظمة التشغيل والمشرفين من منع الأجهزة المعيبة أو الخبيثة من اختراق أمان الذاكرة .
أصدرت كل من شركتي AMD و Intel مواصفات IOMMU الخاصة بهما:
- تقنية المحاكاة الافتراضية للإدخال/الإخراج من AMD، "AMD-Vi"، والتي كانت تسمى في الأصل "IOMMU" [ 45 ]
- تتضمن معظم معالجات إنتل الحديثة المتطورة (وليس جميعها) منذ معمارية Core 2 تقنية "الافتراضية للإدخال/الإخراج الموجه" (VT-d) [ 46 ] . [ 47 ]
بالإضافة إلى دعم وحدة المعالجة المركزية، يجب أن تدعم كل من شريحة اللوحة الأم وبرنامج النظام الثابت ( BIOS أو UEFI ) وظيفة محاكاة الإدخال/الإخراج IOMMU بشكل كامل لكي تكون قابلة للاستخدام. لا يمكن محاكاة سوى أجهزة PCI أو PCI Express التي تدعم إعادة ضبط مستوى الوظيفة (FLR) بهذه الطريقة، حيث إنها ضرورية لإعادة تعيين وظائف الأجهزة المختلفة بين الأجهزة الافتراضية. [ 48 ] [ 49 ] إذا كان الجهاز المراد تعيينه لا يدعم مقاطعات الإشارة بالرسائل (MSI)، فيجب ألا يتشارك خطوط المقاطعة مع أجهزة أخرى حتى يكون التعيين ممكنًا. [ 50 ] يمكن تعيين جميع أجهزة PCI التقليدية الموجهة عبر جسر PCI/ PCI-X إلى PCI Express إلى جهاز افتراضي ضيف دفعة واحدة فقط؛ أما أجهزة PCI Express فلا تخضع لهذا القيد.
تقنية المحاكاة الافتراضية للشبكات (VT-c)
- تقنية "الافتراضية للاتصال" من إنتل (VT-c). [ 51 ]
تقنية PCI-SIG للمحاكاة الافتراضية للإدخال/الإخراج أحادي الجذر (SR-IOV)
توفر تقنية PCI-SIG Single Root I/O Virtualization (SR-IOV) مجموعة من طرق المحاكاة الافتراضية العامة (غير الخاصة بمعالجات x86) للإدخال/الإخراج استنادًا إلى الأجهزة الأصلية لـ PCI Express (PCIe)، كما هو موحد من قبل PCI-SIG: [ 52 ]
- تدعم خدمات ترجمة العناوين (ATS) خاصية الإدخال/الإخراج الأصلية عبر PCI Express من خلال ترجمة العناوين. ويتطلب ذلك دعم المعاملات الجديدة لتكوين هذه الترجمات.
- يدعم نظام الإدخال/الإخراج أحادي الجذر (SR-IOV أو SRIOV) تقنية الإدخال/الإخراج الأصلية في بنى PCI Express المعقدة أحادية الجذر الحالية. ويتطلب ذلك دعم إمكانيات جديدة للأجهزة لتكوين مساحات تكوين افتراضية متعددة. [ 53 ]
- يدعم Multi-root IOV (MR-IOV) تقنية IOV الأصلية في التكوينات الجديدة (على سبيل المثال، خوادم الشفرات) من خلال البناء على SR-IOV لتوفير مجمعات جذرية متعددة تشترك في تسلسل هرمي مشترك لـ PCI Express.
في تقنية SR-IOV، وهي الأكثر شيوعًا، يقوم مدير الأجهزة الافتراضية (VMM) المضيف بتهيئة الأجهزة المدعومة لإنشاء وتخصيص نسخ افتراضية من مساحات تهيئتها، بحيث يمكن للأجهزة الافتراضية الضيفة تهيئة موارد هذه النسخ والوصول إليها مباشرةً. [ 54 ] مع تفعيل SR-IOV، تصبح واجهات الشبكة الافتراضية متاحة مباشرةً للأجهزة الضيفة، [ 55 ] مما يُغني عن تدخل مدير الأجهزة الافتراضية ويؤدي إلى أداء عام عالٍ؛ [ 53 ] على سبيل المثال، تحقق SR-IOV أكثر من 95% من عرض نطاق الشبكة الأساسي في مركز بيانات ناسا الافتراضي [ 56 ] وفي سحابة أمازون العامة . [ 57 ] [ 58 ]
انظر أيضاً
- مقارنة برامج محاكاة التطبيقات
- مقارنة برامج المحاكاة الافتراضية للمنصات
- المحاكاة الافتراضية المدعومة بالأجهزة
- برنامج إدارة الأجهزة الافتراضية
- محاكاة الإدخال/الإخراج
- محاكاة الشبكة
- المحاكاة الافتراضية على مستوى نظام التشغيل
- الجدول الزمني لتطوير تقنية المحاكاة الافتراضية
- آلة افتراضية
- قائمة الأجهزة الداعمة لـ IOMMU
- ترجمة عناوين المستوى الثاني (SLT)
- المقاطعات التي يتم الإشارة إليها بالرسائل (MSI)
مراجع
- ↑ مقارنة بين تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86، كيث آدامز وأولي أغيسن، في إم وير، مؤتمر ASPLOS'06، 21-25 أكتوبر 2006، سان خوسيه، كاليفورنيا، الولايات المتحدة الأمريكية. مؤرشف في 24 أكتوبر 2022 على موقع Wayback Machine. "من المثير للدهشة أننا وجدنا أن دعم الجيل الأول من الأجهزة نادرًا ما يوفر مزايا في الأداء مقارنةً بتقنيات البرمجيات الحالية. ونعزو هذا الوضع إلى ارتفاع تكاليف الانتقال بين بيئة إدارة الأجهزة الافتراضية والضيف، ونموذج برمجة جامد لا يترك مجالًا كبيرًا لمرونة البرمجيات في إدارة كلٍ من وتيرة هذه الانتقالات وتكلفتها."
- ↑ "تقنية المحاكاة الافتراضية من إنتل: ملحقات المحاكاة الافتراضية للمعالج وتقنية التنفيذ الموثوق من إنتل" (ملف PDF) . Intel.com. 2007. مؤرشف (ملف PDF) من الأصل بتاريخ 21 مايو 2015. تم الاطلاع عليه بتاريخ 12 ديسمبر 2016 .
- ↑ "البرنامج التقني لـ USENIX - ملخص - ندوة الأمن - 2000" . Usenix.org. 29 يناير 2002. مؤرشف من الأصل بتاريخ 10 يونيو 2010. تم الاطلاع عليه بتاريخ 2 مايو 2010 .
- 1 2 3 4 5 "مقارنة بين تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86" (ملف PDF) . VMware. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 20 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
- 1 2 براءة اختراع أمريكية رقم 6,397,242
- ↑ براءة اختراع أمريكية رقم 6,704,925
- ↑ "الافتراضية: اعتبارات معمارية ومعايير تقييم أخرى" (ملف PDF) . VMware. مؤرشف (ملف PDF) من الأصل بتاريخ 6 فبراير 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
- 1 2 براءة اختراع أمريكية رقم 6,496,847
- ↑ "تقنية VMware ودعم الأجهزة" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 17 يوليو 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
- ↑ "زين وفن المحاكاة الافتراضية" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 29-09-2014.
- ↑ "كيف أدى إيقاف تجزئة الذاكرة في وضع AMD64 الطويل إلى تعطيل VMware" . Pagetable.com. 9 نوفمبر 2006. مؤرشف من الأصل في 18 يوليو 2011. تم الاطلاع عليه في 2 مايو 2010 .
- ↑ "تقنية المحاكاة الافتراضية لوحدة المعالجة المركزية وVMware" (ملف PDF) . VMware. مؤرشف (ملف PDF) من الأصل بتاريخ 17 يوليو 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
- ↑ "قاعدة معارف VMware: متطلبات الأجهزة والبرامج الثابتة لأنظمة التشغيل الضيف 64 بت" . Kb.vmware.com. مؤرشف من الأصل بتاريخ 19 أبريل 2010. تم الاطلاع عليه بتاريخ 2 مايو 2010 .
- ↑ "تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86" (ملف PDF) . مؤرشف من النسخة الأصلية (PDF) بتاريخ 2010-01-05 . تم الاطلاع عليه بتاريخ 2010-05-02 .
- ↑ ياغر، توم (5 نوفمبر 2004). "إرسال برمجيات للقيام بوظيفة الأجهزة | الأجهزة - إنفوورلد" . Images.infoworld.com. مؤرشف من الأصل في 18 أكتوبر 2014. تم الاطلاع عليه في 8 يناير 2014 .
- ↑ "33047_SecureVirtualMachineManual_3-0.book" (ملف PDF) . مؤرشف (PDF) من النسخة الأصلية بتاريخ 2012-03-05 . تم الاطلاع عليه بتاريخ 2010-05-02 .
- ↑ "ما هي الاختلافات الرئيسية بين معالجات AMD Opteron من الجيل الثاني ومعالجات AMD Opteron من الجيل الأول؟" . amd.com . مؤرشف من الأصل في 15 أبريل 2009. تم الاطلاع عليه في 4 فبراير 2012 .
- ↑ "ما هي تحسينات المحاكاة الافتراضية التي تتميز بها معالجات AMD Opteron رباعية النواة؟" . amd.com . مؤرشف من الأصل في 16 أبريل 2009. تم الاطلاع عليه في 4 فبراير 2012 .
- 1 2 لمعرفة ما إذا كان معالجك يدعم المحاكاة الافتراضية للأجهزة. مؤرشف بتاريخ 25-11-2012 في Wayback Machine Intel 2012.
- ↑ "كيفية تفعيل تقنية Intel VTx وتقنية AMD SVM؟" . الدعم . شركة QNAP Systems. مؤرشف من الأصل بتاريخ 7 مارس 2018. تم الاطلاع عليه بتاريخ 23 ديسمبر 2020 .
- ↑ "معالج إنتل بنتيوم 4 662 - HH80547PG1042MH" . www.cpu-world.com . مؤرشف من الأصل بتاريخ 11 مارس 2025. تم الاطلاع عليه بتاريخ 1 فبراير 2025 .
- ↑ "معالج إنتل بنتيوم 4 672 - HH80547PG1122MH" . www.cpu-world.com . مؤرشف من الأصل بتاريخ 2025-03-06 . تم الاطلاع عليه بتاريخ 2025-02-01 .
- ↑ إنتل (أكتوبر 2019). "دليل مطوري البرامج لبنيتي إنتل® 64 و IA-32" . intel.com . شركة إنتل . تاريخ الاسترجاع: 4 يناير 2020 .
- ↑ "قائمة تقنيات المحاكاة الافتراضية من إنتل" . Ark.intel.com. مؤرشف من الأصل بتاريخ 27-10-2010 . تم الاطلاع عليه بتاريخ 02-05-2010 .
- ↑ "Windows Virtual PC: Configure BIOS" . مايكروسوفت. مؤرشف من الأصل بتاريخ 2010-09-06 . تم الاطلاع عليه بتاريخ 2010-09-08 .
- ↑ نيجر، جيل؛ أ. سانتوني؛ ف. ليونج؛ د. رودجرز؛ ر. أوليغ (2006). "تقنية المحاكاة الافتراضية من إنتل: دعم الأجهزة لمحاكاة افتراضية فعالة للمعالج" (ملف PDF) . مجلة إنتل للتكنولوجيا . 10 (3). إنتل: 167-178 . doi : 10.1535/itj.1003.01 . مؤرشف من الأصل (ملف PDF) بتاريخ 25-09-2012 . تم الاطلاع عليه بتاريخ 06-07-2008 .
- ↑ جيليسبي، مات (12 نوفمبر 2007). "أفضل الممارسات لتحسينات المحاكاة الافتراضية الجزئية من تقنية المحاكاة الافتراضية من إنتل: EPT وVT-d" . شبكة برامج إنتل . إنتل. مؤرشف من الأصل في 26 ديسمبر 2008. تم الاطلاع عليه في 6 يوليو 2008 .
- ↑ "أولاً التكتكة، والآن الدق: الجيل القادم من معمارية إنتل الدقيقة (نيهاليم)" (ملف PDF) (بيان صحفي). إنتل. مؤرشف (ملف PDF) من الأصل بتاريخ 26 يناير 2009. تم الاطلاع عليه بتاريخ 6 يوليو 2008 .
- ↑ "موجز تقني: تقنية المحاكاة الافتراضية لبنية إنتل الدقيقة Nehalem" (ملف PDF) . إنتل. 25 مارس 2009. مؤرشف (ملف PDF) من الأصل بتاريخ 7 يونيو 2011. تم الاطلاع عليه بتاريخ 3 نوفمبر 2009 .
- ↑أُرشف بتاريخ ٢١ فبراير ٢٠١٤ في أرشيف الإنترنت (Wayback Machine) : "أضافت إنتل وضع الضيف غير المقيد على معمارية ويستمير الدقيقة، وفي وحدات المعالجة المركزية اللاحقة من إنتل، حيث تستخدم بروتوكول EPT لترجمة الوصول إلى عنوان الضيف الفعلي إلى عنوان المضيف الفعلي. مع هذا الوضع، يُسمح باستخدام VMEnter بدون تمكين الترحيل."
- ↑"إذا كانت قيمة التحكم في تنفيذ الجهاز الظاهري "الضيف غير المقيد" هي 1، فيجب أن تكون قيمة التحكم في تنفيذ الجهاز الظاهري "تمكين EPT" هي 1 أيضًا."
- ↑ "معالجات Intel Core vPro من الجيل الرابع مع تقنية Intel VMCS Shadowing" (ملف PDF) . Intel . 2013. تاريخ الاسترجاع: 16 ديسمبر 2014 .
- ↑ فهم تقنية المحاكاة الافتراضية من إنتل (VT). مؤرشف في 8 سبتمبر 2014، على موقع Wayback Machine. تم الاطلاع عليه في 1 سبتمبر 2014.
- ↑ "ماذا وأين ولماذا" في تقنية التظليل في أنظمة التحكم الافتراضية . مؤرشف بتاريخ 3 سبتمبر 2014 في أرشيف الإنترنت. تم الاطلاع عليه بتاريخ 1 سبتمبر 2014
- ↑ شركة VIA تُعلن عن معالجات VIA Nano 3000 الجديدة (مؤرشفة بتاريخ 22 يناير 2013 في أرشيف الإنترنت)
- ↑ "حلول أجهزة الكمبيوتر المحمولة: معالج Kaixian ZX-C + شريحة VX11PH" (ملف PDF) . مؤرشف من النسخة الأصلية (PDF) بتاريخ 12 يونيو 2020. تم الاطلاع عليه بتاريخ 12 يونيو 2020 .
- ↑ وي هوانغ، مقدمة عن وحدة التحكم المتقدمة في المقاطعات الافتراضية من AMD، مؤرشفة بتاريخ 14-07-2014 في Wayback Machine ، قمة زين 2012
- ↑ يورغ رودل (أغسطس 2012). "الجيل التالي من تقنية المحاكاة الافتراضية للمقاطعات لـ KVM" (ملف PDF) . AMD. مؤرشف (ملف PDF) من الأصل بتاريخ 4 مارس 2016. تم الاطلاع عليه بتاريخ 12 يوليو 2014 .
- ↑ " [ Xen-devel ] [ RFC PATCH 0/9 ] تقديم AMD SVM AVIC" . www.mail-archive.com . مؤرشف من الأصل في 2 فبراير 2017. تم الاطلاع عليه في 4 مايو 2018 .
- ↑ جون ناكاجيما (13 ديسمبر 2012). "مراجعة الميزات غير المستخدمة والجديدة لتقنية المحاكاة الافتراضية للمقاطعات/APIC" (ملف PDF) . إنتل. مؤرشف (ملف PDF) من الأصل بتاريخ 21 أبريل 2015. تم الاطلاع عليه بتاريخ 12 يوليو 2014 .
- ↑ خانغ نغوين (17 ديسمبر 2013). "اختبار أداء المحاكاة الافتراضية لـ APIC و Iozone" . software.intel.com . مؤرشف من الأصل في 14 يوليو 2014. تم الاطلاع عليه في 12 يوليو 2014 .
- ↑ "موجز منتج عائلة معالجات Intel Xeon E5-4600 v2" (ملف PDF) . Intel. 14 مارس 2014. مؤرشف (ملف PDF) من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 12 يوليو 2014 .
- ↑ "دعم أجهزة منصة إنتل لتقنية المحاكاة الافتراضية للإدخال/الإخراج" . Intel.com. 10 أغسطس 2006. مؤرشف من الأصل في 20 يناير 2007. تم الاطلاع عليه في 4 فبراير 2012 .
- ↑ "محاكاة لينكس الافتراضية وتمرير PCI" . شركة IBM. مؤرشف من الأصل في 1 نوفمبر 2009. تم الاطلاع عليه في 10 نوفمبر 2010 .
- ↑ "مواصفات تقنية المحاكاة الافتراضية للإدخال/الإخراج من AMD (IOMMU) - الإصدار 1.26" (ملف PDF) . مؤرشف (PDF) من النسخة الأصلية بتاريخ 24 يناير 2011. تم الاطلاع عليه بتاريخ 24 مايو 2011 .
- ↑ "مواصفات بنية تقنية المحاكاة الافتراضية من إنتل للإدخال/الإخراج الموجه (VT-d)" . مؤرشفة من الأصل بتاريخ 2013-04-03 . تم الاطلاع عليها بتاريخ 2012-02-04 .
- ↑ "قائمة وحدات المعالجة المركزية المدعومة بتقنية المحاكاة الافتراضية من إنتل للإدخال/الإخراج الموجه (VT-d)" . Ark.intel.com. مؤرشف من الأصل بتاريخ 27-10-2010 . تم الاطلاع عليه بتاريخ 04-02-2012 .
- ↑ "إشعار تغيير هندسي من PCI-SIG: إعادة ضبط مستوى الوظيفة (FLR)" (ملف PDF) . pcisig.com . 27-06-2006. مؤرشف (ملف PDF) من الأصل بتاريخ 04-03-2016 . تم الاطلاع عليه بتاريخ 10-01-2014 .
- ↑ "Xen VT-d" . xen.org . 2013-06-06. مؤرشف من الأصل في 2014-02-09 . تم الاطلاع عليه في 2014-01-10 .
- ↑ "كيفية تعيين الأجهزة باستخدام VT-d في KVM" . linux-kvm.org . 23-04-2014. مؤرشف من الأصل في 10-03-2015 . تم الاطلاع عليه في 05-03-2015 .
- ↑ "تقنية المحاكاة الافتراضية للاتصال من إنتل (VT-c)" (ملف PDF) . Intel.com. مؤرشف (ملف PDF) من الأصل بتاريخ 22 فبراير 2016. تم الاطلاع عليه بتاريخ 14 فبراير 2018 .
- ↑ "مواصفات PCI-SIG لتقنية المحاكاة الافتراضية للإدخال/الإخراج (IOV)" . موقع PCI-SIG.com. 31 مارس 2011. مؤرشف من الأصل بتاريخ 15 يناير 2012. تم الاطلاع عليه بتاريخ 4 فبراير 2012 .
- 1 2 "نظرة من الداخل على تقنية إيثرنت من إنتل" (ملف PDF) . إنتل . 27 نوفمبر 2014. صفحة 104. مؤرشف من النسخة الأصلية (ملف PDF) في 4 مارس 2016. تم الاطلاع عليه في 26 مارس 2015 .
- ↑ ياوزو دونغ؛ تشاو يو؛ غريغ روز (2008). "شبكات SR-IOV في زين: البنية والتصميم والتنفيذ" . usenix.org . USENIX . مؤرشف من الأصل بتاريخ 9 يناير 2014. تم الاطلاع عليه بتاريخ 10 يناير 2014 .
- ↑ باتريك كوتش؛ برايان جونسون؛ جريج روز (سبتمبر 2011). "مقدمة إلى تقنية تقسيم المنافذ المرنة من إنتل باستخدام تقنية SR-IOV" (ملف PDF) . إنتل . مؤرشف من الأصل (ملف PDF) في 7 أغسطس 2015. تم الاطلاع عليه في 24 سبتمبر 2015 .
- ↑ "بنية ناسا السحابية المرنة: نقل تطبيقات المجموعات الحاسوبية إلى السحابة" (ملف PDF) . إنتل . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 22 ديسمبر 2012. تم الاطلاع عليه بتاريخ 8 يناير 2014 .
- ↑ "تحسين الشبكات في سحابة AWS" . Scalable Logic. 31 ديسمبر 2013. مؤرشف من الأصل في 9 يناير 2014. تم الاطلاع عليه في 8 يناير 2014 .
- ↑ "تحسين الشبكات في سحابة AWS - الجزء 2" . Scalable Logic. 31 ديسمبر 2013. مؤرشف من الأصل في 10 يناير 2014. تم الاطلاع عليه في 8 يناير 2014 .
روابط خارجية
- معمارية X86
- محاكاة الأجهزة
