हार्डवेयर-सहायप्रदत्त आभासीकरण

कम्प्यूटिंग में, हार्डवेयर-असिस्टेड वर्चुअलाइजेशन एक मंच वर्चुअलाइजेशन दृष्टिकोण है जो मुख्य रूप से होस्ट प्रोसेसर से हार्डवेयर क्षमताओं की मदद से कुशल पूर्ण वर्चुअलाइजेशन को सक्षम बनाता है। एक पूर्ण वर्चुअलाइजेशन का उपयोग एक पूर्ण हार्डवेयर वातावरण, या आभासी मशीन का अनुकरण करने के लिए किया जाता है, जिसमें एक असंशोधित अतिथि ऑपरेटिंग सिस्टम (मेजबान मशीन के समान निर्देश सेट का उपयोग करके) प्रभावी रूप से पूर्ण अलगाव में निष्पादित होता है। 2005, 2006 और 2010 में हार्डवेयर-समर्थित वर्चुअलाइजेशन को x86 प्रोसेसर (Intel VT-x, AMD-V या VIA Technologies) में जोड़ा गया था। (क्रमश)।

हार्डवेयर-समर्थित वर्चुअलाइजेशन को त्वरित वर्चुअलाइजेशन के रूप में भी जाना जाता है; Xen इसे हार्डवेयर वर्चुअल मशीन (HVM) कहता है, और आभासी लोहा इसे नेटिव वर्चुअलाइजेशन कहता है।

इतिहास
वीएम (ऑपरेटिंग सिस्टम) | वीएम/370, पहली वर्चुअल मशीन ऑपरेटिंग सिस्टम जेड साथ उपयोग के लिए हार्डवेयर-असिस्टेड वर्चुअलाइजेशन पहली बार 1972 में आईबीएम सिस्टम/370 पर दिखाई दिया। हाई-डेफिनिशन कंप्यूटर ग्राफिक्स (जैसे कंप्यूटर एडेड डिजाइन) की बढ़ती मांग के साथ, मेनफ्रेम के वर्चुअलाइजेशन ने 1970 के दशक के अंत में कुछ ध्यान खो दिया, जब आने वाले मिनी कंप्यूटर ने वितरित कंप्यूटिंग के माध्यम से संसाधन आवंटन को बढ़ावा दिया, जिसमें माइक्रो कंप्यूटर का कमोडिटीकरण शामिल था।

IBM अपने IBM Power Systems हार्डवेयर के लिए AIX, Linux और IBM i, और इसके IBM-मेनफ़्रेम कंप्यूटर सिस्टम z के लिए हार्डवेयर वर्चुअलाइज़ेशन प्रदान करता है। आईबीएम हार्डवेयर वर्चुअलाइजेशन के अपने विशिष्ट रूप को तार्किक विभाजन, या अधिक सामान्यतः एलपीएआर के रूप में संदर्भित करता है।

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

प्रारंभिक कार्यान्वयन x86 आर्किटेक्चर क्लासिकल वर्चुअलाइजेशन प्राप्त करने के लिए पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं को पूरा नहीं करता है:


 * तुल्यता: सूत्र|वर्चुअल मशीन मॉनिटर (वीएमएम) के तहत चलने वाले प्रोग्राम को अनिवार्य रूप से वैसा ही व्यवहार प्रदर्शित करना चाहिए जैसा कि समकक्ष मशीन पर सीधे चलते समय प्रदर्शित होता है।
 * संसाधन नियंत्रण (जिसे सुरक्षा भी कहा जाता है): वीएमएम वर्चुअलाइज्ड संसाधनों के पूर्ण नियंत्रण में होना चाहिए
 * दक्षता: मशीन निर्देशों के सांख्यिकीय रूप से प्रमुख अंश को वीएमएम हस्तक्षेप के बिना निष्पादित किया जाना चाहिए

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


 * 1) पहली पीढ़ी के x86 वीएमएम में पूर्ण वर्चुअलाइजेशन लागू किया गया था। यह कुछ संवेदनशील, गैर-वर्चुअलाइज़ेबल निर्देशों के निष्पादन को ट्रैप और वर्चुअलाइज़ करने के लिए द्विआधारी अनुवाद पर निर्भर करता है। इस दृष्टिकोण के साथ, महत्वपूर्ण निर्देशों की खोज की जाती है (स्थैतिक या गतिशील रूप से रन-टाइम पर) और सॉफ्टवेयर में नकल करने के लिए वीएमएम में ट्रैप के साथ प्रतिस्थापित किया जाता है। मूल रूप से वर्चुअलाइज्ड आर्किटेक्चर जैसे आईबीएम सिस्टम / 370 पर चलने वाली वर्चुअल मशीन की तुलना में बाइनरी ट्रांसलेशन में एक बड़ा प्रदर्शन ओवरहेड हो सकता है। VirtualBox, VMware कार्य केंद्र (केवल 32-बिट मेहमानों के लिए), और माइक्रोसॉफ्ट वर्चुअल पीसी, पूर्ण वर्चुअलाइजेशन के जाने-माने व्यावसायिक कार्यान्वयन हैं।
 * 2) पैरावर्चुअलाइजेशन एक ऐसी तकनीक है जिसमें हाइपरविजर एक एपीआई प्रदान करता है और अतिथि वर्चुअल मशीन का ओएस उस एपीआई को कॉल करता है, जिसमें ओएस संशोधन की आवश्यकता होती है।

2005 और 2006 में, Intel और AMD (स्वतंत्र रूप से काम करते हुए) ने X86 वर्चुअलाइजेशन#AMD वर्चुअलाइजेशन (AMD-V) के लिए क्रमशः Intel VT-x और AMD-V नामक नए प्रोसेसर एक्सटेंशन बनाए। इटेनियम आर्किटेक्चर पर, हार्डवेयर-असिस्टेड वर्चुअलाइजेशन को VT-i के रूप में जाना जाता है। इन एक्सटेंशन का समर्थन करने के लिए x86 प्रोसेसर की पहली पीढ़ी 2005 के अंत में 2006 की शुरुआत में जारी की गई थी:


 * 13 नवंबर 2005 को, Intel ने VT-x का समर्थन करने वाले पहले Intel प्रोसेसर के रूप में Pentium 4 के दो मॉडल (मॉडल 662 और 672) जारी किए।
 * 23 मई 2006 को, एएमडी ने एथलॉन 64 (ऑरलियन्स), एथलॉन 64 एक्स2 (विंडसर) और एथलॉन 64 एफएक्स (विंडसर) को इस तकनीक का समर्थन करने वाले पहले एएमडी प्रोसेसर के रूप में जारी किया।

हार्डवेयर-समर्थित x86 वर्चुअलाइजेशन के प्रसिद्ध कार्यान्वयन में VMware वर्कस्टेशन (केवल 64-बिट मेहमानों के लिए), XenCenter, Xen 3.x (वर्चुअल आयरन जैसे डेरिवेटिव सहित), कर्नेल-आधारित वर्चुअल मशीन और Microsoft Hyper-V शामिल हैं।

लाभ
हार्डवेयर-असिस्टेड वर्चुअलाइजेशन पैरावर्चुअलाइजेशन के रखरखाव ओवरहेड को कम करता है क्योंकि यह अतिथि ऑपरेटिंग सिस्टम में आवश्यक परिवर्तनों को कम करता है (आदर्श रूप से समाप्त करता है)। बेहतर प्रदर्शन प्राप्त करना भी काफी आसान है। वीएमवेयर इंजीनियरों द्वारा हार्डवेयर-समर्थित वर्चुअलाइजेशन का एक व्यावहारिक लाभ उद्धृत किया गया है और वर्चुअल आयरन।

नुकसान
हार्डवेयर-समर्थित वर्चुअलाइजेशन को होस्ट सीपीयू में स्पष्ट समर्थन की आवश्यकता होती है, जो सभी x86/x86_64 प्रोसेसर पर उपलब्ध नहीं है।

एक शुद्ध हार्डवेयर-समर्थित वर्चुअलाइजेशन दृष्टिकोण, पूरी तरह से असंशोधित अतिथि ऑपरेटिंग सिस्टम का उपयोग करते हुए, कई वीएम ट्रैप शामिल करता है, और इस प्रकार उच्च सीपीयू ओवरहेड्स, स्केलेबिलिटी को सीमित करता है और सर्वर समेकन की दक्षता। इस प्रदर्शन हिट को पैरावर्चुअलाइज्ड ड्राइवरों के उपयोग से कम किया जा सकता है; संयोजन को हाइब्रिड वर्चुअलाइजेशन कहा गया है। 2006 में पहली पीढ़ी के 32- और 64-बिट x86 हार्डवेयर समर्थन को शायद ही कभी सॉफ्टवेयर वर्चुअलाइजेशन पर प्रदर्शन लाभ प्रदान करने के लिए पाया गया था।

यह भी देखें

 * इंटेल वीटी-डी
 * IOMMU का उपयोग करके हार्डवेयर-समर्थित वर्चुअलाइजेशन का और परिशोधन संभव है; यह प्रत्यक्ष मेमोरी एक्सेस-सक्षम हार्डवेयर सहित अतिथि ऑपरेटिंग सिस्टम से समर्पित हार्डवेयर तक नेटिव-स्पीड एक्सेस की अनुमति देता है
 * द्वितीय स्तर का पता अनुवाद|सेकंड लेवल एड्रेस ट्रांसलेशन (एसएलएटी), दूसरे लेवल एड्रेस ट्रांसलेशन सहित कार्यान्वयन#रैपिड वर्चुअलाइजेशन इंडेक्सिंग या सेकंड लेवल एड्रेस ट्रांसलेशन#एक्सटेंडेड पेज टेबल्स
 * अन्य वर्चुअलाइजेशन तकनीकों में ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन शामिल है, जैसा कि वर्चुअजो द्वारा अभ्यास किया जाता है, और अनुप्रयोग वर्चुअलाइजेशन।
 * नैनो नैनोकर्नेल
 * हार्डवेयर अनुकरण
 * एमुलेटर
 * जेटीएजी
 * पृष्ठभूमि डिबग मोड इंटरफ़ेस
 * इन-सर्किट एमुलेटर