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

कंप्यूटर विज्ञान में, पूर्ण वर्चुअलाइजेशन (fv) सिमुलेशन के विपरीत पर्यावरण के उदाहरण बनाने के लिए उपयोग की जाने वाली तकनीकों को नियोजित करता है, जो पर्यावरण को मॉडल करता है; या अनुकरण, जो कुछ प्रकार के वर्चुअल मशीन वातावरण जैसे लक्षित वातावरण को दोहराता है। पूर्ण वर्चुअलाइजेशन के लिए आवश्यक है कि हार्डवेयर की प्रत्येक मुख्य विशेषता कई वर्चुअल मशीनों में से एक में दिखाई दे - जिसमें पूर्ण निर्देश सेट, इनपुट/आउटपुट संचालन, इंटरप्ट्स, मेमोरी एक्सेस, और अन्य सभी तत्व शामिल हैं जो सॉफ्टवेयर द्वारा उपयोग किए जाते हैं जो नंगे मशीन पर चलते हैं, और इसका उद्देश्य वर्चुअल मशीन में चलाना है। ऐसे वातावरण में, कच्चे हार्डवेयर पर निष्पादन में सक्षम कोई भी सॉफ़्टवेयर वर्चुअल मशीन और विशेष रूप से किसी वीएम (ऑपरेटिंग सिस्टम) में चलाया जा सकता है। पूर्ण वर्चुअलाइजेशन का स्पष्ट परीक्षण यह है कि स्टैंड-अलोन उपयोग के लिए अभिप्रेत एक ऑपरेटिंग सिस्टम वर्चुअल मशीन के अंदर सफलतापूर्वक चल सकता है या नहीं। यह 1990 के दशक के अंत में विकसित एक आधुनिक तकनीक है और सिमुलेशन और एम्यूलेटर से अलग है।

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

Hypervisor, OS और उपयोगकर्ता मोड, VMCS, VM-Exit और VM-Entry के विशेषाधिकार स्तरों के विस्तृत विवरण के लिए Intel VT-x या AMD-V देखें। इस वर्चुअलाइजेशन को 60 के दशक के अंत और 70 के दशक की शुरुआत में आईबीएम वर्चुअल मशीन कार्यान्वयन के साथ भ्रमित नहीं होना चाहिए क्योंकि आईबीएम सिस्टम आर्किटेक्चर ने पर्यवेक्षक और प्रोग्राम के केवल दो मोड का समर्थन किया है जो वर्चुअल मशीनों की कोई सुरक्षा या पृथक्करण प्रदान नहीं करता है।

प्लेटफ़ॉर्म वर्चुअलाइज़ेशन के अन्य रूप केवल कुछ या संशोधित सॉफ़्टवेयर को वर्चुअल मशीन के भीतर चलाने की अनुमति देते हैं। साहित्य में 'पूर्ण वर्चुअलाइजेशन' की अवधारणा अच्छी तरह से स्थापित है, लेकिन इसे हमेशा इस विशिष्ट शब्द से संदर्भित नहीं किया जाता है; शब्दावली के लिए मंच वर्चुअलाइजेशन देखें।

आभासी मशीनों का एक महत्वपूर्ण उदाहरण, एमुलेशन द्वारा कार्यान्वित वर्चुअलाइजेशन के साथ भ्रमित न होने के लिए आईबीएम के सीपी/सीएमएस ऑपरेटिंग सिस्टम के नियंत्रण कार्यक्रम द्वारा प्रदान किया गया था। इसे पहली बार 1967 में IBM के IBM CP-40|CP-40 अनुसंधान प्रणाली के साथ प्रदर्शित किया गया था, फिर 1967-1972 में CP/CMS में खुले स्रोत के माध्यम से वितरित किया गया और 1972 से वर्तमान तक IBM के VM (ऑपरेटिंग सिस्टम) में फिर से लागू किया गया। प्रत्येक सीपी/सीएमएस उपयोगकर्ता को एक सिम्युलेटेड, स्टैंड-अलोन कंप्यूटर प्रदान किया गया था। ऐसी प्रत्येक वर्चुअल मशीन में अंतर्निहित मशीन की पूरी क्षमता थी, और (इसके उपयोगकर्ता के लिए) वर्चुअल मशीन एक निजी सिस्टम से अप्रभेद्य थी। यह सिमुलेशन व्यापक था, और हार्डवेयर के लिए 'प्रिंसिपल्स ऑफ ऑपरेशन' मैनुअल पर आधारित था। इस प्रकार इसमें निर्देश सेट, मुख्य मेमोरी, इंटरप्ट्स, अपवाद और डिवाइस एक्सेस जैसे तत्व शामिल थे। नतीजा एक ऐसी मशीन थी जिसे कई उपयोगकर्ताओं के बीच मल्टिप्लेक्स किया जा सकता था।

पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताएँ तत्वों के साथ ही पूर्ण वर्चुअलाइजेशन संभव है। उदाहरण के लिए, IBM के सिस्टम/360 श्रृंखला के अधिकांश अपवाद के साथ IBM सिस्टम/360-67 के साथ यह संभव नहीं था; न ही आईबीएम के शुरुआती सिस्टम/370 सिस्टम के साथ यह संभव था। आईबीएम ने 1972 में सिस्टम/370 श्रृंखला में वर्चुअल मेमोरी हार्डवेयर जोड़ा, जो इंटेल वीटी-एक्स रिंग्स के समान नहीं है, जो सुपरवाइजर और प्रोग्राम या उपयोगकर्ता मोड तक पूर्ण पहुंच की आवश्यकता वाले वर्चुअल मशीनों को ठीक से नियंत्रित करने के लिए हाइपरवाइजर के लिए एक उच्च विशेषाधिकार स्तर प्रदान करता है।

इसी तरह, 2005-2006 तक AMD-V और a के अतिरिक्त x86 प्लेटफॉर्म के साथ पूर्ण वर्चुअलाइजेशन संभव नहीं था।d Intel VT-x एक्सटेंशन (x86 वर्चुअलाइजेशन देखें)। x86 प्लेटफ़ॉर्म प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना की कई तुलनाएँ बहुत करीब आईं और उन्होंने AMD-V और Intel VT-x के अतिरिक्त होने से पहले ही पूर्ण वर्चुअलाइज़ेशन का दावा किया। उदाहरणों में ऑपरेटिंग सिस्टम के लिए अनुकूली डोमेन पर्यावरण, मैक-ऑन-लिनक्स, मैक के लिए समानताएं डेस्कटॉप, समानताएं वर्कस्टेशन, VMware कार्य केंद्र, वीएमवेयर सर्वर (पूर्व में जीएसएक्स सर्वर), VirtualBox, विन4बीएसडी और विन4लिन शामिल हैं। उदाहरण के लिए, वीएमवेयर द्विआधारी अनुवाद नामक एक तकनीक का उपयोग करता है जो स्वचालित रूप से x86 सॉफ़्टवेयर को स्वचालित रूप से संशोधित करने के लिए निर्देशों को बदलने के लिए वर्चुअल मशीन को निर्देशों के एक अलग, वर्चुअल मशीन सुरक्षित अनुक्रम के साथ बदल देता है; यह तकनीक पूर्ण वर्चुअलाइजेशन की उपस्थिति प्रदान करती है। पूर्ण वर्चुअलाइजेशन के लिए एक प्रमुख चुनौती विशेषाधिकार प्राप्त संचालनों का अवरोधन और अनुकरण है, जैसे I/O निर्देश। किसी दिए गए वर्चुअल मशीन के भीतर किए गए प्रत्येक ऑपरेशन के प्रभाव को उस वर्चुअल मशीन के भीतर रखा जाना चाहिए - वर्चुअल ऑपरेशंस को किसी अन्य वर्चुअल मशीन, कंट्रोल प्रोग्राम या हार्डवेयर की स्थिति को बदलने की अनुमति नहीं दी जा सकती। कुछ मशीन निर्देशों को सीधे हार्डवेयर द्वारा निष्पादित किया जा सकता है, क्योंकि उनके प्रभाव पूरी तरह से नियंत्रण कार्यक्रम द्वारा प्रबंधित तत्वों में समाहित होते हैं, जैसे मेमोरी स्थान और अंकगणितीय रजिस्टर। लेकिन अन्य निर्देश जो वर्चुअल मशीन को प्रभावित कर सकते हैं उन्हें सीधे निष्पादित करने की अनुमति नहीं दी जा सकती है; इसके बजाय उन्हें फंसाया जाना चाहिए और अनुकरण किया जाना चाहिए। इस तरह के निर्देश या तो राज्य की जानकारी तक पहुँचते हैं या प्रभावित करते हैं जो वर्चुअल मशीन के बाहर है।

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

यह भी देखें

 * प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
 * सीपी/सीएमएस
 * हार्डवेयर-असिस्टेड वर्चुअलाइजेशन
 * हाइपरजैकिंग
 * सूत्र
 * आई/ओ वर्चुअलाइजेशन
 * एलपीएआर
 * ओएस-स्तरीय वर्चुअलाइजेशन
 * पैरावर्चुअलाइजेशन
 * हार्डवेयर वर्चुअलाइजेशन
 * पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताएं
 * पीआर/एसएम
 * आभासी मशीन

संदर्भ
See specific sources listed under platform virtualization and (for historical sources) CP/CMS.

बाहरी संबंध

 * Compatibility is Not Transparency: VMM Detection Myths and Realities