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

कंप्यूटिंग में, पैरावर्चुअलाइजेशन या पैरा-वर्चुअलाइज़ेशन एक वर्चुअलाइज़ेशन तकनीक है जो आभासी मशीनों के लिए एक सॉफ़्टवेयर इंटरफ़ेस प्रस्तुत करता है जो अंतर्निहित हार्डवेयर-सॉफ़्टवेयर इंटरफ़ेस के समान है, फिर भी समान नहीं है।

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

पैरावर्चुअलाइज़ेशन के लिए अतिथि ऑपरेटिंग सिस्टम को अप्लिकेशन प्रोग्रामिंग अंतरफलक के लिए स्पष्ट रूप से में porting की आवश्यकता होती है - एक पारंपरिक ओएस वितरण जो पैरावर्चुअलाइज़ेशन-जागरूक नहीं है, पैरावर्चुअलाइज़िंग वीएमएम के शीर्ष पर नहीं चलाया जा सकता है। हालाँकि, ऐसे मामलों में भी जहाँ ऑपरेटिंग सिस्टम को संशोधित नहीं किया जा सकता है, ऐसे घटक उपलब्ध हो सकते हैं जो पैरावर्चुअलाइज़ेशन के कई महत्वपूर्ण प्रदर्शन लाभों को सक्षम करते हैं। उदाहरण के लिए, Xen Windows GPLPV प्रोजेक्ट पैरावर्चुअलाइज़ेशन-जागरूक डिवाइस ड्राइवरों की एक किट प्रदान करता है, जो जीएनयू जनरल पब्लिक लाइसेंस की शर्तों के तहत लाइसेंस प्राप्त है, जो कि Xen हाइपरवाइज़र पर चलने वाले Microsoft Windows वर्चुअल अतिथि में स्थापित करने के लिए अभिप्रेत है। ऐसे अनुप्रयोग पैरावर्चुअल मशीन इंटरफ़ेस वातावरण के माध्यम से सुलभ होते हैं। यह कई एन्क्रिप्शन एल्गोरिथम मॉडल में रन-मोड संगतता सुनिश्चित करता है, जिससे पैरावर्चुअल फ्रेमवर्क के भीतर सहज एकीकरण की अनुमति मिलती है।

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

समानताएं वर्कस्टेशन ऑपरेटिंग सिस्टम इसके समकक्ष को हाइपरकॉल कहता है। सभी एक ही चीज हैं: नीचे के सूत्र को एक सिस्टम कॉल। ऐसी कॉलों के लिए अतिथि ऑपरेटिंग सिस्टम में समर्थन की आवश्यकता होती है, जिसमें ऐसी कॉल करने के लिए हाइपरविजर-विशिष्ट कोड होना चाहिए।

पैरावर्चुअलाइज़ेशन शब्द का पहली बार उपयोग डेनाली (ऑपरेटिंग सिस्टम) वर्चुअल मशीन मैनेजर के सहयोग से शोध साहित्य में किया गया था। इस शब्द का प्रयोग Xen, L4 माइक्रोकर्नेल परिवार, ट्रैंगो वर्चुअल प्रोसेसर, VMware, पवन नदी प्रणाली और एक्स्ट्राटुएम हाइपरविजर का वर्णन करने के लिए भी किया जाता है। ये सभी परियोजनाएं x86 हार्डवेयर पर उच्च प्रदर्शन वाली वर्चुअल मशीनों का समर्थन करने के लिए पैरावर्चुअलाइजेशन तकनीकों का उपयोग या उपयोग कर सकती हैं, जो वास्तविक x86 निर्देश सेट के हार्ड-टू-वर्चुअलाइज भागों को लागू नहीं करती है। एक हाइपरविजर अंतर्निहित कंप्यूटर सिस्टम का वर्चुअलाइजेशन प्रदान करता है। पूर्ण वर्चुअलाइजेशन में, एक अतिथि ऑपरेटिंग सिस्टम एक हाइपरविजर पर असंशोधित चलता है। हालांकि, अतिथि ऑपरेटिंग सिस्टम को हाइपरविजर के साथ संवाद करने से बेहतर प्रदर्शन और दक्षता प्राप्त होती है। अतिथि ऑपरेटिंग सिस्टम को हाइपरविजर को अपना इरादा इंगित करने की अनुमति देकर, वर्चुअल मशीन में चलने पर प्रत्येक बेहतर प्रदर्शन प्राप्त करने में सहयोग कर सकता है। इस प्रकार के संचार को पैरावर्चुअलाइजेशन कहा जाता है।

2005 में, VMware ने अतिथि ऑपरेटिंग सिस्टम और हाइपरविजर के बीच एक संचार तंत्र के रूप में एक पैरावर्चुअलाइज़ेशन इंटरफ़ेस, वर्चुअल मशीन इंटरफ़ेस (VMI) प्रस्तावित किया। यह इंटरफ़ेस पारदर्शी पैरावर्चुअलाइज़ेशन को सक्षम करता है जिसमें ऑपरेटिंग सिस्टम का एक एकल बाइनरी संस्करण या तो नेटिव हार्डवेयर पर या पैरावर्चुअलाइज़्ड मोड में हाइपरवाइज़र पर चल सकता है। जैसा कि एएमडी और इंटेल सीपीयू ने अधिक कुशल हार्डवेयर-असिस्टेड वर्चुअलाइजेशन के लिए समर्थन जोड़ा, मानक अप्रचलित हो गया और वीएमआई समर्थन 2.6.37 में लिनक्स कर्नेल से हटा दिया गया और 2011 में वीएमवेयर उत्पादों से। 2008 में, Red Hat ने कर्नेल-आधारित वर्चुअल मशीन और Linux के लिए VirtIO पैरावर्चुअलाइज़ेशन की घोषणा की, Microsoft Windows के लिए VirtIO ड्राइवर भी उपलब्ध है।

2008 में, माइक्रोसॉफ्ट ने हाइपर-वी पैरावर्चुअलाइजेशन की घोषणा की।

लिनक्स पैरावर्चुअलाइजेशन सपोर्ट
बोस्टन, मैसाचुसेट्स में 2006 में USENIX सम्मेलन में, कई Linux विकास विक्रेताओं (IBM, VMware, Xen, और Red Hat सहित) ने paravirtualization के वैकल्पिक रूप पर सहयोग किया, जिसे शुरू में Xen समूह द्वारा विकसित किया गया था, जिसे paravirt-ops कहा जाता है। Paravirt-ops कोड (अक्सर pv-ops के लिए संक्षिप्त) को 2.6.23 संस्करण के रूप में मेनलाइन लिनक्स कर्नेल में शामिल किया गया था, और हाइपरविजर और गेस्ट कर्नेल के बीच एक हाइपरविजर-एग्नोस्टिक इंटरफ़ेस प्रदान करता है। pv-ops गेस्ट कर्नेल के लिए वितरण समर्थन Ubuntu 7.04 और RedHat 9 के साथ शुरू हुआ। किसी भी 2.6.24 या बाद के कर्नेल पर आधारित Xen हाइपरविजर pv-ops गेस्ट का समर्थन करता है, जैसा कि VMware का वर्कस्टेशन उत्पाद संस्करण 6 से शुरू होता है। VirtualBox#Feature set भी संस्करण 5.0 से इसका समर्थन करता है।

यह भी देखें

 * ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन
 * एक्सोकर्नेल
 * कर्नेल-आधारित वर्चुअल मशीन
 * तार्किक डोमेन (एलडीओएम)
 * तार्किक विभाजन (LPAR)
 * हाइपरविजर

बाहरी संबंध

 * Anandtech – Hardware Virtualization: the Nuts and Bolts Technical article on paravirtualization