virtual machine kya hai

आज हम computer course in hindi मे हम virtual machine kya hai (वर्चुअल मशीन क्या है) के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं-

virtual machine kya hai (वर्चुअल मशीन क्या है) :-

यह वर्चुअल मशीन ( Virtual Machine ) एक concept है जिससे वर्चुअल मशीन ऑपरेटिंग सिस्टम के द्वारा create किया जाता है और जिसमें एक ही machine अनेक machine जैसे कार्य करती हुई होती हैं । वर्चुअल मशीन ( Virtual Machine ) एक concept है जो एक real machine की जगह अनेकों real machines के होने का delusional करती है । इस प्रकार के delusional की स्थिति की तुलना आप टेलीफोन लाइन से कर सकते हैं जिससे एक ही तार पर एक साथ अलग - अलग conversations होती है ।
इस वर्चुअल मशीन में टेकनीक का सबसे महत्वपूर्ण पहलू यह है कि प्रत्येक यूजर अपनी इच्छा के अनुसार ऑपरेटिंग सिस्टम को रन कर सकता है । इसी fact को OS1 , OS2 तथा OS3 के माध्यम से दिखाया गया है । वर्चुअल मशीन ( Virtual Machine ) के concept को समझने के लिए Conventional Multiprogramming System तथा Virtual Machine Multiprogramming की जरूरत होती हैं ।

कनवेन्शनल मल्टीप्रोग्रामिंग सिस्टम में एक से अधिक प्रोसेसेस को एक ही real machine के रिसोर्सेस के बीच distribute किए जाते हैं जबकि वर्चुअल मल्टीप्रोग्रामिंग सिस्टम में एक ही real machine एक से अधिक वर्चुअल मशीन होने का delusional करती है और जहाँ प्रत्येक वर्चुअल मशीन का अपना - अपना virtual processor तथा स्टोरेज और इनपुट / आउटपुट डिवाइसेस ( storage I / O devices ) होता है । इसके लिए Process Scheduling भी की जाती है एवं Virutal Memory Organisation नामक टेकनीक का प्रयोग भी किया जाता है । प्रोसेस शेडयूलिंग का प्रयोग CPU को इस तरह share करने के लिए किया जा सकता है कि प्रत्येक यूजर को ऐसा महसूस हो कि उनके अपने - अपने प्रोसेसर हैं जबकि वर्चुअल मेमोरी ऑर्गेनाइजेशन नामक टेकनीक का प्रयोग प्रोग्राम को execute करते समय काफी large memory की उपलब्धता का Illusion उत्पन्न करने के लिए किया जाता है।

Uses and Benefits of Virtual Machines (वर्चुअल मशीन के उपयोग तथा लाभ ) :-

1. इस मशीन के उपयोग से विभिन्न यूजर्स एक साथ dissimilar ऑपरेटिंग सिस्टम्स को रन कर सकते हैं और कुछ certain conversion problem को दूर कर सकते है । 
2. compatible होने के कारण अन्य मशीन डिपेन्डेन्ड प्रोग्राम को execute करने की सुविधा हमें प्रदान करता है । example:- Apple Macintosh ऑपरेटिंग सिस्टम के अन्तर्गत Motorola 68000 एक वर्चुअल मशीन होता है जो 68000 चिप पर आधारित Macintosh सिस्टम के लिए लिखे गए Binary Codes को execute करने की permission provide करता है ।
3 . प्रत्येक वर्चुअल मशीन एक - दूसरे से अलग होने के कारण इसमें सिस्टम रिसोर्सेस protected होते हैं । 
4 . वर्चुअल मशीन्स व फिजिकल कम्प्यूटर रिसोर्सेस को शेयर कर क्रिएट किए जाते हैं । और CPU की scheduling इस प्रकार की जाती है कि प्रत्येक यूजर को ऐसा होता है कि वे अपने प्रोसेसर का प्रयोग कर रहे हैं । इस प्रकार यूजर्स को अपने - अपने वर्चुअल मशीन प्रदान किए जाते हैं तथा यूजर्स अपने - अपने वर्चुअल मशीन पर भी desired सॉफ्टवेयर को रन कर सकते हैं । 
5. इस virtual machine monitor को वर्चुअल मशीन ऑपरेटिंग सिस्टम का हृदय - स्थल ( heart ) भी कहा जाता है ।
वर्चुअल मशीन मॉनीटर real machine की exact कॉपी के रूप में Virtual Machine को create करता है और जिसके हार्डवेयर , यूजर / कर्नल मोड , इनपुट / आउटपुट ( I / O ) , intrrupts इत्यादि भी real machine के समान होते हैं । यही कारण है कि वर्चुअल मशीन real machine के हार्डवेयर के बिल्कुल समान होते हैं । प्रत्येक वर्चुअल मशीन अलग - अलग ऑपरेटिंग सिस्टम को हार्डवेयर पर भी रन कर सकता है । 
Example:- कुछ वर्चुअल मशीन OS / 360 के decendants ऑपरेटिंग सिस्टम को बैच - प्रोसेसिंग के लिए तथा कुछ CMS ( Conversational Monitor System ) नामक ऑपरेटिंग सिस्टम को time - sharing के लिए रन कर सकते हैं । 
6. जब CMS किसी सिस्टम कॉल को एक्जक्यूट करता है तो वह सिस्टम कॉल को वर्चुअल मशीन के अपने ऑपरेटिंग सिस्टम द्वारा trap करता है न कि VM / 370 ( एक वर्चुअल मशीन ऑपरेटिंग सिस्टम ) द्वारा trap करता है और इसके पश्चात् CMS virtual disk को रीड करने या आवश्यकतानुसार अन्य ऑपरेशन्स को पूरा करने के लिए 1 / O इन्सट्रक्शन VM / 370 द्वारा ट्रैप किए जाते हैं जो इन I / O इन्सट्रक्शन्स को perform करते हैं ।
7. Virtual Machine approach में प्रत्येक वर्चुअल मशीन अन्य दूसरे वर्चुअल मशीनों से बिल्कुल अलग create किए जाते हैं तथा इनमें Protection की भी कोई समस्या नहीं होती है । इस approach की एक disadvantage यह है कि इसमें सिस्टम रिसोर्सेस की direct sharing नहीं होती है और सिस्टम रिसोर्सेस की शेयरिंग के लिए यहाँ दो approach प्रयोग किए जाते हैं । पहले approach के द्वारा डिस्क पर stored फाइलों को शेयर किया जा सकता है परन्तु फाइलों की शेयरिंग अर्थात् Physical.disk की शेयरिंग को सॉफ्टवेयर द्वारा ही implement किया जाता है । दूसरे approach के तहत वर्चुअल मशीनों के एक नेटवर्क को परिभाषित किया जा सकता है जिसमें प्रत्येक Virtual Machine Communication Network ) में इनफॉर्मेशन को भेज सकते हैं ।
8. Virtual Machine System ऑपरेटिंग सिस्टम के research and development के लिए अधिक उपयुक्त होता है और ऑपरेटिंग सिस्टम के development में प्रत्येक सिस्टम प्रोग्रामर को फिजिकल मशीन की जगह अपना - अपना वर्चुअल मशीन प्रदान किया जाता है जिसमें वे सिस्टम डेवलपमेंट का कार्य भी करते हैं । ऑपरेटिंग सिस्टम के research and development कार्यों में वर्चुअल मशीन किस प्रकार उपयोगी है इसे इस प्रकार भी समझा जा सकता है ।
9. इस ऑपरेटिंग में modification एक कठिन कार्य होता है । इसमें सुधार करना इसलिए कठिन है क्योंकि ऑपरेटिंग सिस्टम काफी बड़ा और complex programs होता है और इसमें कहीं भी परिवर्तन करने का effect इसके अन्य भागों में अशुद्धियों को कर सकता है । ऑपरेटिंग सिस्टम में किए गए सुधारों या परिवर्तनों को काफी सावधानीपूर्वक टेस्ट करने की आवश्यकता होती है । यह ऑपरेटिंग सिस्टम रन करने के बाद पूरे मशीन को नियंत्रित करता है । वर्तमान में रन कर रहे ऑपरेटिंग सिस्टम को stop दिया जाता है तथा इसमें परिवर्तन या सुधार तथा इसे टेस्ट करने के लिए वर्तमान उपयोग से हटा दिया जाता है । इस समय को सिस्टम डेवलपमेंट टाइम ( System Development Time ) कहा जाता है और सिस्टम डेवलपमेंट टाइम में ऑपरेटिंग सिस्टम यूजर के लिए unavailable हो जाता है इसे ज्यादातर देर weekend में निर्धारित किया जाता है । जिस समय सिस्टम का लोड कम होता है उस समय वर्चुअल मशीन सिस्टम ( Virtual Machine System ) में इस समस्या को दूर करने के लिए सिस्टम प्रोग्रामरों को अलग - अलग वर्चुअल मशीन प्रदान किए जाते हैं जिससे वे system development का कार्य actual physical machine पर न कर अपने - अपने वर्चुअल मशीन पर करते रहते है ।

टिप्पणियाँ