المحاكاة الافتراضية إكس86

في أواخر التسعينيات، تم تحقيق المحاكاة الافتراضية x86 بواسطة تقنيات برمجية معقدة، ضرورية للتعويض عن افتقار المعالج إلى قدرات المحاكاة الافتراضية المدعومة بالأجهزة مع تحقيق أداء معقول. في عامي 2005 و2006، قدمت كل من إنتل ( VT-x ) و إي إم دي ( AMD-V ) دعمًا محدودًا للمحاكاة الافتراضية للأجهزة، مما سمح ببرامج محاكاة افتراضية أبسط ولكن قدمت القليل من مزايا السرعة. A Comparison of Software and Hardware Techniques for x86 Virtualization, Keith Adams and Ole Agesen, VMware, ASPLOS’06 October 21–25, 2006, San Jose, California, USA "Surprisingly, we find that the first-generation hardware support rarely offers performance advantages over existing software techniques. We ascribe this situation to high VMM/guest transition costs and a rigid programming model that leaves little room for software flexibility in managing either the frequency or cost of these transitions. دعم أكبر للأجهزة، والذي سمح بتحسينات كبيرة في السرعة، جاء مع نماذج معالج لاحقة. 

 المحاكاة الافتراضية القائمة على البرمجيات 
تركز المناقشة التالية فقط على الوضع الظاهري للوضع المحمي للعمارة x86. 

في المحاكاة الافتراضية المستندة إلى البرامج، يتمتع نظام التشغيل المضيف بوصول مباشر إلى الأجهزة بينما تتمتع أنظمة تشغيل الضيف بوصول محدود إلى الأجهزة، تمامًا مثل أي تطبيق آخر لنظام التشغيل المضيف. يُسمى أحد الأساليب المستخدمة في المحاكاة الافتراضية المستندة إلى البرامج x86 للتغلب على هذا القيد الحجب الدائري، والذي يتضمن تشغيل نظام تشغيل الضيف في حلقة أعلى (أقل امتيازًا) من 0.  

جعلت ثلاث تقنيات المحاكاة الافتراضية للوضع المحمي ممكنة: 

 تُستخدم الترجمة الثنائية لإعادة الكتابة من حيث تعليمات الحلقة 3 بعض تعليمات الحلقة 0، مثل POPF.    لتحسين الأداء، يجب تخزين الكتل الأساسية المترجمة في ذاكرة التخزين المؤقت بطريقة متماسكة تكتشف تصحيح التعليمات البرمجية (المستخدمة في VxDs على سبيل المثال) ، أو إعادة استخدام الصفحات بواسطة نظام تشغيل الضيف، أو حتى التعليمات البرمجية المعدلة ذاتيًا .  
 يحتاج عدد من هياكل البيانات الرئيسية التي يستخدمها المعالج إلى التظليل. نظرًا لأن معظم أنظمة التشغيل تستخدم ذاكرة ظاهرية مقسمة إلى صفحات، ومنح نظام الضيف وصولاً مباشرًا إلى وحدة معالجة الوسائط (MMU) يعني فقد التحكم من قِبل مدير المحاكاة الافتراضية، فإن بعض عمل وحدة x86 MMU يجب أن يتكرر في برنامج لنظام تشغيل الضيف باستخدام تقنية تعرف بجداول صفحات الظل .    
 مضاهاة جهاز الإدخال / الإخراج: يجب محاكاة الأجهزة غير المدعومة في نظام التشغيل الضيف بواسطة محاكي جهاز يعمل في نظام التشغيل المضيف.  

 المراجع 

 روابط خارجية 

 كل ما تحتاج إلى معرفته عن تقنية Intel Virtualization 
 دورة خاصة في جامعة سان فرانسيسكو حول Intel EM64T و VT Extensions (2007) 
 يومان مفتوحان المصدر وفتح للدخول المفتوح لكتابة VT-x VMM 

تصنيف:محاكاة عتاد الحاسوب
تصنيف:معمارية إكس86