वर्चुअल मशीन: Difference between revisions
From Vigyanwiki
(Created page with "{{Short description|Software that emulates an entire computer}} {{Use dmy dates|date=June 2019|cs1-dates=y}} {{Program execution}} कंप्यूटिंग में,...") |
No edit summary |
||
| (9 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Short description|Software that emulates an entire computer}} | {{Short description|Software that emulates an entire computer}} | ||
{{Program execution}} | {{Program execution}} | ||
कंप्यूटिंग में, | कंप्यूटिंग में, '''वर्चुअल (आभासी) मशीन''' एक कंप्यूटर प्रणाली का '''वर्चुअलाइजेशन (आभासीकरण)/इम्यूलेशन''' है। वर्चुअल मशीन कंप्यूटर संरचना पर आधारित हैं और एक भौतिक कंप्यूटर की कार्यक्षमता प्रदान करती हैं। उनके कार्यान्वयन में विशेष हार्डवेयर, सॉफ्टवेयर या संयोजन सम्मिलित हो सकते हैं। वर्चुअल मशीनें अलग-अलग होती हैं और उनके फंक्शन द्वारा व्यवस्थित होती हैं, यहां दिखाया गया है: | ||
* ''सिस्टम वर्चुअल मशीन'' (जिसे पूर्ण वर्चुअलाइजेशन वीएम भी कहा जाता है) | * ''सिस्टम वर्चुअल मशीन'' (जिसे पूर्ण वर्चुअलाइजेशन (आभासीकरण) वीएम भी कहा जाता है) वास्तविक मशीन का विकल्प प्रदान करता है। वे संपूर्ण ऑपरेटिंग सिस्टम को निष्पादित करने के लिए आवश्यक कार्यक्षमता प्रदान करते हैं। एक हाइपरवाइजर हार्डवेयर को साझा करने और प्रबंधित करने के लिए मूल कोड का उपयोग करता है, जो कई वातावरणों की स्वीकृति देता है जो एक दूसरे से अलग होते हैं, फिर भी एक ही भौतिक मशीन पर सम्मिलित होते हैं। आधुनिक हाइपरविजर मुख्य रूप से होस्ट सेंट्रल प्रोसेसिंग यूनिट से हार्डवेयर-समर्थित आभासीकरण, आभासीकरण-विशिष्ट हार्डवेयर का उपयोग करते हैं। | ||
* प्रोसेस वर्चुअल मशीन को प्लेटफॉर्म से स्वतंत्र | * प्रोसेस वर्चुअल मशीन को प्लेटफॉर्म से स्वतंत्र परिवेश में कंप्यूटर प्रोग्राम को निष्पादित करने के लिए डिज़ाइन किया गया है। | ||
कुछ वर्चुअल मशीन एमुलेटर, जैसे कि | कुछ वर्चुअल मशीन एमुलेटर, जैसे कि त्वरित एमुलेटर और वीडियो गेम कंसोल एमुलेटर, को विभिन्न प्रणाली संरचना का एमुलेट (या वस्तुतः नकल) करने के लिए डिज़ाइन किया गया है, इस प्रकार सॉफ़्टवेयर एप्लिकेशन और ऑपरेटिंग सिस्टम को दूसरे सेंट्रल प्रोसेसिंग यूनिट या संरचना के लिए लिखे जाने की स्वीकृति देता है। ऑपरेटिंग-सिस्टम-स्तरीय वर्चुअलाइजेशन कंप्यूटर के संसाधनों को कर्नेल (ऑपरेटिंग सिस्टम) के माध्यम से विभाजित करने की स्वीकृति देता है। शर्तें सार्वभौमिक रूप से विनिमेय नहीं हैं। | ||
== परिभाषाएँ == | == परिभाषाएँ == | ||
=== सिस्टम वर्चुअल मशीन === | === सिस्टम वर्चुअल मशीन === | ||
{{main| | {{main|सिस्टम वर्चुअल मशीन}} | ||
{{See also| | {{See also|हार्डवेयर वर्चुअलाइजेशन और प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना}} | ||
एक वर्चुअल मशीन को मूल रूप से पोपेक और गोल्डबर्ग वर्चुअलाइजेशन आवश्यकताओं द्वारा वास्तविक कंप्यूटर मशीन के एक कुशल, अलग -अलग प्रतिलिपि के रूप में परिभाषित किया गया था।<ref name="Popek"/> वर्तमान उपयोग में वर्चुअल मशीनें सम्मिलित हैं जिनका किसी भी वास्तविक हार्डवेयर से कोई प्रत्यक्ष रूप से संबंध नहीं है।<ref name="Smith_Nair_05"/> वर्चुअल मशीन को संचालन करने वाले भौतिक, वास्तविक विश्व के हार्डवेयर को सामान्य रूप से 'होस्ट' कहा जाता है, और उस मशीन पर एम्यूलेट वर्चुअल मशीन को सामान्य रूप से 'गेस्ट' कहा जाता है। होस्ट कई गेस्ट का अनुकरण कर सकता है, जिनमें से प्रत्येक विभिन्न ऑपरेटिंग सिस्टम और हार्डवेयर प्लेटफॉर्म का अनुकरण कर सकता है। | |||
कई ऑपरेटिंग सिस्टम संचालन की अपेक्षा वर्चुअल मशीनों का प्रारंभिक उद्देश्य था, ताकि कई एकल-टास्किंग ऑपरेटिंग सिस्टमों के बीच टाइम शेयरिंग की स्वीकृति दी जा सके। कुछ स्थितियों में, सिस्टम वर्चुअल मशीन को वर्चुअल मेमोरी की अवधारणा का एक सामान्यीकरण माना जा सकता है जो ऐतिहासिक रूप से इससे पहले था। अंतरराष्ट्रीय व्यवसाय मशीन निगम का कंट्रोल प्रोग्राम/कैम्ब्रिज मॉनिटर सिस्टम, पूर्ण वर्चुअलाइजेशन की स्वीकृति देने वाली पहली प्रणाली, प्रत्येक उपयोगकर्ता को एकल-उपयोगकर्ता ऑपरेटिंग सिस्टम, संवादात्मक मॉनिटर प्रणाली (सीएमएस) प्रदान करके टाइम शेयरिंग को प्रयुक्त किया। वर्चुअल मेमोरी के विपरीत, सिस्टम वर्चुअल मशीन उपयोगकर्ता को उनके कोड में विशेषाधिकार प्राप्त निर्देश लिखने का अधिकार देती है। इस दृष्टिकोण के कुछ लाभ थे, जैसे इनपुट/आउटपुट उपकरणों को जोड़ना जो मानक प्रणाली द्वारा स्वीकृत नहीं है।<ref name="Smith_Nair_05"/> | |||
जैसे-जैसे तकनीक वर्चुअलाइजेशन के उद्देश्यों के लिए वर्चुअल मेमोरी विकसित करती है, कंप्यूटर ऑपरेटिंग सिस्टम पर कई वर्चुअल मशीनों के बीच मेमोरी साझाकरण को प्रबंधित करने के लिए मेमोरी ओवरकमिटमेंट (अधिवचनबद्धता) की नई प्रणाली प्रयुक्त की जा सकती है। एक ही भौतिक मशीन पर चलने वाली कई वर्चुअल मशीनों के बीच समान सामग्री वाले मेमोरी पेजों को साझा करना संभव हो सकता है, जिसके परिणामस्वरूप उन्हें एक ही भौतिक पेज पर कर्नेल समान-पेज संयोजन (केएसएम) नामक तकनीक द्वारा मैप किया जा सकता है। यह विशेष रूप से केवल पढ़ने योग्य पेजों के लिए उपयोगी है, जैसे कोड सेगमेंट रखने वाले, जो समान सॉफ़्टवेयर संचालन वाली कई वर्चुअल मशीनों, सॉफ़्टवेयर लाइब्रेरी, वेब सर्वर, मिडलवेयर घटकों आदि के स्थिति में है। गेस्ट ऑपरेटिंग सिस्टम की आवश्यकता नहीं है होस्ट हार्डवेयर के अनुरूप होने के लिए इस प्रकार भविष्य के सॉफ़्टवेयर का समर्थन करने के लिए एक ही कंप्यूटर (जैसे, विंडोज, लिनक्स, या ऑपरेटिंग सिस्टम के पूर्व संस्करण) पर विभिन्न ऑपरेटिंग सिस्टम संचालन संभव बनाता है।<ref name="Oliphant"/> | |||
अपने स्वयं के | एम्बेडेड (अंतः स्थापित) प्रणाली के संबंध में अलग गेस्ट ऑपरेटिंग सिस्टम का समर्थन करने के लिए वर्चुअल मशीन का उपयोग लोकप्रिय है। विशिष्ट उपयोग एक वास्तविक समय ऑपरेटिंग सिस्टम को एक साथ मुख्य जटिल ऑपरेटिंग सिस्टम, जैसे कि लिनक्स या विंडोज के साथ सक्रिय रखना होगा। एक अन्य उपयोग नवीन और अप्रमाणित सॉफ़्टवेयर के लिए अभी भी विकास के चरण में हैं, इसलिए यह एक सैंडबॉक्स (सॉफ़्टवेयर विकास) के अंदर सक्रिय है। ऑपरेटिंग सिस्टम के विकास के लिए वर्चुअल मशीनों के अन्य लाभ हैं और इसमें अधिकतम डिबगिंग अभिगम्य और तीव्र रीबूट सम्मिलित हो सकते हैं।<ref name="vmwarez_2006"/> | ||
अपने स्वयं के गेस्ट ऑपरेटिंग सिस्टम संचालन वाले एकाधिक वर्चुअल मशीन प्रायः सर्वर समेकन के लिए लगे हुए हैं।<ref name="vmware_2007"/> | |||
=== प्रक्रिया आभासी मशीन === | === प्रक्रिया आभासी मशीन === | ||
< | ''<nowiki>''एप्लिकेशन वर्चुअल मशीन''</nowiki> यहां पुनर्निर्देश करता है। एप्लिकेशन वर्चुअलाइजेशन के साथ भ्रमित न हों।'' | ||
एक प्रक्रिया | एक प्रक्रिया वर्चुअल मशीन, जिसे कभी-कभी एप्लिकेशन वर्चुअल मशीन या प्रबंधित रनटाइम परिवेश (एमआरई) कहा जाता है, होस्ट ऑपरेटिंग सिस्टम के अंदर एक सामान्य एप्लिकेशन के रूप में सक्रिय है और एकल प्रक्रिया का समर्थन करता है। यह तब बनता है जब वह प्रक्रिया प्रारंभ होती है और जब वह बाहर निकलती है तो नष्ट हो जाती है। इसका उद्देश्य एक प्रणाली प्लेटफ़ॉर्म-स्वतंत्र प्रोग्रामिंग परिवेश प्रदान करना है जो अंतर्निहित हार्डवेयर या ऑपरेटिंग सिस्टम के विवरणों को दूर करता है और किसी प्रोग्राम को किसी भी प्लेटफ़ॉर्म पर उसी तरह से निष्पादित करने की स्वीकृति देता है। | ||
एक प्रक्रिया वर्चुअल मशीन एक उच्च-स्तरीय अमूर्तता प्रदान करती है एक उच्च-स्तरीय प्रोग्रामिंग भाषा (सिस्टम वर्चुअल मशीन के निम्न-स्तरीय उद्योग मानक संरचना अमूर्तता की तुलना में) है। प्रक्रिया वर्चुअल मशीन एक दुभाषिया (कंप्यूटिंग) का उपयोग करके कार्यान्वित की जाती हैं; संकलित प्रोग्रामिंग भाषाओं के तुलनीय प्रदर्शन को समय-समय पर संकलन के उपयोग से प्राप्त किया जा सकता है।{{Citation needed|date=November 2015}} | |||
इस प्रकार का वर्चुअल मशीन जावा (प्रोग्रामिंग भाषा) के साथ लोकप्रिय हो गया है, जिसे जावा वर्चुअल मशीन का उपयोग करके कार्यान्वित किया जाता है। अन्य उदाहरणों में पैरट वर्चुअल मशीन और नेटवर्क समर्थित तकनीक फ्रेमवर्क सम्मिलित हैं, जो सामान्य भाषा रनटाइम नामक वर्चुअल मशीन पर सक्रिय है। ये सभी किसी भी कंप्यूटर भाषा के लिए अमूर्त परत के रूप में काम कर सकते हैं। | |||
प्रक्रिया वर्चुअल मशीन का एक विशेष स्थिति प्रणाली है जो एक (संभावित रूप से विषम) कंप्यूटर संघ के संचार तंत्र पर अमूर्त है। इस तरह के वर्चुअल मशीन में एक प्रक्रिया नहीं होती है, लेकिन संघ में प्रत्येक भौतिक मशीन के लिए एक प्रक्रिया होती है। वे अन्तर्संबद्ध और ऑपरेटिंग सिस्टम द्वारा प्रदान किए गए संचार तंत्र के अतिरिक्त प्रोग्रामर को एल्गोरिदम पर ध्यान केंद्रित करके प्रोग्रामिंग समवर्ती एप्लीकेशन के कार्य को आसान बनाने के लिए डिज़ाइन किए गए हैं। वे इस तथ्य को नहीं छिपाते हैं कि संचार होता है, और इस तरह संघ को एक मशीन के रूप में प्रस्तुत करने का प्रयास नहीं करते हैं।{{Citation needed|date=March 2013}} | |||
प्रक्रिया | अन्य प्रक्रिया वर्चुअल मशीन के विपरीत, ये प्रणाली एक विशिष्ट प्रोग्रामिंग भाषा प्रदान नहीं करते हैं, लेकिन एक सम्मिलित भाषा में सन्निहित हैं; सामान्य रूप से ऐसी प्रणाली कई भाषाओं (जैसे, C (प्रोग्रामिंग भाषा) और फोरट्रान) के लिए बाइंडिंग प्रदान करती है।{{Citation needed|date=March 2013}} सदृश वर्चुअल मशीन (पीवीएम) और संदेश पासिंग इंटरफेस (एमपीआई) इसके उदाहरण हैं। वे पूरी तरह से वर्चुअल मशीन नहीं हैं क्योंकि शीर्ष पर चल रहे एप्लिकेशन अभी भी सभी ऑपरेटिंग सिस्टम सेवाओं तक अभिगम्य रखते हैं और इसलिए प्रणाली मॉडल तक ही सीमित नहीं हैं। | ||
== इतिहास == | == इतिहास == | ||
''यह भी देखें: कंट्रोल प्रोग्राम/कैम्ब्रिज मॉनिटर सिस्टम का इतिहास और वर्चुअलाइजेशन विकास की समयरेखा'' | |||
सिस्टम वर्चुअल मशीन और प्रोसेस वर्चुअल मशीन दोनों ही 1960 के दशक की हैं और सक्रिय विकास के क्षेत्र बने हुए हैं। | सिस्टम वर्चुअल मशीन और प्रोसेस वर्चुअल मशीन दोनों ही 1960 के दशक की हैं और सक्रिय विकास के क्षेत्र बने हुए हैं। | ||
प्रणाली वर्चुअल मशीनें टाइम शेयरिंग से बाहर हो गईं, जैसा कि विशेष रूप से संगत टाइम शेयरिंग प्रणाली (सीटीएसएस) में प्रयुक्त किया गया है। टाइम शेयरिंग ने कई उपयोगकर्ताओं को एक कंप्यूटर का उपयोग करने की स्वीकृति दी समवर्ती कंप्यूटिंग: प्रत्येक प्रोग्राम को मशीन तक पूर्ण अभिगम दिखाई दी, लेकिन उस समय केवल एक प्रोग्राम को निष्पादित किया गया था, जिसमें प्रणाली टाइम स्लाइस में प्रोग्राम के बीच स्विच कर रहा था, प्रत्येक स्थिति को सहेज और पुनर्स्थापित कर रहा था। यह आभासी मशीनों में विकसित हुआ, विशेष रूप से अंतरराष्ट्रीय व्यवसाय मशीन निगम की अनुसंधान प्रणालियों के माध्यम से अंतरराष्ट्रीय व्यवसाय मशीन निगम एम44/44एक्स, जो आंशिक वर्चुअलाइजेशन का उपयोग करता है, और अंतरराष्ट्रीय व्यवसाय मशीन निगम नियंत्रण प्रोग्राम-40 और सिमुलेशन मॉनिटर, जो पूर्ण वर्चुअलाइजेशन का उपयोग करते हैं, और इसके प्रारम्भिक उदाहरण हाइपरविजर थे पहली व्यापक रूप से उपलब्ध वर्चुअल मशीन संरचना नियंत्रण प्रोग्राम-67/कैम्ब्रिज मॉनिटर प्रणाली थी (विवरण के लिए नियंत्रण प्रोग्राम/कैम्ब्रिज मॉनिटर प्रणाली का इतिहास देखें)। टाइम शेयरिंग के लिए एक होस्ट प्रणाली पर कई वर्चुअल मशीनों का उपयोग करने के बीच एक महत्वपूर्ण अंतर था, जैसा कि एम44/44एक्स और नियंत्रण प्रोग्राम-40 में, और प्रोटोटाइप के लिए होस्ट प्रणाली पर एक वर्चुअल मशीन का उपयोग करना, जैसा कि सिमुलेशन मॉनिटर में है। एम्यूलेटर्स, अनुकूलता के लिए पहले के प्रणाली के हार्डवेयर एमुलेशन के साथ, 1963 में अंतरराष्ट्रीय व्यवसाय मशीन निगम प्रणाली/360 के समय के हैं,<ref name="Pugh_1995"/><ref name="Pugh_1991"/> जबकि सॉफ्टवेयर एमुलेशन (तत्कालीन सिमुलेशन कहा जाता है) इससे पूर्व का है। | |||
प्रक्रिया आभासी मशीनें मूल रूप से एक मध्यवर्ती भाषा के लिए अमूर्त प्लेटफार्मों के रूप में उत्पन्न हुईं, जो एक संकलक द्वारा एक कार्यक्रम के मध्यवर्ती प्रतिनिधित्व के रूप में उपयोग की जाती हैं; | प्रक्रिया आभासी मशीनें मूल रूप से एक मध्यवर्ती भाषा के लिए अमूर्त प्लेटफार्मों के रूप में उत्पन्न हुईं, जो एक संकलक द्वारा एक कार्यक्रम के मध्यवर्ती प्रतिनिधित्व के रूप में उपयोग की जाती हैं; प्रारम्भिक उदाहरण 1966 के आसपास के हैं। 1966 के प्रारम्भिक उदाहरण ऑब्जेक्ट-कोड मशीन थे, एक वर्चुअल मशीन जो सामान्य संयुक्त प्रोग्रामिंग भाषा कंपाइलर के फ्रंट एंड द्वारा उत्सर्जित ओ-कोड (ऑब्जेक्ट कोड) को निष्पादित करती है। इस अमूर्तता ने कंपाइलर को एक नए कंपाइलर बैक एंड को प्रयुक्त करके आसानी से एक नए संरचना में पोर्ट करने की स्वीकृति दी, जिसने सम्मिलित ऑब्जेक्ट-कोड लिया और इसे अंतर्निहित भौतिक मशीन के लिए मशीन कोड में संकलित किया। यूलर (प्रोग्रामिंग भाषा) भाषा ने एक समान डिज़ाइन का उपयोग किया, जिसमें पी (पोर्टेबल) नाम की मध्यवर्ती भाषा थी।<ref name="Wirth_1966"/> यह 1970 के आसपास पास्कल (प्रोग्रामिंग भाषा) द्वारा लोकप्रिय हुआ, विशेष रूप से पास्कल-पी प्रणाली (1973) और पास्कल-एस कंपाइलर (1975) में,जिसमें इसे पी-कोड और परिणामी मशीन को पी-कोड मशीन कहा गया। यह प्रभावशाली रहा है, और इस अर्थ में आभासी मशीनों को प्रायः पी-कोड मशीन कहा जाता है। एक द्वितीयक भाषा होने के अतिरिक्त, पास्कल पी-कोड को वर्चुअल मशीन को प्रयुक्त करने वाले दुभाषिया द्वारा प्रत्यक्ष रूप से निष्पादित किया गया था, विशेष रूप से यूसीएसडी पास्कल (1978) में; इसने बाद के दुभाषियों को प्रभावित किया, विशेष रूप से यूसीएसडी पास्कल (1978) में; इसने बाद के दुभाषियों को प्रभावित किया, विशेष रूप से जावा वर्चुअल मशीन (जेवीएम) को प्रभावित किया। एक अन्य प्रारंभिक उदाहरण स्ट्रिंग ओरिएंटेड (शृंखला उन्मुख) और प्रतीकात्मक भाषा4 (1967) था, जिसे स्ट्रिंग ओरिएंटेड और प्रतीकात्मक भाषा कार्यान्वयन भाषा (एसआईएल) में लिखा गया था, जो एक वर्चुअल मशीन के लिए एक असेंबली भाषा थी, जिसे तब मैक्रो असेंबलर के माध्यम से अपने मूल असेंबलर में ट्रांसप्लिंग करके भौतिक मशीनों पर प्रकाशित किया गया था।<ref name="Griswold_1972"/> मैक्रों तब से समर्थन से बाहर हो गए हैं, इसलिए यह दृष्टिकोण कम प्रभावशाली रहा है। प्रोसेस वर्चुअल मशीनें प्रारम्भिक माइक्रो कंप्यूटर सॉफ़्टवेयर को प्रयुक्त करने के लिए एक लोकप्रिय दृष्टिकोण थीं, जिसमें टाइनी प्रारंभ का सर्व-उद्देश्यीय प्रतीकात्मक निर्देश कोड वर्चुअल मशीन और एडवेंचर गेम्स में कार्यान्वयन, पिरामिड 2000 जैसे एक सामान्य-उद्देश्य इंजन जैसे इन्फोकॉम की जेड-मशीन, जिसे ग्राहम नेल्सन तर्क संभवतः अब तक बनाई गई सबसे पोर्टेबल वर्चुअल मशीन है।<ref name="inform-interpreters"/> | ||
स्मॉलटॉक-80 के कार्यान्वयन में महत्वपूर्ण प्रगति हुई,<ref name="Goldberg_1983"/>विशेष रूप से | स्मॉलटॉक-80 के कार्यान्वयन में महत्वपूर्ण प्रगति हुई,<ref name="Goldberg_1983"/>विशेष रूप से ड्यूश/शिफमैन कार्यान्वयन<ref name="Deutsch_1984"/> जिसने प्रक्रिया वर्चुअल मशीन का उपयोग करने वाले कार्यान्वयन दृष्टिकोण के रूप में सही समय पर (जेआईटी) संकलन को आगे बढ़ाया।<ref name="Aycock_2003"/> बाद में उल्लेखनीय स्मॉलटाक वर्चुअल मशीन विजुअलवर्क्स, स्क्वीक वर्चुअल मशीन,<ref name="Ingalls_1997"/>और स्ट्रॉन्गटॉक थे।<ref name="Griswold_1993"/> एक संबंधित भाषा जिसने बहुत सारे वर्चुअल मशीन नवाचार का निर्माण किया, वह सेल्फ (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा थी,<ref name="Ungar_1987"/> जिसने अनुकूली अनुकूलन <ref name="Hoelzle"/> और पारंपरिक गारवेज संग्रह का नेतृत्व किया। ये तकनीकें 1999 में हॉटस्पॉट जावा वर्चुअल मशीन में व्यावसायिक रूप से सफल प्रमाणित हुईं।<ref name="Paleczny_2001"/> अन्य नवाचारों में एक पंजीकृत-आधारित वर्चुअल मशीन सम्मिलित है, जो स्टैक-आधारित वर्चुअल मशीन के अतिरिक्त अंतर्निहित हार्डवेयर से अधिकतम अनुरूप है, जो प्रोग्रामिंग भाषा के लिए एक लगभग समान है; 1995 में, लिम्बो (प्रोग्रामिंग भाषा) भाषा के लिए डिस वर्चुअल मशीन द्वारा अग्रणी था। ओपनजे9, ओपनजेडीके में हॉटस्पॉट जावा वर्चुअल मशीन का एक विकल्प है और हॉटस्पॉट की तुलना में अधिकतम स्टार्टअप और कम संसाधन उपभोग का दावा करने वाला एक मुक्त-स्त्रोत ग्रहण परियोजना है। | ||
== पूर्ण वर्चुअलाइजेशन == | == पूर्ण वर्चुअलाइजेशन == | ||
{{Main| | {{Main|पूर्ण वर्चुअलाइजेशन}} | ||
[[File:Hardware Virtualization (copy).svg|thumb|पूर्ण वर्चुअलाइजेशन का तार्किक आरेख]]पूर्ण वर्चुअलाइजेशन में, वर्चुअल मशीन एक असंशोधित | [[File:Hardware Virtualization (copy).svg|thumb|पूर्ण वर्चुअलाइजेशन का तार्किक आरेख]]पूर्ण वर्चुअलाइजेशन में, वर्चुअल मशीन एक असंशोधित गेस्ट ऑपरेटिंग सिस्टम (एक ही निर्देश सेट के लिए डिज़ाइन किया गया) को आइसोलेशन में सक्रिय करने के लिए पर्याप्त हार्डवेयर का अनुकरण करती है। यह दृष्टिकोण 1966 में अंतरराष्ट्रीय व्यवसाय मशीन निगम नियंत्रण प्रोग्राम-40 और | ||