المحاكاة الافتراضية 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 بت ويدعم ملحقات المحاكاة الافتراضية اللازمة.

المحاكاة الافتراضية المدعومة بالأجهزة

The first generation of x86 hardware virtualization addressed the issue of privileged instructions. The issue of low performance of virtualized system memory was addressed with MMU virtualization that was added to the chipset later. In 2005 and 2006, Intel and AMD (working independently) created new processor extensions to the x86 architecture, resulting in two separate, binary incompatible x86 virtualization extension variants - Intel's VT-x and AMD-V.

Central processing unit

Virtual 8086 mode

Because the Intel 80286 could not run concurrent DOS applications well by itself in protected mode, Intel introduced the virtual 8086 mode in their 80386 chip, which offered virtualized 8086 processors on the 386 and later chips. Hardware support for virtualizing the protected mode itself, however, became available 20 years later.[15]

AMD virtualization (AMD-V)

AMD Phenom die

AMD developed its first generation virtualization extensions under the code name "Pacifica", and initially published them as AMD Secure Virtual Machine (SVM),[16] but later marketed them under the trademark AMD Virtualization, abbreviated AMD-V.

On May 23, 2006, AMD released the Athlon 64 ("Orleans"), the Athlon 64 X2 ("Windsor") and the Athlon 64 FX ("Windsor") as the first AMD processors to support this technology.

AMD-V capability also features on the Athlon 64 and Athlon 64 X2 family of processors with revisions "F" or "G" on socket AM2, Turion 64 X2, and Opteron 2nd generation[17] and third-generation,[18]Phenom and Phenom II processors. The APU Fusion processors support AMD-V. AMD-V is not supported by any Socket 939 processors. The only Sempron processors which support it are APUs and Huron, Regor, Sargas desktop CPUs.

AMD Opteron CPUs beginning with the Family 0x10 Barcelona line, and Phenom II CPUs, support a second generation hardware virtualization technology called Rapid Virtualization Indexing (formerly known as Nested Page Tables during its development), later adopted by Intel as 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)

معالج Intel Core i7 (Bloomfield)

كانت تقنية 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)

سجل نواة لينكس يعرض معلومات AMD-Vi

تتيح وحدة إدارة ذاكرة الإدخال/الإخراج (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 ]

انظر أيضاً

مراجع

  1. مقارنة بين تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86، كيث آدامز وأولي أغيسن، في إم وير، مؤتمر ASPLOS'06، 21-25 أكتوبر 2006، سان خوسيه، كاليفورنيا، الولايات المتحدة الأمريكية. مؤرشف في 24 أكتوبر 2022 على موقع Wayback Machine. "من المثير للدهشة أننا وجدنا أن دعم الجيل الأول من الأجهزة نادرًا ما يوفر مزايا في الأداء مقارنةً بتقنيات البرمجيات الحالية. ونعزو هذا الوضع إلى ارتفاع تكاليف الانتقال بين بيئة إدارة الأجهزة الافتراضية والضيف، ونموذج برمجة جامد لا يترك مجالًا كبيرًا لمرونة البرمجيات في إدارة كلٍ من وتيرة هذه الانتقالات وتكلفتها."
  2. "تقنية المحاكاة الافتراضية من إنتل: ملحقات المحاكاة الافتراضية للمعالج وتقنية التنفيذ الموثوق من إنتل" (ملف PDF) . Intel.com. 2007. مؤرشف (ملف PDF) من الأصل بتاريخ 21 مايو 2015. تم الاطلاع عليه بتاريخ 12 ديسمبر 2016 .
  3. "البرنامج التقني لـ USENIX - ملخص - ندوة الأمن - 2000" . Usenix.org. 29 يناير 2002. مؤرشف من الأصل بتاريخ 10 يونيو 2010. تم الاطلاع عليه بتاريخ 2 مايو 2010 .
  4. 1 2 3 4 5 "مقارنة بين تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86" (ملف PDF) . VMware. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 20 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
  5. 1 2 براءة اختراع أمريكية رقم 6,397,242
  6. براءة اختراع أمريكية رقم 6,704,925
  7. "الافتراضية: اعتبارات معمارية ومعايير تقييم أخرى" (ملف PDF) . VMware. مؤرشف (ملف PDF) من الأصل بتاريخ 6 فبراير 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
  8. 1 2 براءة اختراع أمريكية رقم 6,496,847
  9. "تقنية VMware ودعم الأجهزة" (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 17 يوليو 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
  10. "زين وفن المحاكاة الافتراضية" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 29-09-2014.
  11. "كيف أدى إيقاف تجزئة الذاكرة في وضع AMD64 الطويل إلى تعطيل VMware" . Pagetable.com. 9 نوفمبر 2006. مؤرشف من الأصل في 18 يوليو 2011. تم الاطلاع عليه في 2 مايو 2010 .
  12. "تقنية المحاكاة الافتراضية لوحدة المعالجة المركزية وVMware" (ملف PDF) . VMware. مؤرشف (ملف PDF) من الأصل بتاريخ 17 يوليو 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
  13. "قاعدة معارف VMware: متطلبات الأجهزة والبرامج الثابتة لأنظمة التشغيل الضيف 64 بت" . Kb.vmware.com. مؤرشف من الأصل بتاريخ 19 أبريل 2010. تم الاطلاع عليه بتاريخ 2 مايو 2010 .
  14. "تقنيات البرمجيات والأجهزة لتقنية المحاكاة الافتراضية x86" (ملف PDF) . مؤرشف من النسخة الأصلية (PDF) بتاريخ 2010-01-05 . تم الاطلاع عليه بتاريخ 2010-05-02 .
  15. ياغر، توم (5 نوفمبر 2004). "إرسال برمجيات للقيام بوظيفة الأجهزة | الأجهزة - إنفوورلد" . Images.infoworld.com. مؤرشف من الأصل في 18 أكتوبر 2014. تم الاطلاع عليه في 8 يناير 2014 .
  16. "33047_SecureVirtualMachineManual_3-0.book" (ملف PDF) . مؤرشف (PDF) من النسخة الأصلية بتاريخ 2012-03-05 . تم الاطلاع عليه بتاريخ 2010-05-02 .
  17. "ما هي الاختلافات الرئيسية بين معالجات AMD Opteron من الجيل الثاني ومعالجات AMD Opteron من الجيل الأول؟" . amd.com . مؤرشف من الأصل في 15 أبريل 2009. تم الاطلاع عليه في 4 فبراير 2012 .
  18. "ما هي تحسينات المحاكاة الافتراضية التي تتميز بها معالجات AMD Opteron رباعية النواة؟" . amd.com . مؤرشف من الأصل في 16 أبريل 2009. تم الاطلاع عليه في 4 فبراير 2012 .
  19. 1 2 لمعرفة ما إذا كان معالجك يدعم المحاكاة الافتراضية للأجهزة. مؤرشف بتاريخ 25-11-2012 في Wayback Machine Intel 2012.
  20. "كيفية تفعيل تقنية Intel VTx وتقنية AMD SVM؟" . الدعم . شركة QNAP Systems. مؤرشف من الأصل بتاريخ 7 مارس 2018. تم الاطلاع عليه بتاريخ 23 ديسمبر 2020 .
  21. "معالج إنتل بنتيوم 4 662 - HH80547PG1042MH" . www.cpu-world.com . مؤرشف من الأصل بتاريخ 11 مارس 2025. تم الاطلاع عليه بتاريخ 1 فبراير 2025 .
  22. "معالج إنتل بنتيوم 4 672 - HH80547PG1122MH" . www.cpu-world.com . مؤرشف من الأصل بتاريخ 2025-03-06 . تم الاطلاع عليه بتاريخ 2025-02-01 .
  23. إنتل (أكتوبر 2019). "دليل مطوري البرامج لبنيتي إنتل® 64 و IA-32" . intel.com . شركة إنتل . تاريخ الاسترجاع: 4 يناير 2020 .
  24. "قائمة تقنيات المحاكاة الافتراضية من إنتل" . Ark.intel.com. مؤرشف من الأصل بتاريخ 27-10-2010 . تم الاطلاع عليه بتاريخ 02-05-2010 .
  25. "Windows Virtual PC: Configure BIOS" . مايكروسوفت. مؤرشف من الأصل بتاريخ 2010-09-06 . تم الاطلاع عليه بتاريخ 2010-09-08 .
  26. نيجر، جيل؛ أ. سانتوني؛ ف. ليونج؛ د. رودجرز؛ ر. أوليغ (2006). "تقنية المحاكاة الافتراضية من إنتل: دعم الأجهزة لمحاكاة افتراضية فعالة للمعالج" (ملف PDF) . مجلة إنتل للتكنولوجيا . 10 (3). إنتل: 167-178 . doi : 10.1535/itj.1003.01 . مؤرشف من الأصل (ملف PDF) بتاريخ 25-09-2012 . تم الاطلاع عليه بتاريخ 06-07-2008 .
  27. جيليسبي، مات (12 نوفمبر 2007). "أفضل الممارسات لتحسينات المحاكاة الافتراضية الجزئية من تقنية المحاكاة الافتراضية من إنتل: EPT وVT-d" . شبكة برامج إنتل . إنتل. مؤرشف من الأصل في 26 ديسمبر 2008. تم الاطلاع عليه في 6 يوليو 2008 .
  28. "أولاً التكتكة، والآن الدق: الجيل القادم من معمارية إنتل الدقيقة (نيهاليم)" (ملف PDF) (بيان صحفي). إنتل. مؤرشف (ملف PDF) من الأصل بتاريخ 26 يناير 2009. تم الاطلاع عليه بتاريخ 6 يوليو 2008 .
  29. "Technology Brief: Intel Microarchitecture Nehalem Virtualization Technology"(PDF). Intel. 2009-03-25. Archived(PDF) from the original on 2011-06-07. Retrieved 2009-11-03.
  30. Archived 2014-02-21 at the Wayback Machine "Intel added unrestricted guest mode on Westmere micro-architecture and later Intel CPUs, it uses EPT to translate guest physical address access to host physical address. With this mode, VMEnter without enable paging is allowed."
  31. "If the "unrestricted guest" VM-execution control is 1, the "enable EPT" VM-execution control must also be 1"
  32. "4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing"(PDF). Intel. 2013. Retrieved 2014-12-16.
  33. Understanding Intel Virtualization Technology (VT).Archived September 8, 2014, at the Wayback Machine Retrieved 2014-09-01
  34. The 'what, where and why' of VMCS shadowing.Archived 2014-09-03 at the Wayback Machine Retrieved 2014-09-01
  35. VIA Introduces New VIA Nano 3000 Series ProcessorsArchived January 22, 2013, at the Wayback Machine
  36. "Notebook Solution: Kaixian ZX-C Processor + VX11PH Chipset"(PDF). Archived from the original(PDF) on 2020-06-12. Retrieved 2020-06-12.
  37. Wei Huang, Introduction of AMD Advanced Virtual Interrupt ControllerArchived 2014-07-14 at the Wayback Machine, XenSummit 2012
  38. Jörg Rödel (August 2012). "Next-generation Interrupt Virtualization for KVM"(PDF). AMD. Archived(PDF) from the original on 2016-03-04. Retrieved 2014-07-12.
  39. "[Xen-devel][RFC PATCH 0/9] Introduce AMD SVM AVIC". www.mail-archive.com. Archived from the original on 2 February 2017. Retrieved 4 May 2018.
  40. Jun Nakajimaa (2012-12-13). "Reviewing Unused and New Features for Interrupt/APIC Virtualization"(PDF). Intel. Archived(PDF) from the original on 2015-04-21. Retrieved 2014-07-12.
  41. خانغ نغوين (17 ديسمبر 2013). "اختبار أداء المحاكاة الافتراضية لـ APIC و Iozone" . software.intel.com . مؤرشف من الأصل في 14 يوليو 2014. تم الاطلاع عليه في 12 يوليو 2014 .
  42. "موجز منتج عائلة معالجات Intel Xeon E5-4600 v2" (ملف PDF) . Intel. 14 مارس 2014. مؤرشف (ملف PDF) من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 12 يوليو 2014 .
  43. "دعم أجهزة منصة إنتل لتقنية المحاكاة الافتراضية للإدخال/الإخراج" . Intel.com. 10 أغسطس 2006. مؤرشف من الأصل في 20 يناير 2007. تم الاطلاع عليه في 4 فبراير 2012 .
  44. "محاكاة لينكس الافتراضية وتمرير PCI" . شركة IBM. مؤرشف من الأصل في 1 نوفمبر 2009. تم الاطلاع عليه في 10 نوفمبر 2010 .
  45. "مواصفات تقنية المحاكاة الافتراضية للإدخال/الإخراج من AMD (IOMMU) - الإصدار 1.26" (ملف PDF) . مؤرشف (PDF) من النسخة الأصلية بتاريخ 24 يناير 2011. تم الاطلاع عليه بتاريخ 24 مايو 2011 .
  46. "مواصفات بنية تقنية المحاكاة الافتراضية من إنتل للإدخال/الإخراج الموجه (VT-d)" . مؤرشفة من الأصل بتاريخ 2013-04-03 . تم الاطلاع عليها بتاريخ 2012-02-04 .
  47. "قائمة وحدات المعالجة المركزية المدعومة بتقنية المحاكاة الافتراضية من إنتل للإدخال/الإخراج الموجه (VT-d)" . Ark.intel.com. مؤرشف من الأصل بتاريخ 27-10-2010 . تم الاطلاع عليه بتاريخ 04-02-2012 .
  48. "إشعار تغيير هندسي من PCI-SIG: إعادة ضبط مستوى الوظيفة (FLR)" (ملف PDF) . pcisig.com . 27-06-2006. مؤرشف (ملف PDF) من الأصل بتاريخ 04-03-2016 . تم الاطلاع عليه بتاريخ 10-01-2014 .
  49. "Xen VT-d" . xen.org . 2013-06-06. مؤرشف من الأصل في 2014-02-09 . تم الاطلاع عليه في 2014-01-10 .
  50. "كيفية تعيين الأجهزة باستخدام VT-d في KVM" . linux-kvm.org . 23-04-2014. مؤرشف من الأصل في 10-03-2015 . تم الاطلاع عليه في 05-03-2015 .
  51. "تقنية المحاكاة الافتراضية للاتصال من إنتل (VT-c)" (ملف PDF) . Intel.com. مؤرشف (ملف PDF) من الأصل بتاريخ 22 فبراير 2016. تم الاطلاع عليه بتاريخ 14 فبراير 2018 .
  52. "مواصفات PCI-SIG لتقنية المحاكاة الافتراضية للإدخال/الإخراج (IOV)" . موقع PCI-SIG.com. 31 مارس 2011. مؤرشف من الأصل بتاريخ 15 يناير 2012. تم الاطلاع عليه بتاريخ 4 فبراير 2012 .
  53. 1 2 "نظرة من الداخل على تقنية إيثرنت من إنتل" (ملف PDF) . إنتل . 27 نوفمبر 2014. صفحة 104. مؤرشف من النسخة الأصلية (ملف PDF) في 4 مارس 2016. تم الاطلاع عليه في 26 مارس 2015 . 
  54. ياوزو دونغ؛ تشاو يو؛ غريغ روز (2008). "شبكات SR-IOV في زين: البنية والتصميم والتنفيذ" . usenix.org . USENIX . مؤرشف من الأصل بتاريخ 9 يناير 2014. تم الاطلاع عليه بتاريخ 10 يناير 2014 .
  55. باتريك كوتش؛ برايان جونسون؛ جريج روز (سبتمبر 2011). "مقدمة إلى تقنية تقسيم المنافذ المرنة من إنتل باستخدام تقنية SR-IOV" (ملف PDF) . إنتل . مؤرشف من الأصل (ملف PDF) في 7 أغسطس 2015. تم الاطلاع عليه في 24 سبتمبر 2015 .
  56. "بنية ناسا السحابية المرنة: نقل تطبيقات المجموعات الحاسوبية إلى السحابة" (ملف PDF) . إنتل . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 22 ديسمبر 2012. تم الاطلاع عليه بتاريخ 8 يناير 2014 .
  57. "تحسين الشبكات في سحابة AWS" . Scalable Logic. 31 ديسمبر 2013. مؤرشف من الأصل في 9 يناير 2014. تم الاطلاع عليه في 8 يناير 2014 .
  58. "تحسين الشبكات في سحابة AWS - الجزء 2" . Scalable Logic. 31 ديسمبر 2013. مؤرشف من الأصل في 10 يناير 2014. تم الاطلاع عليه في 8 يناير 2014 .