X86 वर्चुअलाइजेशन

x86 वर्चुअलाइजेशन एक x86/x86-64 CPU पर हार्डवेयर-समर्थित वर्चुअलाइजेशन क्षमताओं का उपयोग है।

1990 के दशक के अंत में जटिल सॉफ्टवेयर तकनीकों द्वारा x86 वर्चुअलाइजेशन हासिल किया गया था, जो उचित प्रदर्शन प्राप्त करने के दौरान प्रोसेसर की हार्डवेयर-समर्थित वर्चुअलाइजेशन क्षमताओं की कमी की भरपाई के लिए आवश्यक था। 2005 और 2006 में, Intel (#Intel वर्चुअलाइजेशन (VT-x)|VT-x) और उन्नत माइक्रो डिवाइसेस (#AMD वर्चुअलाइजेशन (AMD-V)|AMD-V) दोनों ने सीमित हार्डवेयर-असिस्टेड वर्चुअलाइजेशन समर्थन पेश किया जो सरल वर्चुअलाइजेशन सॉफ़्टवेयर की अनुमति देता है लेकिन बहुत कम गति लाभ की पेशकश की। ग्रेटर हार्डवेयर समर्थन, जिसने पर्याप्त गति सुधार की अनुमति दी, बाद के प्रोसेसर मॉडल के साथ आया।

सॉफ्टवेयर आधारित वर्चुअलाइजेशन
निम्नलिखित चर्चा केवल x86 आर्किटेक्चर संरक्षित मोड के वर्चुअलाइजेशन पर केंद्रित है।

संरक्षित मोड में ऑपरेटिंग सिस्टम कर्नेल एक उच्च विशेषाधिकार जैसे सुरक्षा रिंग 0 पर चलता है, और अनुप्रयोग कम विशेषाधिकार जैसे रिंग 3 पर चलता है। सॉफ़्टवेयर-आधारित वर्चुअलाइज़ेशन में, एक होस्ट OS की हार्डवेयर तक सीधी पहुँच होती है, जबकि अतिथि OS की हार्डवेयर तक सीमित पहुँच होती है, बिल्कुल होस्ट OS के किसी अन्य एप्लिकेशन की तरह। इस सीमा को पार करने के लिए x86 सॉफ्टवेयर-आधारित वर्चुअलाइजेशन में उपयोग किए जाने वाले एक दृष्टिकोण को रिंग डेप्रिविलेजिंग कहा जाता है, जिसमें अतिथि OS को 0 से अधिक (कम विशेषाधिकार प्राप्त) रिंग पर चलाना शामिल है। संरक्षित मोड के वर्चुअलाइजेशन को संभव बनाने वाली तीन तकनीकें:
 * बाइनरी अनुवाद का उपयोग रिंग 3 निर्देशों के संदर्भ में कुछ रिंग 0 निर्देशों को फिर से लिखने के लिए किया जाता है, जैसे कि इंटरप्ट फ़्लैग # सेटिंग और क्लियरिंग, जो अन्यथा चुपचाप विफल हो जाएगा या रिंग 0 के ऊपर निष्पादित होने पर अलग व्यवहार करेगा,  क्लासिक हार्डवेयर-असिस्टेड वर्चुअलाइजेशन | ट्रैप-एंड-एमुलेट वर्चुअलाइजेशन को असंभव बनाना।  प्रदर्शन में सुधार करने के लिए, अनुवादित बुनियादी ब्लॉक को एक सुसंगत तरीके से कैश करने की आवश्यकता होती है जो कोड पैचिंग (उदाहरण के लिए वीएक्सडी में प्रयुक्त), अतिथि ओएस द्वारा पृष्ठों का पुन: उपयोग, या स्वयं-संशोधित कोड का पता लगाता है।
 * एक प्रोसेसर द्वारा उपयोग की जाने वाली कई प्रमुख डेटा संरचनाओं को छाया स्मृति  होना चाहिए। क्योंकि अधिकांश ऑपरेटिंग सिस्टम पृष्ठांकित पृष्ठांकित आभासी स्मृति उपयोग करते हैं, और अतिथि OS को मेमोरी प्रबंधन इकाई तक सीधे पहुंच प्रदान करने का अर्थ सूत्र द्वारा नियंत्रण का नुकसान होगा, x86 MMU के कुछ कार्यों को अतिथि OS के लिए सॉफ़्टवेयर में डुप्लीकेट करने की आवश्यकता होती है। तकनीक को शैडो पेज टेबल के रूप में जाना जाता है।   इसमें अतिथि ओएस को वास्तविक पृष्ठ तालिका प्रविष्टियों तक पहुंच के प्रयासों को फंसाने और सॉफ्टवेयर के बजाय उन्हें अनुकरण करने से इनकार करना शामिल है। x86 आर्किटेक्चर प्रोसेसर में  खंड वर्णनकर्ता  को स्टोर करने के लिए हिडन स्टेट का उपयोग करता है, इसलिए एक बार सेगमेंट डिस्क्रिप्टर को प्रोसेसर में लोड कर दिया जाता है, जिस मेमोरी से उन्हें लोड किया गया है वह अधिलेखित हो सकता है और डिस्क्रिप्टर को प्रोसेसर से वापस लाने का कोई तरीका नहीं है। . इसलिए शैडो डिस्क्रिप्टर टेबल का उपयोग अतिथि OS द्वारा डिस्क्रिप्टर टेबल में किए गए परिवर्तनों को ट्रैक करने के लिए किया जाना चाहिए। * I/O डिवाइस एमुलेशन: अतिथि OS पर असमर्थित डिवाइस को एक एमुलेटर द्वारा अनुकरण किया जाना चाहिए जो होस्ट OS में चलता है।

आईबीएम सिस्टम/370 जैसे मूल रूप से वर्चुअलाइज करने योग्य आर्किटेक्चर पर चलने वाले वीएम की तुलना में इन तकनीकों में एमएमयू वर्चुअलाइजेशन समर्थन की कमी के कारण कुछ प्रदर्शन ओवरहेड होते हैं।

पारंपरिक मेनफ्रेम पर, क्लासिक हाइपरवाइजर#क्लासिफिकेशन हाइपरवाइजर सेल्फ-स्टैंडिंग था और यह किसी भी ऑपरेटिंग सिस्टम पर निर्भर नहीं था या किसी उपयोगकर्ता एप्लिकेशन को ही चलाता था। इसके विपरीत, पहले x86 वर्चुअलाइजेशन उत्पाद वर्कस्टेशन कंप्यूटरों के उद्देश्य से थे, और होस्ट ओएस (टाइप 2 हाइपरविजर) के तहत चलने वाले कर्नेल मॉड्यूल में हाइपरविजर को एम्बेड करके होस्ट ओएस के अंदर अतिथि ओएस चलाते थे। कुछ विवाद रहा है कि क्या बिना हार्डवेयर सहायता वाला x86 आर्किटेक्चर वर्चुअलाइज करने योग्य है जैसा कि पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं द्वारा वर्णित है। VMware के शोधकर्ताओं ने 2006 में प्रोग्रामिंग लैंग्वेज और ऑपरेटिंग सिस्टम पेपर के लिए आर्किटेक्चरल सपोर्ट पर अंतर्राष्ट्रीय सम्मेलन में बताया कि उपरोक्त तकनीकों ने पोपेक और गोल्डबर्ग के तीन मानदंडों को पूरा करने के अर्थ में x86 प्लेटफॉर्म को वर्चुअलाइज करने योग्य बनाया, हालांकि क्लासिक ट्रैप-एंड- द्वारा नहीं। तकनीक का अनुकरण करें।

डेनाली (ऑपरेटिंग सिस्टम), L4 माइक्रोकर्नेल परिवार, और Xen जैसी अन्य प्रणालियों द्वारा एक अलग मार्ग लिया गया, जिसे पैरावर्चुअलाइजेशन के रूप में जाना जाता है, जिसमें परिणामी वर्चुअल मशीन पर चलने के लिए ऑपरेटिंग सिस्टम को में porting करना शामिल है, जो वास्तविक x86 निर्देश के भागों को लागू नहीं करता है। सेट जो वर्चुअलाइज करना मुश्किल है। Paravirtualized I/O के महत्वपूर्ण प्रदर्शन लाभ हैं जैसा कि ऑपरेटिंग सिस्टम सिद्धांतों'03 Xen पेपर पर मूल संगोष्ठी में प्रदर्शित किया गया है। x86-64 (X86-64#AMD64) के प्रारंभिक संस्करण ने लंबे मोड में विभाजन समर्थन की कमी के कारण केवल सॉफ्टवेयर के पूर्ण वर्चुअलाइजेशन की अनुमति नहीं दी, जिससे हाइपरविजर की मेमोरी की सुरक्षा असंभव हो गई, विशेष रूप से सुरक्षा ट्रैप हैंडलर का जो अतिथि कर्नेल एड्रेस स्पेस में चलता है।  संशोधन डी और बाद में 64-बिट एएमडी प्रोसेसर (एक नियम के रूप में, जो 90 एनएम या उससे कम में निर्मित हैं) ने लंबे मोड में विभाजन के लिए बुनियादी समर्थन जोड़ा, जिससे बाइनरी के माध्यम से 64-बिट होस्ट में 64-बिट अतिथि चलाना संभव हो गया। अनुवाद। Intel ने अपने x86-64 कार्यान्वयन (Intel 64) में विभाजन समर्थन नहीं जोड़ा, जिससे Intel CPU पर 64-बिट सॉफ़्टवेयर-केवल वर्चुअलाइज़ेशन असंभव हो गया, लेकिन Intel VT-x समर्थन 64-बिट हार्डवेयर असिस्टेड वर्चुअलाइज़ेशन को Intel प्लेटफ़ॉर्म पर संभव बनाता है।

कुछ प्लेटफार्मों पर, 32-बिट होस्ट ओएस पर 64-बिट अतिथि चलाना संभव है यदि अंतर्निहित प्रोसेसर 64-बिट है और आवश्यक वर्चुअलाइजेशन एक्सटेंशन का समर्थन करता है।

हार्डवेयर-असिस्टेड वर्चुअलाइजेशन
2005 और 2006 में, इंटेल और उन्नत माइक्रो डिवाइसेस (स्वतंत्र रूप से काम कर रहे) ने x86 आर्किटेक्चर के लिए नए x86# एक्सटेंशन बनाए। x86 हार्डवेयर वर्चुअलाइजेशन की पहली पीढ़ी ने विशेषाधिकार प्राप्त निर्देशों के मुद्दे को संबोधित किया। वर्चुअलाइज्ड सिस्टम मेमोरी के कम प्रदर्शन के मुद्दे को मेमोरी मैनेजमेंट यूनिट वर्चुअलाइजेशन के साथ संबोधित किया गया था जिसे बाद में चिपसेट में जोड़ा गया था।

वर्चुअल 8086 मोड
Intel 80286#OS समर्थन के साथ Intel 80286 संरक्षित मोड पर आधारित, जो अपने आप में समवर्ती DOS अनुप्रयोगों को अच्छी तरह से चलाने के लिए पर्याप्त नहीं था, Intel ने अपने Intel 80386 चिप में वर्चुअल 8086 मोड पेश किया, जिसने 386 और बाद में वर्चुअलाइज्ड 8086 प्रोसेसर की पेशकश की चिप्स। संरक्षित मोड को वर्चुअलाइज करने के लिए हार्डवेयर समर्थन, हालांकि, 20 साल बाद उपलब्ध हुआ।

{{Anchor|AMD-V}एएमडी वर्चुअलाइजेशन (एएमडी-वी)
एएमडी ने अपनी पहली पीढ़ी के वर्चुअलाइजेशन एक्सटेंशन को कोड नाम पैसिफिक के तहत विकसित किया, और शुरू में उन्हें एएमडी सिक्योर वर्चुअल मशीन (एसवीएम) के रूप में प्रकाशित किया, लेकिन बाद में ट्रेडमार्क एएमडी वर्चुअलाइजेशन, संक्षिप्त रूप से एएमडी-वी के तहत उनका विपणन किया।

23 मई 2006 को, एएमडी ने एथलॉन 64 (एएमडी एथलॉन 64 माइक्रोप्रोसेसरों की सूची # ऑरलियन्स (एफ2 और एफ3, 90 एनएम)| ऑरलियन्स), 64 वस्त्रों का अपमान करना  (एएमडी एथलॉन 64 माइक्रोप्रोसेसरों की सूची # विंडसर (एफ2 और एफ3, 90 एनएम) | विंडसर) और एथलॉन 64 एफएक्स (एएमडी एथलॉन 64 माइक्रोप्रोसेसरों की सूची # विंडसर (एफ2, 90 एनएम) | विंडसर) इस तकनीक का समर्थन करने वाले पहले एएमडी प्रोसेसर के रूप में।

एएमडी-वी क्षमता एथलॉन 64 और एथलॉन 64 एक्स2 परिवार के प्रोसेसर में सॉकेट AM2, एएमडी ट्यूरियन # ट्यूरियन 64 एक्स2, और ओपर्टन दूसरी पीढ़ी पर संशोधन एफ या जी के साथ भी है। और तीसरी पीढ़ी, AMD Phenom और Phenom II प्रोसेसर। AMD Accelerated Processing Unit प्रोसेसर AMD-V को सपोर्ट करते हैं। एएमडी-वी किसी भी सॉकेट 939 प्रोसेसर द्वारा समर्थित नहीं है। एकमात्र Sempron प्रोसेसर जो इसका समर्थन करते हैं, वे हैं APUs और AMD Sempron माइक्रोप्रोसेसरों की सूची# ह्यूरॉन (65 nm, लो पावर), AMD Sempron माइक्रोप्रोसेसरों की सूची# Regor (सॉकेट AM3, डुअल-कोर, C3, 45 एनएम), AMD Sempron की सूची माइक्रोप्रोसेसर# सरगास (सॉकेट AM3, सिंगल-कोर, C2 और C3, 45 एनएम) डेस्कटॉप सीपीयू।

फैमिली 0x10 बार्सेलोना लाइन से शुरू होने वाले AMD Opteron CPUs, और Phenom II CPUs, रैपिड वर्चुअलाइजेशन इंडेक्सिंग नामक दूसरी पीढ़ी की हार्डवेयर वर्चुअलाइजेशन तकनीक का समर्थन करते हैं (पहले इसके विकास के दौरान नेस्टेड पेज टेबल्स के रूप में जाना जाता था), बाद में Intel द्वारा विस्तारित पृष्ठ तालिका ्स (EPT) के रूप में अपनाया गया।.

2019 तक, सभी ज़ेन (माइक्रोआर्किटेक्चर)-आधारित एएमडी प्रोसेसर एएमडी-वी का समर्थन करते हैं।

AMD-V के लिए CPU फ्लैग (x86) svm है। इसे dmesg या sysctl के माध्यम से BSD ऑपरेटिंग सिस्टम की तुलना में और Linux के माध्यम से चेक किया जा सकता है. AMD-V के निर्देशों में VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT और STGI शामिल हैं।

कुछ मदरबोर्ड के साथ, एप्लिकेशन द्वारा इसका उपयोग करने से पहले उपयोगकर्ताओं को BIOS सेटअप में AMD SVM सुविधा को सक्षम करना होगा।

इंटेल वर्चुअलाइजेशन (वीटी-एक्स)
पहले कोडनाम वेंडरपूल, VT-x x86 प्लेटफॉर्म पर वर्चुअलाइजेशन के लिए इंटेल की तकनीक का प्रतिनिधित्व करता है। 13 नवम्बर 2005 को, Intel ने VT-x का समर्थन करने वाले पहले Intel प्रोसेसर के रूप में Pentium 4 के दो मॉडल (मॉडल 662 और 672) जारी किए। वीटी-एक्स क्षमता के लिए सीपीयू फ्लैग वीएमएक्स है; लिनक्स में, इसे के माध्यम से चेक किया जा सकता है, या macOS के माध्यम से. VMX वर्चुअल मशीन एक्सटेंशन के लिए खड़ा है, जो 13 नए निर्देश जोड़ता है: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID, और VMFUNC। ये निर्देश एक आभासी निष्पादन मोड में प्रवेश करने और बाहर निकलने की अनुमति देते हैं जहां अतिथि OS स्वयं को पूर्ण विशेषाधिकार (रिंग 0) के साथ चलने वाला मानता है, लेकिन होस्ट OS सुरक्षित रहता है।

, लगभग सभी नए सर्वर, डेस्कटॉप और मोबाइल इंटेल प्रोसेसर प्राथमिक अपवाद के रूप में कुछ इंटेल एटम प्रोसेसर के साथ वीटी-एक्स का समर्थन करते हैं। कुछ मदरबोर्ड के साथ, उपयोगकर्ताओं को Intel के VT-x फीचर को BIOS सेटअप में सक्षम करना चाहिए, इससे पहले कि एप्लिकेशन इसका उपयोग कर सकें। इंटेल ने एक्सटेंडेड पेज टेबल्स (EPT) को शामिल करना शुरू किया, पेज-टेबल वर्चुअलाइजेशन के लिए एक तकनीक, नेहलेम (माइक्रोआर्किटेक्चर) वास्तुकला के बाद से, 2008 में जारी किया गया। 2010 में, वेस्टमेयर (माइक्रोआर्किटेक्चर) ने तार्किक प्रोसेसर को सीधे वास्तविक मोड में लॉन्च करने के लिए समर्थन जोड़ा –  अप्रतिबंधित अतिथि नामक सुविधा, जिसके लिए कार्य करने के लिए EPT की आवश्यकता होती है। हैसवेल (माइक्रोआर्किटेक्चर) माइक्रोआर्किटेक्चर (2013 में घोषित) के बाद से, इंटेल ने वीएमसीएस शैडोइंग को एक ऐसी तकनीक के रूप में शामिल करना शुरू कर दिया है जो वीएमएम के वर्चुअलाइजेशन#नेस्टेड वर्चुअलाइजेशन को तेज करता है। वर्चुअल मशीन कंट्रोल स्ट्रक्चर (VMCS) मेमोरी में एक डेटा संरचना है जो प्रति VM में एक बार मौजूद होता है, जबकि इसे VMM द्वारा प्रबंधित किया जाता है। विभिन्न वीएम के बीच निष्पादन संदर्भ के प्रत्येक परिवर्तन के साथ, वीएम के वर्चुअल प्रोसेसर की स्थिति को परिभाषित करते हुए, वीएमसीएस को वर्तमान वीएम के लिए बहाल किया जाता है। जैसे ही एक से अधिक वीएमएम या नेस्टेड वीएमएम का उपयोग किया जाता है, एक समस्या एक तरह से प्रकट होती है जो आवश्यक छाया पृष्ठ तालिका प्रबंधन के आविष्कार के समान होती है, जैसा कि #SWBASED वर्णित है। ऐसे मामलों में, VMCS को कई बार (नेस्टिंग के मामले में) शैडो करने की आवश्यकता होती है और प्रोसेसर द्वारा कोई हार्डवेयर समर्थन नहीं होने की स्थिति में सॉफ्टवेयर में आंशिक रूप से लागू किया जाता है। छाया VMCS को अधिक कुशल बनाने के लिए, Intel ने VMCS शैडोइंग के लिए हार्डवेयर समर्थन लागू किया।

वर्चुअलाइजेशन के माध्यम से (वीआईए वीटी)
VIA नैनो 3000 सीरीज प्रोसेसर और उच्च समर्थन VIA VT वर्चुअलाइजेशन तकनीक Intel VT-x के साथ संगत है। EPT, Zhaoxin ZX-C में मौजूद है, जो VIA नैनो माइक्रोप्रोसेसरों की सूची #QuadCore-E|VIA QuadCore-E और VIA Eden माइक्रोप्रोसेसरों की सूची #Eden C के समान है, जो VIA नैनो माइक्रोप्रोसेसरों की नैनो सूची #Nano C के समान है।

{{Anchor|INTERRUPT}इंटरप्ट वर्चुअलाइजेशन (AMD AVIC और Intel APICv)
2012 में, AMD ने अपने उन्नत वर्चुअल इंटरप्ट कंट्रोलर (AVIC) की घोषणा की, जो वर्चुअलाइजेशन वातावरण में ओवरहेड कमी को लक्षित करता है। यह तकनीक, जैसा कि घोषित किया गया है, उन्नत प्रोग्रामेबल इंटरप्ट कंट्रोलर का समर्थन नहीं करती है। 2016 में, AVIC AMD परिवार के 15h मॉडल 6Xh पर उपलब्ध है (कैरिज़ो) प्रोसेसर और नए। इसके अलावा 2012 में, इंटेल ने इंटरप्ट और एडवांस्ड प्रोग्रामेबल इंटरप्ट कंट्रोलर वर्चुअलाइजेशन के लिए एक समान तकनीक की घोषणा की, जिसकी घोषणा के समय कोई ब्रांड नाम नहीं था। बाद में, इसे APIC वर्चुअलाइजेशन (APICv) के रूप में ब्रांडेड किया गया। और यह इंटेल सीपीयू की आइवी ब्रिज (माइक्रोआर्किटेक्चर) श्रृंखला में व्यावसायिक रूप से उपलब्ध हो गया, जिसे Xeon E5-26xx v2 (2013 के अंत में लॉन्च किया गया) और Xeon E5-46xx v2 (2014 की शुरुआत में लॉन्च) के रूप में बेचा गया।

ग्राफिक्स प्रोसेसिंग यूनिट
ग्राफिक्स वर्चुअलाइजेशन x86 आर्किटेक्चर का हिस्सा नहीं है। Intel ग्राफिक्स वर्चुअलाइजेशन टेक्नोलॉजी (GVT) ग्राफ़िक्स वर्चुअलाइज़ेशन को नवीनतम जेन ग्राफ़िक्स आर्किटेक्चर के भाग के रूप में प्रदान करता है। हालांकि AMD Accelerated Processing Unit x86-64 निर्देश सेट को लागू करता है, वे AMD के अपने ग्राफिक्स आर्किटेक्चर (TeraScale (माइक्रोआर्किटेक्चर), ग्राफिक्स कोर अगला  और RDNA (माइक्रोआर्किटेक्चर)) को लागू करते हैं जो ग्राफिक्स वर्चुअलाइजेशन का समर्थन नहीं करते हैं। Larrabee ( microआर्किटेक्चर ) x86 पर आधारित एकमात्र ग्राफिक्स माइक्रोआर्किटेक्चर था, लेकिन संभवतः इसमें ग्राफिक्स वर्चुअलाइजेशन के लिए समर्थन शामिल नहीं था।

चिपसेट
मेमोरी और I/O वर्चुअलाइजेशन चिपसेट द्वारा किया जाता है। आमतौर पर इन सुविधाओं को BIOS द्वारा सक्षम किया जाना चाहिए, जो उनका समर्थन करने में सक्षम होना चाहिए और उनका उपयोग करने के लिए भी सेट होना चाहिए।

I/O MMU वर्चुअलाइजेशन (AMD-Vi और Intel VT-d)
एक इनपुट/आउटपुट मेमोरी मैनेजमेंट यूनिट (IOMMU) अतिथि आभासी मशीन ों को प्रत्यक्ष मेमोरी एक्सेस और  बाधा डालना  रीमैपिंग के माध्यम से ईथरनेट, त्वरित ग्राफिक्स कार्ड और हार्ड-ड्राइव नियंत्रकों जैसे परिधीय उपकरणों का सीधे उपयोग करने की अनुमति देता है। इसे कभी-कभी पीसीआई पासथ्रू कहा जाता है। एक IOMMU ऑपरेटिंग सिस्टम को बाउंस बफ़र्स को समाप्त करने की अनुमति देता है जिसकी आवश्यकता उन परिधीय उपकरणों के साथ संवाद करने के लिए होती है जिनके मेमोरी एड्रेस स्पेस ऑपरेटिंग सिस्टम के मेमोरी एड्रेस स्पेस से छोटे होते हैं, मेमोरी एड्रेस ट्रांसलेशन का उपयोग करके। उसी समय, एक आईओएमएमयू ऑपरेटिंग सिस्टम और हाइपरविजर को डीएमए हमले से बग्गी या दुर्भावनापूर्ण हार्डवेयर को रोकने के लिए भी अनुमति देता है। AMD और Intel दोनों ने अपने IOMMU विनिर्देशों को जारी किया है: CPU समर्थन के अलावा, मदरबोर्ड चिपसेट और सिस्टम फ़र्मवेयर (BIOS या एकीकृत एक्सटेंसिबल फर्मवेयर इंटरफ़ेस) दोनों को IOMMU I/O वर्चुअलाइज़ेशन कार्यक्षमता को प्रयोग करने योग्य बनाने के लिए पूरी तरह से समर्थन करने की आवश्यकता है। फ़ंक्शन स्तर रीसेट (FLR) का समर्थन करने वाले केवल पारंपरिक पीसीआई या पीसीआई एक्सप्रेस उपकरणों को इस तरह से वर्चुअलाइज किया जा सकता है, क्योंकि यह वर्चुअल मशीनों के बीच विभिन्न पीसीआई डिवाइस फ़ंक्शन को पुन: असाइन करने के लिए आवश्यक है। यदि असाइन किया जाने वाला डिवाइस संदेश संकेतित व्यवधान (एमएसआई) का समर्थन नहीं करता है, तो इसे असाइनमेंट के लिए अन्य डिवाइसों के साथ इंटरप्ट लाइनों को साझा नहीं करना चाहिए। PCI/PCI-X-to-PCI एक्सप्रेस ब्रिज के पीछे रूट किए गए सभी पारंपरिक PCI उपकरणों को केवल एक बार अतिथि वर्चुअल मशीन को सौंपा जा सकता है; पीसीआई एक्सप्रेस उपकरणों पर ऐसा कोई प्रतिबंध नहीं है।
 * AMD की I/O वर्चुअलाइजेशन तकनीक, AMD-Vi, जिसे मूल रूप से IOMMU कहा जाता है
 * निर्देशित I/O (VT-d) के लिए इंटेल की वर्चुअलाइजेशन तकनीक, कोर 2 आर्किटेक्चर के बाद से अधिकांश हाई-एंड (लेकिन सभी नहीं) नए इंटेल प्रोसेसर में शामिल हैं।

नेटवर्क वर्चुअलाइजेशन (वीटी-सी)

 * कनेक्टिविटी के लिए इंटेल की वर्चुअलाइजेशन टेक्नोलॉजी (वीटी-सी)।

PCI-SIG सिंगल रूट I/O वर्चुअलाइजेशन (SR-IOV)
PCI-SIG सिंगल रूट I/O वर्चुअलाइजेशन (SR-IOV) PCI-SIG द्वारा मानकीकृत PCI Express (PCIe) नेटिव हार्डवेयर पर आधारित सामान्य (गैर-x86 विशिष्ट) I/O वर्चुअलाइजेशन विधियों का एक सेट प्रदान करता है:
 * एड्रेस ट्रांसलेशन सर्विसेज (एटीएस) एड्रेस ट्रांसलेशन के जरिए पीसीआई एक्सप्रेस में नेटिव आईओवी को सपोर्ट करती है। ऐसे अनुवादों को कॉन्फ़िगर करने के लिए नए लेन-देन के लिए समर्थन की आवश्यकता होती है।
 * सिंगल-रूट इनपुट/आउटपुट वर्चुअलाइजेशन | सिंगल-रूट आईओवी (एसआर-आईओवी या एसआरआईओवी) मौजूदा सिंगल-रूट कॉम्प्लेक्स पीसीआई एक्सप्रेस टोपोलॉजी में देशी आईओवी का समर्थन करता है। इसे कई वर्चुअलाइज्ड कॉन्फ़िगरेशन स्पेस को कॉन्फ़िगर करने के लिए नई डिवाइस क्षमताओं के लिए समर्थन की आवश्यकता है।
 * मल्टी-रूट आईओवी (एमआर-आईओवी) एसआर-आईओवी पर निर्माण करके नए टोपोलॉजी (उदाहरण के लिए, ब्लेड सर्वर) में देशी आईओवी का समर्थन करता है ताकि एक सामान्य पीसीआई एक्सप्रेस पदानुक्रम साझा करने वाले कई रूट कॉम्प्लेक्स प्रदान किए जा सकें।

SR-IOV में, इनमें से सबसे सामान्य, एक होस्ट VMM समर्थित डिवाइस को उनके कॉन्फ़िगरेशन स्पेस की वर्चुअल शैडो बनाने और आवंटित करने के लिए कॉन्फ़िगर करता है ताकि वर्चुअल मशीन अतिथि ऐसे शैडो डिवाइस संसाधनों को सीधे कॉन्फ़िगर और एक्सेस कर सकें। SR-IOV सक्षम होने के साथ, वर्चुअलाइज्ड नेटवर्क इंटरफेस सीधे मेहमानों के लिए सुलभ हैं, वीएमएम की भागीदारी से बचना और परिणामस्वरूप उच्च समग्र प्रदर्शन; उदाहरण के लिए, SR-IOV NASA के वर्चुअलाइज्ड डेटासेंटर में नंगी मशीन नेटवर्क बैंडविड्थ का 95% से अधिक प्राप्त करता है और अमेज़ॅन वेब सेवाओं में।

यह भी देखें

 * एप्लीकेशन वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
 * प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
 * हार्डवेयर-असिस्टेड वर्चुअलाइजेशन
 * हाइपरविजर
 * आई/ओ वर्चुअलाइजेशन
 * नेटवर्क वर्चुअलाइजेशन
 * ओएस-स्तरीय वर्चुअलाइजेशन
 * वर्चुअलाइजेशन विकास की समयरेखा
 * आभासी मशीन
 * IOMMU- सहायक हार्डवेयर की सूची
 * द्वितीय स्तर का पता अनुवाद (एसएलएटी)
 * संदेश संकेतित व्यवधान (MSI)

बाहरी संबंध

 * Everything You Need to Know About the Intel Virtualization Technology Archived at ghostarchive.org at 10 May 2022
 * A special course at the University of San Francisco on Intel EM64T and VT Extensions (2007)
 * 2 day open source & open access class on writing a VT-x VMM