कर्नेल-आधारित वर्चुअल मशीन

कर्नेल-आधारित वर्चुअल मशीन (केवीएम) लिनक्स कर्नेल में एक वर्चुअलाइजेशन मॉड्यूल है जो कर्नेल (ऑपरेटिंग सिस्टम) को सूत्र के रूप में कार्य करने की अनुमति देता है। इसे 2.6.20 संस्करण में मेनलाइन लिनक्स में मिला दिया गया था, जिसे 5 फरवरी, 2007 को जारी किया गया था। केवीएम को हार्डवेयर वर्चुअलाइजेशन एक्सटेंशन वाले प्रोसेसर की आवश्यकता होती है, जैसे इंटेल वी.टी, एएमडी-वी। केवीएम को अन्य ऑपरेटिंग सिस्टम जैसे फ्रीबीएसडी में भी पोर्ट किया गया है और इलुमोस लोड करने योग्य कर्नेल मॉड्यूल के रूप में।

केवीएम को मूल रूप से x86 प्रोसेसर के लिए डिज़ाइन किया गया था, लेकिन तब से यह आईबीएम ईएसए/390|S/390 में पोर्टिंग हो रहा है। पावरपीसी, आईए-64, और बांह आर्किटेक्चर। केवीएम लिनक्स, बीएसडी, सोलारिस (ऑपरेटिंग सिस्टम), माइक्रोसॉफ़्ट विंडोज़, हाइकू (ऑपरेटिंग सिस्टम), रिएक्टोस, बेल लैब्स से प्लान 9, एआरओएस रिसर्च ऑपरेटिंग सिस्टम और मैकओएस सहित विभिन्न प्रकार के गेस्ट ऑपरेटिंग सिस्टम के लिए हार्डवेयर-असिस्टेड वर्चुअलाइजेशन प्रदान करता है। इसके अलावा, एंड्रॉइड 2.2, जीएनयू / हर्ड (डेबियन K16), मिनिक्स 3 3.1.2a, सोलारिस 10 U3 और डार्विन (ऑपरेटिंग सिस्टम) 8.0.1, साथ में अन्य ऑपरेटिंग सिस्टम और इनमें से कुछ नए संस्करण सूचीबद्ध हैं, कुछ सीमाओं के साथ काम करने के लिए जाने जाते हैं। इसके अतिरिक्त, केवीएम लिनक्स, ओपनबीएसडी, के लिए पैरावर्चुअलाइजेशन समर्थन प्रदान करता है। फ्रीबीएसडी, नेटबीएसडी योजना 9 और विंडोज़ अतिथि VirtIO API का उपयोग कर रहे हैं। इसमें एक पैरावर्चुअल ईथरनेट कार्ड, डिस्क आई /ओ नियंत्रक, गुब्बारा चालक, और रोचक (प्रोटोकॉल) वीएमवेयर ड्राइवरों का उपयोग करने वाला VGA ग्राफ़िक्स अंतराफलक हैं।

इतिहास
एवी किविटी ने केवीएम का विकास 2006 के मध्य में कुमरनेट, एक प्रौद्योगिकी स्टार्ट - अप कंपनी में शुरू किया जिसे 2008 में Red Hat द्वारा अधिग्रहित किया गया था। केवीएम अक्टूबर, 2006 में सामने आया और कर्नेल संस्करण 2.6.20 में लिनक्स कर्नेल मेनलाइन में विलय कर दिया गया था, जो 5 फरवरी 2007 को जारी किया गया था।

केवीएम का रखरखाव पाओलो बोनज़िनी द्वारा किया जाता है।

आंतरिक
केवीएम उपकरण अमूर्तता प्रदान करता है लेकिन कोई प्रोसेसर एमुलेशन नहीं। यह उजागर करता है /dev/kvm अंतराफलक, जिसे उपयोगकर्ता मोड होस्ट इसके लिए उपयोग कर सकता है:
 * अतिथि VM का पता स्थान सेट करें। मेजबान को एक फर्मवेयर छवि भी प्रदान करनी चाहिए (आमतौर पर पीसी का अनुकरण करते समय एक कस्टम BIOS) जिसका उपयोग अतिथि अपने मुख्य ओएस में बूटस्ट्रैप करने के लिए कर सकता है।
 * अतिथि सिम्युलेटेड आई /ओ फ़ीड करें।
 * अतिथि के वीडियो डिस्प्ले को वापस सिस्टम होस्ट पर मैप करें।

मूल रूप से QEMU का एक फोर्क्ड संस्करण मेहमानों को लॉन्च करने और हार्डवेयर एमुलेशन से निपटने के लिए प्रदान किया गया था जिसे कर्नेल द्वारा नियंत्रित नहीं किया जाता है। उस समर्थन को अंततः अपस्ट्रीम परियोजना में मिला दिया गया। अब कई वर्चुअल मशीन मॉनिटर्स (VMMs) हैं जो केवीएमtool, crosvm और Firecracker_(सॉफ़्टवेयर) सहित केवीएम अंतराफलक का उपयोग कर सकते हैं और कई विशेष VMMs रस्ट-vmm जैसे फ्रेमवर्क के साथ निर्मित होते हैं।

आंतरिक रूप से, केवीएम SeaBIOS को 16-बिट x86 BIOS के ओपन सोर्स कार्यान्वयन के रूप में उपयोग करता है।

विशेषताएं
केवीएम को गर्म अदला-बदली के लिए समर्थन प्राप्त है, गतिशील स्मृति प्रबंधन, और फरवरी 2007 से लाइव प्रवासन। माइग्रेशन प्रक्रिया में मेमोरी राइट इंटेंसिव वर्कलोड प्रभाव

नकली हार्डवेयर
डिवाइस अनुकरण के लिए QEMU, crosvm, या Firecracker (सॉफ़्टवेयर) जैसे उच्च स्तरीय क्लाइंट एप्लिकेशन को टालने के बजाय, केवीएम स्वयं बहुत कम हार्डवेयर का अनुकरण करता है।

केवीएम निम्नलिखित अनुकरणीय उपकरण प्रदान करता है:


 * वर्चुअल CPU और मेमोरी
 * गुण

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

लाइसेंसिंग
केवीएम का कर्नेल-मोड घटक लिनक्स कर्नेल का एक हिस्सा है, जो स्वयं जीएनयू जनरल पब्लिक लाइसेंस # संस्करण 2 के तहत लाइसेंस प्राप्त है। जीएनयू जनरल पब्लिक लाइसेंस, संस्करण 2।  

यह भी देखें

 * क्लाउडस्टैक
 * प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
 * कर्नेल समान-पृष्ठ विलय (KSM)
 * अतिथि
 * libguestfs
 * ओपन वर्चुअलाइजेशन एलायंस
 * ओपन नेबुला
 * खुली बड़ी चिमनी
 * रेड हैट वर्चुअलाइजेशन
 * वीएक्स32
 * एक्सईएन

बाहरी संबंध

 * Best practices for the Kernel-based Virtual Machine, IBM, second edition, April 2012
 * Virtio-blk Performance Improvement, केवीएम Forum 2012, November 8, 2012, by Asias He
 * Wikibook QEMU & केवीएम
 * crosvm - chrome OS virtual machine monitor
 * Firecracker VMM for केवीएम
 * Firecracker VMM for केवीएम