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

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

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


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

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

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

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

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

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

पूर्ण वर्चुअलाइजेशन के लिए प्रमुख चुनौती विशेषाधिकार प्राप्त संचालनों का अवरोधन और अनुकरण है, जैसे IO निर्देश और किसी दिए गए वर्चुअल मशीन के अन्दर किए गए प्रत्येक ऑपरेशन के प्रभाव को उस वर्चुअल मशीन के अन्दर रखा जाना चाहिए - वर्चुअल ऑपरेशंस को किसी अन्य वर्चुअल मशीन, कंट्रोल प्रोग्राम या हार्डवेयर की स्थिति को बदलने की अनुमति नहीं दी जा सकती। कुछ मशीन निर्देशों को सीधे हार्डवेयर द्वारा निष्पादित किया जा सकता है, क्योंकि उनके प्रभाव पूरी तरह से नियंत्रण कार्यक्रम द्वारा प्रबंधित तत्वों में समाहित होते हैं, जैसे मेमोरी स्थान और अंकगणितीय रजिस्टर। लेकिन अन्य निर्देश जो वर्चुअल मशीन को प्रभावित कर सकते हैं उन्हें सीधे निष्पादित करने की अनुमति नहीं दी जा सकती है; इसके अतिरिक्त उन्हें फंसाया जाना चाहिए और अनुकरण किया जाना चाहिए। इस तरह के निर्देश या तो राज्य की जानकारी तक पहुँचते हैं या प्रभावित करते हैं जो वर्चुअल मशीन के बाहर है।

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

यह भी देखें

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

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

बाहरी संबंध

 * Compatibility is Not Transparency: बीएम M Detection Myths and Realities