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

From Vigyanwiki

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

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

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

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

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

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

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

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

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

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

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

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

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

वर्चुअल 8086 मोड

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

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

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

23 मई 2006 को, एएमडी ने एथलॉन 64 (ऑरलियन्स), एथलॉन 64X2 (विंडसर) इस प्रौद्यौगिकी का समर्थन करने वाले प्रथम एएमडी प्रोसेसर के रूप में प्रारम्भ किया है।

एएमडी-V की क्षमता एथलॉन 64 एवं X2 सदस्य के प्रोसेसरों में सॉकेट एएम2 , ट्यूरियन 64 X2, एवं ओपर्टन दूसरी पीढ़ी[17] एवं तीसरी पीढ़ी,[18] एएमडी फेनोएम एवं फेनोएम II प्रोसेसर हैं। एएमडी त्वरित प्रसंस्करण इकाई प्रोसेसर एएमडी-V को सपोर्ट करते हैं। एएमडी-V किसी भी सॉकेट 939 प्रोसेसर द्वारा समर्थित नहीं है। केवल सेमप्रॉन प्रोसेसर जो इसका समर्थन करते हैं वे एपीयू एवं हूरों, रेगोर, सरगास डेस्कटॉप सीपीयू हैं।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

चिपसमूह

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

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

लिनक्स कर्नेल लॉग एएमडी-वीआई जानकारी प्रदर्शित हो रहा है।

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

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

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

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

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

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

  • कनेक्टिविटी के लिए इंटेल की वर्चुअलाइजेशन टेक्नोलॉजी (VT-c) है।[49]
पीसीआई-एसआईजी सिंगल रूट I/O वर्चुअलाइजेशन (एसआर-आईओवी)

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

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

एसआर-आईओवी में, इनमें से सबसे सामान्य, होस्ट वीएमएम समर्थित डिवाइस को उनके कॉन्फ़िगरेशन स्पेस की वर्चुअल शैडो बनाने एवं आवंटित करने के लिए कॉन्फ़िगर करता है जिससे वर्चुअल उपकरणों में अतिथि ऐसे शैडो डिवाइस संसाधनों को सरलता से व्यवस्थित कर सकते है।[52] एसआर-आईओवी सक्षम होने के साथ, वर्चुअलाइज्ड नेटवर्क इंटरफेस अतिथि के लिए सुलभ हैं,[53]उदाहरण के लिए, एसआर-आईओवी नासा के वर्चुअलाइज्ड डेटासेंटर में नए उपकरणों नेटवर्क बैंडविड्थ का 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. "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.


बाहरी संबंध