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

From Vigyanwiki
Revision as of 22:26, 24 March 2023 by alpha>Artiverma

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

1990 के दशक के अंत में जटिल सॉफ्टवेयर प्रौद्यौगिको द्वारा x86 वर्चुअलाइजेशन प्राप्त किया गया था, जो उचित प्रदर्शन प्राप्त करते समय प्रोसेसर की हार्डवेयर-समर्थित वर्चुअलाइजेशन क्षमताओं के आभाव को पूर्ण करने के लिए आवश्यक था। 2005 एवं 2006 में, इंटेल (वीटी-एक्स) एवं एएमडी (एएमडी-वी) दोनों ने हार्डवेयर-असिस्टेड वर्चुअलाइजेशन समर्थन प्रस्तुत किया जो सरल वर्चुअलाइजेशन सॉफ़्टवेयर की अनुमति देता है परन्तु इसमें कम गति लाभ की प्रस्तुतकश की गयी है।[1] ग्रेटर हार्डवेयर समर्थन, जिसने पर्याप्त गति सुधार की अनुमति दी, प्रोसेसर मॉडल के साथ आया था।

सॉफ्टवेयर आधारित वर्चुअलाइजेशन

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

संरक्षित मोड में ऑपरेटिंग प्रणाली कर्नेल उच्च विशेषाधिकार जैसे सुरक्षा रिंग 0 पर चलता है, एवं अनुप्रयोग कम विशेषाधिकार जैसे रिंग 3 पर चलता है। सॉफ़्टवेयर-आधारित वर्चुअलाइज़ेशन में, होस्ट ओएस की हार्डवेयर तक सीधी अपितु अतिथि ओएस की हार्डवेयर तक सीमित पहुँच होती है, होस्ट ओएस के किसी अन्य एप्लिकेशन के समान होती है । इस सीमा को पार करने के लिए x86 सॉफ्टवेयर-आधारित वर्चुअलाइजेशन में उपयोग किए जाने वाले दृष्टिकोण को रिंग डेप्रिविलेजिंग कहा जाता है, जिसमें अतिथि ओएस 0 से अधिक (कम विशेषाधिकार प्राप्त) रिंग पर चलाना है।[2]संरक्षित मोड के वर्चुअलाइजेशन को संभव करने वाली तीन प्रौद्यौगिकी है :

  • बाइनरी अनुवाद का उपयोग रिंग 3 निर्देशों के संदर्भ में रिंग 0 निर्देशों को पुनः लिखने के लिए किया जाता है, जैसे कि इंटरप्ट फ़्लैग सेटिंग एवं क्लियरिंग, जो विफल हो जाएगा या रिंग 0 के ऊपर निष्पादित होने पर भिन्न व्यवहार करेगा,[3][4]: 3  क्लासिक ट्रैप-एंड-एमुलेट वर्चुअलाइजेशन को असंभव बनता है।[4]: 1 [5] प्रदर्शन में सुधार करने के लिए, अनुवादित बुनियादी ब्लॉक को सुसंगत उपाय से कैश करने की आवश्यकता होती है जो कोड पैचिंग (उदाहरण के लिए वीएक्सडी में प्रयुक्त), अतिथि ओएस द्वारा पृष्ठों का पुन: उपयोग, या स्वयं-संशोधित कोड का पता लगाता है।[6]
  • प्रोसेसर द्वारा उपयोग की जाने वाली कई प्रमुख डेटा संरचनाओं को छाया स्मृति होना चाहिए क्योंकि अधिकांश ऑपरेटिंग प्रणाली पृष्ठांकित आभासी स्मृति उपयोग करते हैं, एवं अतिथि ओएस को मेमोरी प्रबंधन इकाई तक सीधे पहुंच प्रदान करने का अर्थ सूत्र द्वारा नियंत्रण की हानि होती है, x86 एमएमयू के कुछ कार्यों को अतिथि ओएस के लिए सॉफ़्टवेयर में प्रतिरूपित करने की आवश्यकता होती है। प्रौद्यौगिकी को शैडो पेज टेबल के रूप में जाना जाता है।[7]: 5 [4]: 2  इसमें अतिथि ओएस को वास्तविक पृष्ठ तालिका प्रविष्टियों तक पहुंच के प्रयासों को फंसाने एवं सॉफ्टवेयर के अतिरिक्त उन्हें अनुकरण करने से मना करना सम्मिलित है। x86 आर्किटेक्चर प्रोसेसर में खंड वर्णनकर्ता को एकत्रित करने के लिए हिडन स्टेट का उपयोग करता है, इसलिए सेगमेंट डिस्क्रिप्टर को प्रोसेसर में लोड कर दिया जाता है, जिस मेमोरी से उन्हें लोड किया गया है वह अधिलेखित हो सकता है एवं डिस्क्रिप्टर को प्रोसेसर से वापस लाने का कोई उपाय नहीं है। इसलिए शैडो डिस्क्रिप्टर टेबल का उपयोग अतिथि ओएस द्वारा डिस्क्रिप्टर टेबल में किए गए परिवर्तनों को ट्रैक करने के लिए किया जाना चाहिए।[5]* आई/ओ डिवाइस एमुलेशन अतिथि ओएस पर असमर्थित डिवाइस को एमुलेटर द्वारा अनुकरण किया जाना चाहिए जो होस्ट ओएस में चलता है।[8]

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

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

डेनाली (ऑपरेटिंग प्रणाली), L4 एवं एक्सईएन जैसी अन्य प्रणालियों द्वारा एक भिन्न मार्ग लिया गया, जिसे पैरावर्चुअलाइजेशन के रूप में जाना जाता है, जिसमें परिणामी वर्चुअल मशीन पर चलने के लिए ऑपरेटिंग प्रणाली को पोरटिंग करना सम्मिलित है, जो वास्तविक x86 निर्देश के भागों को प्रस्तावितनहीं करता है। सेट जो वर्चुअलाइज करना मुश्किल है। पैरावर्चुअलाइज्ड आई/ओ के महत्वपूर्ण प्रदर्शन लाभ हैं जैसा कि ऑपरेटिंग प्रणाली सिद्धांतों'03 एक्सईएन पेपर पर मूल संगोष्ठी में प्रदर्शित किया गया है।[10] x86-64 (एएमडी64) के प्रारंभिक संस्करण ने लंबे मोड में विभाजन समर्थन की कमी के कारण केवल सॉफ्टवेयर के पूर्ण वर्चुअलाइजेशन की अनुमति नहीं दी, जिससे हाइपरविजर की मेमोरी की सुरक्षा असंभव हो गई, विशेष रूप से सुरक्षा ट्रैप हैंडलर का जो अतिथि कर्नेल एड्रेस स्पेस में चलता है।[11][12] संशोधन डी एवं पश्चात में 64-बिट एएमडी प्रोसेसर (एक नियम के रूप में, जो 90 एनएम या उससे कम में निर्मित हैं) ने लंबे मोड में विभाजन के लिए बुनियादी समर्थन जोड़ा, जिससे बाइनरी के माध्यम से 64-बिट होस्ट में 64-बिट अतिथि चलाना संभव हो गया। इंटेल ने अपने x86-64 कार्यान्वयन (इंटेल 64) में विभाजन समर्थन नहीं जोड़ा, जिससे इंटेल सीपीयू पर 64-बिट सॉफ़्टवेयर-केवल वर्चुअलाइज़ेशन असंभव हो गया, परन्तु इंटेल वीटी-x समर्थन 64-बिट हार्डवेयर असिस्टेड वर्चुअलाइज़ेशन को इंटेल प्लेटफ़ॉर्म पर संभव बनाता है।[13][14]: 4 

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

हार्डवेयर-असिस्टेड वर्चुअलाइजेशन

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

सेंट्रल प्रोसेसिंग यूनिट

वर्चुअल 8086 मोड

इंटेल 80286 ओएस समर्थन के साथ इंटेल 80286 संरक्षित मोड पर आधारित, जो अपने आप में समवर्ती डीओएस अनुप्रयोगों को अच्छी तरह से चलाने के लिए पर्याप्त नहीं था, इंटेल ने अपने इंटेल 80386 चिप में वर्चुअल 8086 मोड प्रस्तुत किया, जिसने 386 एवं पश्चात में वर्चुअलाइज्ड 8086 प्रोसेसर की प्रस्तुतकश की चिप्स। संरक्षित मोड को वर्चुअलाइज करने के लिए हार्डवेयर समर्थन, हालांकि, 20 साल पश्चात उपलब्ध हुआ।[15]


{{Anchor|एएमडी-V}एएमडी वर्चुअलाइजेशन (एएमडी-वी)

एएमडी ने अपनी प्रथम पीढ़ी के वर्चुअलाइजेशन एक्सटेंशन को कोड नाम पैसिफिक केअंतर्गत विकसित किया, एवं शुरू में उन्हें एएमडी सिक्योर वर्चुअल मशीन (एसवीएम) के रूप में प्रकाशित किया,[16] परन्तु पश्चात में ट्रेडमार्क एएमडी वर्चुअलाइजेशन, संक्षिप्त रूप से एएमडी-वी केअंतर्गत उनका विपणन किया।

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

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

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

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

एएमडी-V के लिए सीपीयू फ्लैग (x86) svm है। इसे dmesg या sysctl के माध्यम से BSD ऑपरेटिंग प्रणाली की तुलना में एवं Linux के माध्यम से चेक किया जा सकता है /proc/सीपीयूinfo.[19]एएमडी-V के निर्देशों में वीएमरन, वीएमलोड, वीएमसेव, सीएलजीआई, वीएमएमकॉल, आईएनवीएलपीजीए, स्किनिट एवं एसटीजीआई सम्मिलित हैं।

कुछ मदरबोर्ड के साथ, एप्लिकेशन द्वारा इसका उपयोग करने से प्रथम उपयोगकर्ताओं को बीआईओएस सेटअप में एएमडी एसवीएम सुविधा को सक्षम करना होगा।[20]


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

इंटेल कोर i7 माइक्रोप्रोसेसरों की सूची # ब्लूमफील्ड (45 एनएम) (ब्लूमफील्ड) सीपीयू

प्रथम कोडनाम वेंडरपूल, वीटी-x x86 प्लेटफॉर्म पर वर्चुअलाइजेशन के लिए इंटेल की प्रौद्यौगिकी का प्रतिनिधित्व करता है। 13 नवम्बर 2005 को, इंटेल ने वीटी-x का समर्थन करने वाले प्रथम इंटेल प्रोसेसर के रूप में Pentium 4 के दो मॉडल (मॉडल 662 एवं 672) जारी किए। वीटी-एक्स क्षमता के लिए सीपीयू फ्लैग वीएमएक्स है; लिनक्स में, इसे के माध्यम से चेक किया जा सकता है /proc/सीपीयूinfo, या macओएस के माध्यम से sysctl machdep.सीपीयू.features.[19]

VMX वर्चुअल मशीन एक्सटेंशन के लिए खड़ा है, जो 13 नए निर्देश जोड़ता है:वीएमपीटीआरएलडी, वीएमपीटीआरएसटी, वीएमक्लियर, वीएमरीड, वीएमराइट, वीएमकॉल, वीएमलॉन्च, वीएमरिज्यूमे, वीएमएक्सऑफ, वीएमएक्सओएन, इनवेप्ट, इनवीवीपीआईडी, एवं वीएमफंक है।[21] ये निर्देश आभासी निष्पादन मोड में प्रवेश करने एवं बाहर निकलने की अनुमति देते हैं जहां अतिथि ओएस स्वयं को पूर्ण विशेषाधिकार (रिंग 0) के साथ चलने वाला मानता है, परन्तु होस्ट ओएस सुरक्षित रहता है।

As of 2015, लगभग सभी नए सर्वर, डेस्कटॉप एवं मोबाइल इंटेल प्रोसेसर प्राथमिक अपवाद के रूप में कुछ इंटेल एटम प्रोसेसर के साथ वीटी-एक्स का समर्थन करते हैं।[22] कुछ मदरबोर्ड के साथ, उपयोगकर्ताओं को इंटेल के वीटी-x फीचर को वीआईओएस सेटअप में सक्षम करना चाहिए, इससे प्रथम कि एप्लिकेशन इसका उपयोग कर सकें।[23] इंटेल ने एक्सटेंडेड पेज टेबल्स (ईपीटी) को सम्मिलित करना शुरू किया,[24] पेज-टेबल वर्चुअलाइजेशन के लिए एक प्रौद्यौगिकी,[25] नेहलेम (माइक्रोआर्किटेक्चर) वास्तुकला के पश्चात से,[26][27] 2008 में जारी किया गया। 2010 में, वेस्टमेयर (माइक्रोआर्किटेक्चर) ने तार्किक प्रोसेसर को सीधे वास्तविक मोड में लॉन्च करने के लिए समर्थन जोड़ा – अप्रतिबंधित अतिथि नामक सुविधा, जिसके लिए कार्य करने के लिए ईपीटी की आवश्यकता होती है।[28][29] हैसवेल (माइक्रोआर्किटेक्चर) माइक्रोआर्किटेक्चर (2013 में घोषित) के पश्चात से, इंटेल ने वीएमसीएस शैडोइंग को एक ऐसी प्रौद्यौगिकी के रूप में सम्मिलित करना शुरू कर दिया है जो वीएमएम के वर्चुअलाइजेशन#नेस्टेड वर्चुअलाइजेशन को तेज करता है।[30] वर्चुअल मशीन कंट्रोल स्ट्रक्चर (वीसीएमएस) मेमोरी में डेटा संरचना है जो प्रति वीएम में सम्मिलित होता है, अपितु इसे VMM द्वारा प्रबंधित किया जाता है। विभिन्न वीएम के बीच निष्पादन संदर्भ के प्रत्येक परिवर्तन के साथ, वीएम के वर्चुअल प्रोसेसर की स्थिति को परिभाषित करते हुए, वीएमसीएस को वर्तमान वीएम के लिए बहाल किया जाता है।[31] जैसे ही एक से अधिक वीएमएम या नेस्टेड वीएमएम का उपयोग किया जाता है, एक समस्या एक तरह से प्रकट होती है जो आवश्यक छाया पृष्ठ तालिका प्रबंधन के आविष्कार के समान होती है, जैसा एसडब्ल्यूबीएएसईडीवर्णित है। ऐसे मामलों में, वीसीएमएस को (नेस्टिंग के मामले में) शैडो करने की आवश्यकता होती है एवं प्रोसेसर द्वारा कोई हार्डवेयर समर्थन नहीं होने की स्थिति में सॉफ्टवेयर में आंशिक रूप से प्रस्तावित किया जाता है। छाया वीसीएमएस को अधिक सुयोग बनाने के लिए, इंटेल ने वीसीएमएस शैडोइंग के लिए हार्डवेयर समर्थन प्रस्तावित किया है।[32]


वर्चुअलाइजेशन के माध्यम से (वीआईए वीटी)

वीआईए नैनो 3000 सीरीज प्रोसेसर एवं उच्च समर्थन वीआईए वीटी वर्चुअलाइजेशन प्रौद्यौगिकी इंटेल वीटी-x के साथ संगत है।[33] ईपीटी, झाओक्सिन जेडएक्स-सी में सम्मिलित है, जो वीआईए नैनो माइक्रोप्रोसेसरों की नैनो सूची के समान है।[34]


{{Anchor|इंटेलRRUPT}इंटरप्ट वर्चुअलाइजेशन (एएमडी एवीआईसी एवं इंटेल एपीआईसीवी)

2012 में, एएमडी ने अपने उन्नत वर्चुअल इंटरप्ट कंट्रोलर (एवीआईसी) की घोषणा की, जो वर्चुअलाइजेशन वातावरण में ओवरहेड कमी को लक्षित करता है।[35] यह प्रौद्यौगिकी, जैसा कि घोषित किया गया है, उन्नत प्रोग्रामेबल इंटरप्ट कंट्रोलर का समर्थन नहीं करती है।[36] 2016 में, एपीआईसीवी एएमडी परिवार के 15h मॉडल 6Xh पर उपलब्ध है, (कैरिज़ो) प्रोसेसर एवं नए।[37]2012 में, इंटेल ने इंटरप्ट एवं एडवांस्ड प्रोग्रामेबल इंटरप्ट कंट्रोलर वर्चुअलाइजेशन के लिए समान प्रौद्यौगिकी की घोषणा की, जिसकी घोषणा के समय कोई ब्रांड नाम नहीं था।[38] पश्चात में, इसे एपीआईसी वर्चुअलाइजेशन (एपीआईसीवी) के रूप में ब्रांडेड किया गया।[39] यह इंटेल सीपीयू की आइवी ब्रिज (माइक्रोआर्किटेक्चर) श्रृंखला में व्यावसायिक रूप से उपलब्ध हो गया, जिसे जिऑन E5-26xx v2 (2013 के अंत में लॉन्च किया गया) एवं जिऑन E5-46xx v2 (2014 की शुरुआत में लॉन्च) के रूप में बेचा गया।[40]


ग्राफिक्स प्रोसेसिंग यूनिट

ग्राफिक्स वर्चुअलाइजेशन x86 आर्किटेक्चर का हिस्सा नहीं है। इंटेल ग्राफिक्स वर्चुअलाइजेशन टेक्नोलॉजी (Gवीटी) ग्राफ़िक्स वर्चुअलाइज़ेशन को नवीनतम जेन ग्राफ़िक्स आर्किटेक्चर के भाग के रूप में प्रदान करता है। हालांकि एएमडी त्वरित प्रसंस्करण इकाई x86-64 निर्देश सेट को प्रस्तावित करता है, वे एएमडी के अपने ग्राफिक्स आर्किटेक्चर (TeraScale (माइक्रोआर्किटेक्चर), ग्राफिक्स कोर अगला एवं आरडीएनए (माइक्रोआर्किटेक्चर)) को प्रस्तावित करते हैं जो ग्राफिक्स वर्चुअलाइजेशन का समर्थन नहीं करते हैं। Larrabee (microआर्किटेक्चर ) x86 पर आधारित ग्राफिक्स माइक्रोआर्किटेक्चर था, परन्तु संभवतः इसमें ग्राफिक्स वर्चुअलाइजेशन के लिए समर्थन सम्मिलित नहीं था।

चिपसेट

मेमोरी एवं आई/ओ वर्चुअलाइजेशन चिपसेट द्वारा किया जाता है।[41] सामान्यतः इन सुविधाओं को बीआईओएस द्वारा सक्षम किया जाना चाहिए, जो उनका समर्थन करने में सक्षम होना चाहिए एवं उनका उपयोग करने के लिए भी सेट होना चाहिए।

आई/ओ एमएमयू वर्चुअलाइजेशन (एएमडी-वीबीआई एवं इंटेल वीटी-d)

Linux कर्नेल लॉग एएमडी-Vi जानकारी दिखा रहा है

एक इनपुट/आउटपुट मेमोरी मैनेजमेंट यूनिट (आईओएमएमयू) अतिथि आभासी मशीन ों को प्रत्यक्ष मेमोरी एक्सेस एवं बाधा डालना रीमैपिंग के माध्यम से ईथरनेट, त्वरित ग्राफिक्स कार्ड एवं हार्ड-ड्राइव नियंत्रकों जैसे परिधीय उपकरणों का सीधे उपयोग करने की अनुमति देता है। इसे कभी-कभी पीसीआई पासथ्रू कहा जाता है।[42]

आईओएमएमयू ऑपरेटिंग प्रणाली को बाउंस बफ़र्स को समाप्त करने की अनुमति देता है जिसकी आवश्यकता उन परिधीय उपकरणों के साथ संवाद करने के लिए होती है जिनके मेमोरी एड्रेस स्पेस ऑपरेटिंग प्रणाली के मेमोरी एड्रेस स्पेस से छोटे होते हैं, मेमोरी एड्रेस ट्रांसलेशन का उपयोग करके। उसी समय, एक आईओएमएमयू ऑपरेटिंग प्रणाली एवं हाइपरविजर को डीएमए हमले से बग्गी या दुर्भावनापूर्ण हार्डवेयर को रोकने के लिए भी अनुमति देता है।

एएमडी एवं इंटेल दोनों ने अपने आईओएमएमयू विनिर्देशों को जारी किया है:

  • एएमडी की आई/ओ वर्चुअलाइजेशन प्रौद्यौगिकी, एएमडी-Vi, जिसे मूल रूप से आईओएमएमयू कहा जाता है[43]
  • निर्देशित आई/ओ (वीटी-d) के लिए इंटेल की वर्चुअलाइजेशन प्रौद्यौगिकी,[44] कोर 2 आर्किटेक्चर के पश्चात से अधिकांश हाई-एंड (परन्तु सभी नहीं) नए इंटेल प्रोसेसर में सम्मिलित हैं।[45]

सीपीयू समर्थन के अतिरिक्त , मदरबोर्ड चिपसेट एवं प्रणाली फ़र्मवेयर (बीआईओएस या एकीकृत एक्सटेंसिबल फर्मवेयर इंटरफ़ेस) दोनों को आईओएमएमयू आई/ओ वर्चुअलाइज़ेशन कार्यक्षमता को प्रयोग करने योग्य बनाने के लिए पूरी तरह से समर्थन करने की आवश्यकता है। फ़ंक्शन स्तर रीसेट (एफएलआर) का समर्थन करने वाले केवल पारंपरिक पीसीआई या पीसीआई एक्सप्रेस उपकरणों को इस तरह से वर्चुअलाइज किया जा सकता है, क्योंकि यह वर्चुअल मशीनों के बीच विभिन्न पीसीआई डिवाइस फ़ंक्शन को पुन: असाइन करने के लिए आवश्यक है।[46][47] यदि असाइन किया जाने वाला डिवाइस संदेश संकेतित व्यवधान (एमएसआई) का समर्थन नहीं करता है, तो इसे असाइनमेंट के लिए अन्य डिवाइसों के साथ इंटरप्ट लाइनों को साझा नहीं करना चाहिए।[48] पीसीआई/पीसीआई-एक्स पीसीआईएक्सप्रेस ब्रिज के पीछे रूट किए गए सभी पारंपरिक पीसीआईउपकरणों को केवल एक बार अतिथि वर्चुअल मशीन को सौंपा जा सकता है; पीसीआई एक्सप्रेस उपकरणों पर ऐसा कोई प्रतिबंध नहीं है।

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

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


पीसीआई-एसआईजी सिंगल रूट आई/ओ वर्चुअलाइजेशन (एसआर-आईओवी)

पीसीआई-एसआईजी सिंगल रूट आई/ओ वर्चुअलाइजेशन (एसआर-आईओवी) पीसीआई-एसआईजी द्वारा मानकीकृत पीसीआईExpress (पीसीआईई) नेटिव हार्डवेयर पर आधारित सामान्य (गैर-x86 विशिष्ट) आई/ओ वर्चुअलाइजेशन विधियों का सेट प्रदान करता है:[50]

  • एड्रेस ट्रांसलेशन सर्विसेज (एटीएस) एड्रेस ट्रांसलेशन के जरिए पीसीआई एक्सप्रेस में नेटिव आईओवी को सपोर्ट करती है। ऐसे अनुवादों को कॉन्फ़िगर करने के लिए नए लेन-देन के लिए समर्थन की आवश्यकता होती है।
  • सिंगल-रूट इनपुट/आउटपुट वर्चुअलाइजेशन | सिंगल-रूट आईओवी (एसआर-आईओवी या एसआरआईओवी) सम्मिलिता सिंगल-रूट कॉम्प्लेक्स पीसीआई एक्सप्रेस टोपोलॉजी में देशी आईओवी का समर्थन करता है। इसे कई वर्चुअलाइज्ड कॉन्फ़िगरेशन स्पेस को कॉन्फ़िगर करने के लिए नई डिवाइस क्षमताओं के लिए समर्थन की आवश्यकता है।[51]
  • मल्टी-रूट आईओवी (एमआर-आईओवी) एसआर-आईओवी पर निर्माण करके नए टोपोलॉजी (उदाहरण के लिए, ब्लेड सर्वर) में देशी आईओवी का समर्थन करता है ताकि एक सामान्य पीसीआई एक्सप्रेस पदानुक्रम साझा करने वाले कई रूट कॉम्प्लेक्स प्रदान किए जा सकें।

एसआर-आईओवी में, इनमें से सबसे सामान्य, एक होस्ट वीएमएम समर्थित डिवाइस को उनके कॉन्फ़िगरेशन स्पेस की वर्चुअल शैडो बनाने एवं आवंटित करने के लिए कॉन्फ़िगर करता है ताकि वर्चुअल मशीन अतिथि ऐसे शैडो डिवाइस संसाधनों को सीधे कॉन्फ़िगर एवं एक्सेस कर सकें।[52] एसआर-आईओवी सक्षम होने के साथ, वर्चुअलाइज्ड नेटवर्क इंटरफेस सीधे मेहमानों के लिए सुलभ हैं,[53] वीएमएम की भागीदारी से बचना एवं परिणामस्वरूप उच्च समग्र प्रदर्शन;[51]उदाहरण के लिए, एसआर-आईओवी नासा के वर्चुअलाइज्ड डेटासेंटर में नंगी मशीन नेटवर्क बैंडविड्थ का 95% से अधिक प्राप्त करता है[54] एवं अमेज़ॅन वेब सेवाओं में।[55][56]


यह भी देखें

संदर्भ

  1. 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 Archived 2010-08-20 at the Wayback Machine"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.
  2. "इंटेल वर्चुअलाइजेशन टेक्नोलॉजी प्रोसेसर वर्चुअलाइजेशन एक्सटेंशन और इंटेल ट्रस्टेड एक्जीक्यूशन टेक्नोलॉजी" (PDF). Intel.com. 2007. Archived (PDF) from the original on 2015-05-21. Retrieved 2016-12-12.
  3. "USENIX Technical Program - Abstract - Security Symposium - 2000". Usenix.org. 2002-01-29. Archived from the original on 2010-06-10. Retrieved 2010-05-02.
  4. 4.0 4.1 4.2 4.3 4.4 "A Comparison of Software and Hardware Techniques for x86 Virtualization" (PDF). VMware. Archived (PDF) from the original on 20 August 2010. Retrieved 8 September 2010.
  5. 5.0 5.1 U.S. Patent 6,397,242
  6. U.S. Patent 6,704,925
  7. "Virtualization: architectural considerations and other evaluation criteria" (PDF). VMware. Archived (PDF) from the original on 6 February 2011. Retrieved 8 September 2010.
  8. 8.0 8.1 U.S. Patent 6,496,847
  9. "वीएमवेयर और हार्डवेयर असिस्ट टेक्नोलॉजी" (PDF). Archived (PDF) from the original on 2011-07-17. Retrieved 2010-09-08.
  10. "ज़ेन और वर्चुअलाइजेशन की कला" (PDF). Archived (PDF) from the original on 2014-09-29.
  11. "How retiring segmentation in AMD64 long mode broke VMware". Pagetable.com. 2006-11-09. Archived from the original on 2011-07-18. Retrieved 2010-05-02.
  12. "वीएमवेयर और सीपीयू वर्चुअलाइजेशन टेक्नोलॉजी" (PDF). VMware. Archived (PDF) from the original on 2011-07-17. Retrieved 2010-09-08.
  13. "VMware KB: Hardware and firmware requirements for 64bit guest operating systems". Kb.vmware.com. Archived from the original on 2010-04-19. Retrieved 2010-05-02.
  14. "Software and Hardware Techniques for x86 Virtualization" (PDF). Archived from the original (PDF) on 2010-01-05. Retrieved 2010-05-02.
  15. Yager, Tom (2004-11-05). "Sending software to do hardware's job | Hardware - InfoWorld". Images.infoworld.com. Archived from the original on 2014-10-18. Retrieved 2014-01-08.
  16. "33047_SecureVirtualMachineManual_3-0.book" (PDF). Archived (PDF) from the original on 2012-03-05. Retrieved 2010-05-02.
  17. "What are the main differences between Second-Generation AMD Opteron processors and first-generation AMD Opteron processors?". amd.com. Archived from the original on April 15, 2009. Retrieved 2012-02-04.
  18. "What virtualization enhancements do Quad-Core AMD Opteron processors feature?". amd.com. Archived from the original on April 16, 2009. Retrieved 2012-02-04.
  19. 19.0 19.1 To see if your processor supports hardware virtualization Archived 2012-11-25 at the Wayback Machine Intel 2012.
  20. Inc, QNAP Systems. "How to enable Intel VTx and AMD SVM? | QNAP". QNAP Systems, Inc. - Network Attached Storage (NAS) (in English). Retrieved 2020-12-23. {{cite web}}: |last= has generic name (help)
  21. INTEL (October 2019). "Intel® 64 and IA-32 Architectures Software Developer's Manual". intel.com. Intel Corporation. Retrieved 2020-01-04.
  22. "इंटेल वर्चुअलाइजेशन प्रौद्योगिकी सूची". Ark.intel.com. Archived from the original on 2010-10-27. Retrieved 2010-05-02.
  23. "Windows Virtual PC: Configure BIOS". Microsoft. Archived from the original on 2010-09-06. Retrieved 2010-09-08.
  24. Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig (2006). "Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization" (PDF). Intel Technology Journal. Intel. 10 (3): 167–178. doi:10.1535/itj.1003.01. Archived from the original (PDF) on 2012-09-25. Retrieved 2008-07-06.
  25. Gillespie, Matt (2007-11-12). "Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology: EPT and VT-d". Intel Software Network. Intel. Archived from the original on 2008-12-26. Retrieved 2008-07-06.
  26. "First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem)" (PDF) (Press release). Intel. Archived (PDF) from the original on 2009-01-26. Retrieved 2008-07-06.
  27. "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.
  28. [1] "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."
  29. [2] "If the “unrestricted guest” VM-execution control is 1, the “enable EPT” VM-execution control must also be 1"
  30. "4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing" (PDF). Intel. 2013. Retrieved 2014-12-16.
  31. Understanding Intel Virtualization Technology (VT). Archived September 8, 2014, at the Wayback Machine Retrieved 2014-09-01
  32. The 'what, where and why' of VMCS shadowing. Archived 2014-09-03 at the Wayback Machine Retrieved 2014-09-01
  33. VIA Introduces New VIA Nano 3000 Series Processors Archived January 22, 2013, at the Wayback Machine
  34. "Notebook Solution: Kaixian ZX-C Processor + VX11PH Chipset" (PDF).
  35. Wei Huang, Introduction of AMD Advanced Virtual Interrupt Controller Archived 2014-07-14 at the Wayback Machine, XenSummit 2012
  36. 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.
  37. "[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.
  38. 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.
  39. Khang Nguyen (2013-12-17). "APIC Virtualization Performance Testing and Iozone". software.intel.com. Archived from the original on 2014-07-14. Retrieved 2014-07-12.
  40. "Product Brief Intel Xeon Processor E5-4600 v2 Product Family" (PDF). Intel. 2014-03-14. Archived (PDF) from the original on 2014-07-14. Retrieved 2014-07-12.
  41. "Intel platform hardware support for I/O virtualization". Intel.com. 2006-08-10. Archived from the original on 2007-01-20. Retrieved 2012-02-04.
  42. "लिनक्स वर्चुअलाइजेशन और पीसीआई पासथ्रू". IBM. Archived from the original on 1 November 2009. Retrieved 10 November 2010.
  43. "AMD I/O Virtualization Technology (IOMMU) Specification Revision 1.26" (PDF). Archived (PDF) from the original on 2011-01-24. Retrieved 2011-05-24.
  44. "Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification". Archived from the original on 2013-04-03. Retrieved 2012-02-04.
  45. "Intel Virtualization Technology for Directed I/O (VT-d) Supported CPU List". Ark.intel.com. Archived from the original on 2010-10-27. Retrieved 2012-02-04.
  46. "PCI-SIG Engineering Change Notice: Function Level Reset (FLR)" (PDF). pcisig.com. 2006-06-27. Archived (PDF) from the original on 2016-03-04. Retrieved 2014-01-10.
  47. "Xen VT-d". xen.org. 2013-06-06. Archived from the original on 2014-02-09. Retrieved 2014-01-10.
  48. "How to assign devices with VT-d in KVM". linux-kvm.org. 2014-04-23. Archived from the original on 2015-03-10. Retrieved 2015-03-05.
  49. "कनेक्टिविटी के लिए इंटेल वर्चुअलाइजेशन टेक्नोलॉजी (वीटी-सी)" (PDF). Intel.com. Archived (PDF) from the original on 2016-02-22. Retrieved 2018-02-14.
  50. "PCI-SIG I/O Virtualization (IOV) Specifications". Pcisig.com. 2011-03-31. Archived from the original on 2012-01-15. Retrieved 2012-02-04.
  51. 51.0 51.1 "Intel Look Inside: Intel Ethernet" (PDF). Intel. November 27, 2014. p. 104. Archived (PDF) from the original on March 4, 2016. Retrieved March 26, 2015.
  52. Yaozu Dong, Zhao Yu, Greg Rose (2008). "SR-IOV Networking in Xen: Architecture, Design and Implementation". usenix.org. USENIX. Archived from the original on 2014-01-09. Retrieved 2014-01-10.{{cite web}}: CS1 maint: uses authors parameter (link)
  53. Patrick Kutch; Brian Johnson; Greg Rose (September 2011). "An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology" (PDF). Intel. Archived (PDF) from the original on August 7, 2015. Retrieved September 24, 2015.
  54. "NASA's Flexible Cloud Fabric: Moving Cluster Applications to the Cloud" (PDF). Intel. Archived (PDF) from the original on 2012-12-22. Retrieved 2014-01-08.
  55. "एडब्ल्यूएस क्लाउड में उन्नत नेटवर्किंग". Scalable Logic. 2013-12-31. Archived from the original on 2014-01-09. Retrieved 2014-01-08.
  56. "Enhanced Networking in the AWS Cloud - Part 2". Scalable Logic. 2013-12-31. Archived from the original on 2014-01-10. Retrieved 2014-01-08.


बाहरी संबंध