वर्चुअल मशीन क्या है?

वर्चुअल मशीन क्या होता है (What is virtual machine)?

वर्चुअल मशीन (Virtual Machine) एक कॉनसेप्‍ट (concept) है जो वर्चुअल मशीन ऑपरेटिंग सिस्‍टम (Virtual Machine Operating System) द्वारा किया जाता है, जिसमें एक ही मशीन (machine) अनेक मशीनों के (machine) जैसे कार्य करते हुए प्रतीत होती है। अत: हम कह सकते हैं कि वर्चुअल मशीन (Virtual Machine) एक कॉनसेप्‍ट (concept) है, जो एक वास्‍तविक मशीन की जगह अनेकों वास्‍तविक मशीनों के होने का भ्रम उत्‍पन्‍न करती है। इस प्रकार के भ्रम की स्थिति की तुलना आप टेलीफोन लाइन से कर सकते हैं, जिसमें एक ही तार पर एक साथ अलग-अलग बातचीत (conversations) होती है। सामन्यतः वर्चुअल मशीन में एक हार्डवेयर पर अलग अलग प्रयोगकर्ता अपना अपना ऑपरेटिंग सिस्टम चला सकते हैं और इसका सबसे ज्यादा प्रयोग वेब सर्वर पर किया जाता है, जिसे वर्चुअल प्राइवेट सर्वर भी कहते हैं|

वर्चुअल मशीन तकनीक का सबसे महत्‍वपूर्ण पहलू यह है, कि प्रत्‍येक यूजर अपनी इच्‍छा के अनुसार ऑपरेटिंग सिस्‍टम को प्रयोग कर सकता है। इसी बात (fact) को OS1, OS2 तथा OS3 के माध्‍यम से ऊपर दर्शाए गए चित्र में दिखाया गया है। वर्चुअल मशीन (Virtual Machine) के कॉनसेप्‍ट को समझने के लिए आइए कनवेन्‍शनल मल्‍टीप्रोग्रामिंग सिस्‍टम (Conventional Multi-programming System) तथा वर्चुअल मशीन मल्‍टीप्रोग्रामिंग (Virtual Machine Multi-programming) पर एक नजर डालते हैं। नीचे दिए गए चित्र में कनवेन्‍शनल मल्‍टीप्रोग्रामिंग सिस्‍टम तथा वर्चुअल मशीन मल्‍टीप्रोग्रामिंग को दर्शाया गया है।


कनवेन्‍शनल मल्‍टीप्रोग्रामिंग सिस्‍टम में एक से अधिक प्रोसेसेस एक ही वास्‍तविक मशीन (real machine) के रिसोर्सेस के बीच वितरित (distribute) किए जाते हैं जबकि वर्चुअल मल्‍टीप्रोग्रामिंग सिस्‍टम में एक ही वास्‍तविक मशीन (real machine) एक से अधिक वर्चुअल मशीन होने का भ्रम उत्‍पन्‍न करता है; जहां प्रत्‍येक वर्चुअल मशीन अपना-अपना वर्चुअल प्रोसेसर (virtual processor) तथा स्‍टोरेज और इनपुट/आउटपुट डिवाइसेस (storage and I/O devices) होता है। इसके लिए प्रोसेस शिड्यूलिंग (process scheduling) की जाती है एवं वर्चुअल मेमोरी ऑर्गेनाइजेशन (Virtual Memory Organization) नामक तकनीक का प्रयोग किया जाता है।

प्रोसेस शिड्यूलिंग का प्रयोग CPU को इस तरह शेयर (share) करने के लिए किया जा सकता है जिससे कि प्रत्‍येक यूजर को ऐसा महसूस हो कि उनके अपने-अपने प्रोसेसर हैं। जबकि वर्चुअल मेमोरी ऑर्गेनाइजेशन नामक तकनीक का प्रयोग प्रोग्राम को एक्‍जक्‍यूट करने के लिए काफी बड़ी मेमारी (large memory) की उपलब्‍धता का भ्रम (Illusion) उत्‍पन्‍न करने के लिए किया जाता है।

वर्चुअल मशीन के उपयोग तथा लाभ (Usage and advantage of virtual machine)

  1. विभिन्‍न यूजर्स एक साथ असमान (dissimilar) ऑपरेटिंग सिस्‍टम्‍स को रन कर सकते हैं।
  2. कुछ निश्चित कनवर्जन की समस्‍या (certain conversion problem) को दूर करता है।
  3. कम्‍पेटिबल (compatible) होने के कारण अन्‍य मशीन डिपेन्‍डेन्‍ड प्रोग्राम को एक्‍जक्‍यूट करने की सुविधा प्रदान करता हैं।
  4. प्रत्‍येक वर्चुअल मशीन के एक-दूसरे से पूर्णरूपेण अलग होने के कारण, सिस्‍टम रिसोर्सेस पूर्णरूपेण सुरक्षित (protected) होते हैं।
  5. कभी भी किसी भी वर्चुअल मशीन के लिए प्रयोग होने वाले रिसोर्सेज को कम या बढ़ाया जा सकता है|

वर्चुअल मशीन में प्रोसेस शिड्यूलिंग (Process Scheduling in Virtual Machine)

वर्चुअल मशीन्‍स, फिजिकल कम्‍प्‍यूटर (physical computer) रिसोर्सेस को शेयर कर क्रिएट किए जाते हैं। CPU की शिड्यूलिंग (scheduling) इस प्रकार की जाती है कि प्रत्‍येक यूजर को ऐसा प्रतीत होता है कि वे अपने प्रोसेसर का प्रयोग कर रहे हैं। इस प्रकार यूजर्स को अपने-अपने वर्चुअल मशीन प्रदान किए जाते हैं तथा यूजर्स अपने-अपने वर्चुअल मशीन पर अपने हिशाब से सॉफ्टवेयर को रन कर सकते हैं।

वर्चुअल मशीन मॉनीटर (virtual machine monitor)

वर्चुअल मशीन मॉनीटर (virtual machine monitor) को वर्चुअल मशीन ऑपरेटिंग सिस्‍टम का हृदय-स्‍थल (heart) कहा जाता है। वर्चुअल मशीन मॉनीटर वास्‍तविक मशीन (real machine) की हू-बहु (exact) कॉपी के रूप में वर्चुअल मशीन (virtual machine) क्रिएट करता है; जिसके हार्डवेयर, यूजर/कर्नल मोड (user/kernel mode), इनपुट/आउटपुट (I/O), इन्‍ट्रप्‍ट्स (interrupts) इत्‍यादि वास्‍तविक मशीन (real machine) के समान होते हैं। यही कारण हैं कि वर्चुअल मशीन वास्‍तविक मशीन (real machine) के हार्डवेयर के बिल्‍कुल समान होते हैं। प्रत्‍येक वर्चुअल मशीन अलग-अलग ऑपरेटिंग सिस्‍टम को हार्डवेयर पर रन कर सकता है।


वर्चुअल मशीन सिक्यूरिटी (Virtual Machine Security)

वर्चुअल मशीन (virtual machine) एप्रोच में प्रत्‍येक वर्चुअल मशीन अन्‍य दूसरे वर्चुअल मशीनों से बिल्‍कुल अलग क्रिएट किए जाते हैं। अत: यहां सुरक्षा (protection) की कोई समस्‍या नहीं हाती हैं। इस एप्रोच की एक हानि (disadvantage) यह है कि इसमें सिस्‍टम रिसोर्सेस की डाइरेक्‍ट शेयरिंग (direct sharing) नहीं होती है। सिस्‍टम रिसोर्सेस की शेयरिंग के लिए दो एप्रोच प्रयोग किए जाते हैं। पहले एप्रोच के द्वारा डिस्‍क पर स्‍टोर्ड (stored) फाइलों को शेयर किया जा सकता है, परन्‍तु फाइलों की शेयरिंग अर्थात् फिजिकल डिस्‍क (physical disk) की शेयरिंग को सॉफ्टवेयर द्वारा ही कार्यान्वित (implement) किया जाता है। दूसरे एप्रोच के तहत वर्चुअल मशीनों के एक नेटवर्क को परिभाषित किया जा सकता है, जिसमें प्रत्‍येक वर्चुअल मशीन, कॉम्‍यूनिकेशन नेटवर्क (Virtual Machine Communication Network) में इनफॉर्मेशन भेज सकते हैं।

शोध और विकास के क्षेत्र में वर्चुअल मशीन (Virtual Machine in Research and Development Area)

वर्चुअल मशीन सिस्‍टम (Virtual Machine System) ऑपरेटिंग सिस्‍टम के शोध और विकास (research and development) के लिए अधिक उपयुक्‍त होता है। ऑपरेटिंग सिस्‍टम के विकास (development) में प्रत्‍येक सिस्‍टम प्रोग्रामर को फिजिकल मशीन की जगह अपना-अपना वर्चुअल मशीन प्रदान किया जाता है, जिस पर वे सिस्‍टम डेवलपमेंट का कार्य करते हैं।

ऑपरेटिंग में सुधार करना (modification) एक कठिन कार्य है। इसमें सुधार करना इसलिए कठिन हैं क्‍योंकि ऑपरेटिंग सिस्‍टम काफी बड़ा और जटिल प्रोग्राम (large and complex programs) होता है और इसमें कहीं भी परिवर्तन करने का प्रभाव इसके अन्‍य भागों में अशुद्धियां उत्‍पन्‍न कर सकता हैं। अत: ऑपरेटिंग सिस्‍टम में किए गए सुधारों या परिवर्तनों को काफी सावधानीपूर्वक जांच (test) करने की आवश्‍यकता होती है। चूंकि ऑपरेटिंग सिस्‍टम रन (run) करने के पश्‍चात् पूरे मशीन को नियंत्रित करता है। अत: वर्तमान में रन (run) कर रहे ऑपरेटिंग सिस्‍टम को रोक (stop) दिया जाता है तथा इसमें परिवर्तन या सुधार तथा इसे टेस्‍ट करने के लिए वर्तमान उपयोग से हटा दिया जाता है। इस समय को सिस्‍टम डेवलपमेंट टाइम (System Development Time) कहा जाता है। चूंकि सिस्‍टम डेवलपमेंट टाइम में ऑपरेटिंग सिस्‍टम यूजर के लिए अनुपलब्‍ध (unavailable) हो जाता है, अत: इसे ज्‍यादातर देर रात्रि या सप्‍ताहांत (weekend) में निर्धारित किया जाता है, जिस समय सिस्‍टम का लोड कम होता है।

वर्चुअल मशीन सिस्‍टम (Virtual Machine System) में इस समस्‍या को दूर करने के लिए सिस्‍टम प्रोग्रामरों को अलग-अलग वर्चुअल मशीन प्रदान किए जाते हैं। अत: वे सिस्‍टम के विकास (system development) का कार्य वास्‍तविक फिजिकल मशीन (actual physical machine) पर न कर अपने-अपने वर्चुअल मशीन पर करते हैं।

 

 


 

 


error: Content is protected !!