अखंड और माइक्रो कर्नेल के बीच अंतर क्या है?


114

क्या कोई अखंड और सूक्ष्म कर्नेल के बीच अंतर के उदाहरणों के साथ व्याख्या कर सकता है? कर्नेल के अन्य वर्गीकरण भी?



2
मैं विकिपीडिया के पन्नों की भी सिफारिश करूँगा
डेविड हेफर्नन

एक अन्य उपयोगी सवाल - stackoverflow.com/questions/1806585/…
अनिकेत ठाकुर

जवाबों:


113

अखंड कर्नेल एक एकल बड़ी प्रक्रिया है जो पूरी तरह से एकल पते वाले स्थान पर चल रही है। यह एक सिंगल स्टैटिक बाइनरी फाइल है। सभी कर्नेल सेवाएँ मौजूद हैं और कर्नेल एड्रेस स्पेस में निष्पादित होती हैं। कर्नेल सीधे कार्यों को लागू कर सकता है। अखंड कर्नेल आधारित ओएस के उदाहरण: यूनिक्स, लिनक्स।

माइक्रोकर्नेल में, कर्नेल को अलग-अलग प्रक्रियाओं में विभाजित किया जाता है, जिन्हें सर्वर के रूप में जाना जाता है। कुछ सर्वर कर्नेल स्पेस में चलते हैं और कुछ उपयोगकर्ता-स्पेस में चलते हैं। सभी सर्वर अलग-अलग रखे जाते हैं और अलग-अलग एड्रेस स्पेस में चलते हैं। सर्वर आईपीसी (इंटरप्रोसेस कम्युनिकेशन) के जरिए संदेश भेजकर एक-दूसरे से "सेवाएं" लेते हैं। इस अलगाव का यह फायदा है कि यदि एक सर्वर विफल हो जाता है, तो अन्य सर्वर अभी भी कुशलता से काम कर सकते हैं। माइक्रोकर्नल आधारित ओएस के उदाहरण: मैक ओएस एक्स और विंडोज एनटी।


35
दोनों मैक ओएस एक्स और विंडोज हाइब्रिड कर्नेल हैं, जो एक अखंड कर्नेल से अधिक निकटता से संबंधित हैं। सूक्ष्म गुठली के उदाहरण होंगे: मच QNX AmigaOS Minix
zeitue

7
ग्नू हर्ड एक माइक्रो-कर्नेल पर चलने वाले ओएस का एक बड़ा उदाहरण है। यह अभी भी सक्रिय विकास में है और कुछ लोकप्रिय लिनक्स डिस्ट्रोस में हर्ड पोर्ट (डेबियन / हर्ड, आर्क हर्ड, आदि) हैं।
3

76
  1. मोनोलिथिक कर्नेल डिज़ाइन, माइक्रो कर्नेल विचार की तुलना में बहुत पुराना है, जो 1980 के दशक के अंत में दिखाई दिया था।

  2. यूनिक्स और लिनक्स कर्नेल अखंड हैं, जबकि क्यूएनएक्स, एल 4 और हर्ड माइक्रोकर्नल हैं। मच शुरू में एक माइक्रो कर्नेल था (मैक ओएस एक्स नहीं), लेकिन बाद में हाइब्रिड कर्नेल में परिवर्तित हो गया। Minix (संस्करण 3 से पहले) एक शुद्ध माइक्रो कर्नेल नहीं था क्योंकि डिवाइस ड्राइवरों को कर्नेल के भाग के रूप में संकलित किया गया था।

  3. मोनोलिथिक गुठली आमतौर पर माइक्रोकर्नेल से तेज होती है। पहले माइक्रोकलर्न मच अधिकांश मोनोलिथिक कर्नेल की तुलना में 50% धीमा था, जबकि बाद में एल 4 जैसे मोनोलिथिक डिजाइनों की तुलना में केवल 2% या 4% धीमा थे।

  4. मोनोलिथिक कर्नेल आकार में बड़े होते हैं, जबकि माइक्रोकेरनेल आकार में छोटे होते हैं - वे आमतौर पर प्रोसेसर के एल 1 कैश (पहली पीढ़ी के माइक्रोकेर्नेल) में फिट होते हैं।

  5. अखंड कर्नेल में, डिवाइस ड्राइवर कर्नेल स्थान में रहते हैं जबकि माइक्रोकर्नेल में डिवाइस ड्राइवर उपयोगकर्ता-स्थान होते हैं।

  6. चूंकि कर्नेल स्पेस में मोनोलिथिक कर्नेल के डिवाइस ड्राइवर रहते हैं, इसलिए मोनोलिथिक कर्नेल माइक्रोकर्नेल की तुलना में कम सुरक्षित होते हैं, और ड्राइवरों में विफलताओं (अपवादों) को क्रैश (विंडोज में बीएसओडी के रूप में प्रदर्शित) हो सकता है। माइक्रोनेर्नेल अखंड कर्नेल की तुलना में अधिक सुरक्षित हैं, इसलिए सैन्य उपकरणों में अधिक बार उपयोग किया जाता है।

  7. अखंड गुठली अंतर-प्रक्रिया संचार (आईपीसी) को लागू करने के लिए संकेतों और सॉकेट्स का उपयोग करती है, माइक्रोकर्नेल संदेश कतारों का उपयोग करते हैं। 1 जनरल माइक्रोकर्नेल ने आईपीसी को अच्छी तरह से लागू नहीं किया था और संदर्भ स्विच पर धीमा था - यही उनके खराब प्रदर्शन का कारण था।

  8. एक अखंड प्रणाली में एक नई सुविधा जोड़ने का मतलब है कि पूरे कर्नेल या संबंधित कर्नेल मॉड्यूल (मॉड्यूलर मोनोलिथिक कर्नेल के लिए) को फिर से जोड़ना, जबकि माइक्रोकर्नेल के साथ आप नए फीचर या पैच को फिर से जमा किए बिना जोड़ सकते हैं।


1
MINIX का उल्लेख करने से आपका कौन सा संस्करण है? 3 संस्करण में डिवाइस ड्राइवर और फ़ाइल सिस्टम को कर्नेल से अलग किया गया है
orustammanapov

लगभग 8. क्या इसका मतलब है कि जब आप लिनक्स में एक प्रोग्राम स्थापित करते हैं तो पूरे कर्नेल बाइनरी को फिर से जोड़ दिया जाता है? यह कर्नेल बाइनरी कहाँ है? धन्यवाद।
निकोस

@ निक-एलज़: कार्यक्रम नहीं, लेकिन सुविधाएँ। प्रोग्राम आमतौर पर यूजर स्पेस पर चलते हैं। यदि आप कर्नेल स्थान में कोड निष्पादित करना चाहते हैं तो आपके पास दो विकल्प हैं: इसे कर्नेल में बनाएँ, या इसे कर्नेल मॉड्यूल के साथ लोड करें। रेफ
बेउआह

25

अखंड कर्नेल

शेड्यूलर, फाइल सिस्टम, मेमोरी मैनेजमेंट, नेटवर्किंग स्टैक्स, डिवाइस ड्राइवर्स आदि जैसे कर्नेल के सभी हिस्सों को मोनोलिथिक कर्नेल में कर्नेल के भीतर एक यूनिट में रखा जाता है।

लाभ

• तेजी से प्रसंस्करण

नुकसान

• क्रैश असुरक्षित • पोर्टिंग इनफ़्लेक्सिबिलिटी • कर्नेल आकार विस्फोट

उदाहरण • एमएस-डॉस, यूनिक्स, लिनक्स

सूक्ष्म गिरी

IPC (इंटर प्रोसेस कम्युनिकेशन), बेसिक शेड्यूलर, बेसिक मेमोरी हैंडलिंग, बेसिक I / O आदिम आदि जैसे बहुत ही महत्वपूर्ण भाग कर्नेल में डाले जाते हैं। संदेश पासिंग के माध्यम से संचार होता है। अन्य को उपयोगकर्ता स्थान में सर्वर प्रक्रियाओं के रूप में बनाए रखा जाता है

लाभ

• क्रैश प्रतिरोधी, पोर्टेबल, छोटे आकार

नुकसान

• अतिरिक्त संदेश पासिंग के कारण धीमी प्रोसेसिंग

उदाहरण • विंडोज एन.टी.


14

1. मोनोलिथिक कर्नेल (शुद्ध अखंड):all

  • एकल घटक से सभी कर्नेल सेवाएँ

    (-) जोड़ / हटाना संभव नहीं है, कम / शून्य लचीला

    (+) अंतर घटक संचार बेहतर है

जैसे: - पारंपरिक यूनिक्स

2.माइक्रो कर्नेल:few

  • कुछ सेवाओं (मेमोरी प्रबंधन, सीपीयू प्रबंधन, आईपीसी आदि) कोर कर्नेल से, अन्य सेवाएं (फ़ाइल प्रबंधन, आई / ओ प्रबंधन आदि) विभिन्न परतों / घटक से।

  • स्प्लिट दृष्टिकोण [कुछ सेवाएं विशेषाधिकार प्राप्त (कर्नेल) मोड में हैं और कुछ सामान्य (उपयोगकर्ता) मोड में हैं]

    (+) परिवर्तन / अपग्रेडेशन के लिए लचीला

    (-) संचार ओवरहेड

जैसे: - QNX आदि।

3. मॉड्यूलर कर्नेल (मॉड्यूलर अखंड):most

  • सूक्ष्म और अखंड कर्नेल का संयोजन

  • मॉड्यूल का संग्रह - मॉड्यूल हो सकता है -> स्टेटिक + डायनामिक

  • ड्राइवर मॉड्यूल के रूप में आते हैं

जैसे: - लिनक्स मॉडर्न OS


1

कर्नेल डिज़ाइनों के स्पेक्ट्रम में दो चरम बिंदु अखंड कर्नेल और माइक्रोकर्नेल हैं।

उदाहरण के लिए (शास्त्रीय) लिनक्स कर्नेल एक अखंड कर्नेल है (और इसलिए हर व्यावसायिक ओएस आज तक है - हालांकि वे अन्यथा दावा कर सकते हैं);

इसमें इसका कोड एक एकल सी फ़ाइल है जो एक एकल प्रक्रिया को जन्म देती है जो उपरोक्त सभी सेवाओं को लागू करती है।
लिनक्स कर्नेल के इनकैप्सुलेशन को समझने के लिए हम टिप्पणी करते हैं कि लिनक्स कर्नेल में किसी भी मानक लाइब्रेरी तक पहुंच नहीं है। वास्तव में लिनक्स कर्नेल अल्पविकसित सी लाइब्रेरी फ़ंक्शंस जैसे कि प्रिंटफ़ का उपयोग नहीं कर सकता है। इसके बजाय यह अपने स्वयं के मुद्रण कार्य (प्रिंट्स) को लागू करता है।

लिनक्स कर्नेल और सेल्फ-कंसंट्रेशन का यह एकांत इसके मुख्य लाभ के साथ लिनक्स कर्नेल प्रदान करता है: कर्नेल एक एकल एड्रेस स्पेस 1 में रहता है, जो किसी भी प्रकार के संदेश को पास किए बिना सभी सुविधाओं को सबसे तेज़ तरीके से संवाद करने में सक्षम बनाता है। विशेष रूप से, एक अखंड कर्नेल सिस्टम के सभी डिवाइस ड्राइवरों को लागू करता है।

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


-1

अखंड कर्नेल में कर्नेल कोर भाग के साथ सभी कर्नेल सेवाएँ होती हैं, इस प्रकार भारी होती हैं और गति और प्रदर्शन पर नकारात्मक प्रभाव पड़ता है। दूसरी ओर माइक्रो कर्नेल हल्का होता है जिससे प्रदर्शन और गति में वृद्धि होती है।
मैंने उसी प्रश्न का उत्तर वर्डप्रेस साइट पर दिया। सारणीबद्ध रूप में मोनोलिथिक, माइक्रोकर्नेल और एक्सोकोर्न के बीच अंतर के लिए, आप यहां जा सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.