क्या कोई अखंड और सूक्ष्म कर्नेल के बीच अंतर के उदाहरणों के साथ व्याख्या कर सकता है? कर्नेल के अन्य वर्गीकरण भी?
क्या कोई अखंड और सूक्ष्म कर्नेल के बीच अंतर के उदाहरणों के साथ व्याख्या कर सकता है? कर्नेल के अन्य वर्गीकरण भी?
जवाबों:
अखंड कर्नेल एक एकल बड़ी प्रक्रिया है जो पूरी तरह से एकल पते वाले स्थान पर चल रही है। यह एक सिंगल स्टैटिक बाइनरी फाइल है। सभी कर्नेल सेवाएँ मौजूद हैं और कर्नेल एड्रेस स्पेस में निष्पादित होती हैं। कर्नेल सीधे कार्यों को लागू कर सकता है। अखंड कर्नेल आधारित ओएस के उदाहरण: यूनिक्स, लिनक्स।
माइक्रोकर्नेल में, कर्नेल को अलग-अलग प्रक्रियाओं में विभाजित किया जाता है, जिन्हें सर्वर के रूप में जाना जाता है। कुछ सर्वर कर्नेल स्पेस में चलते हैं और कुछ उपयोगकर्ता-स्पेस में चलते हैं। सभी सर्वर अलग-अलग रखे जाते हैं और अलग-अलग एड्रेस स्पेस में चलते हैं। सर्वर आईपीसी (इंटरप्रोसेस कम्युनिकेशन) के जरिए संदेश भेजकर एक-दूसरे से "सेवाएं" लेते हैं। इस अलगाव का यह फायदा है कि यदि एक सर्वर विफल हो जाता है, तो अन्य सर्वर अभी भी कुशलता से काम कर सकते हैं। माइक्रोकर्नल आधारित ओएस के उदाहरण: मैक ओएस एक्स और विंडोज एनटी।
मोनोलिथिक कर्नेल डिज़ाइन, माइक्रो कर्नेल विचार की तुलना में बहुत पुराना है, जो 1980 के दशक के अंत में दिखाई दिया था।
यूनिक्स और लिनक्स कर्नेल अखंड हैं, जबकि क्यूएनएक्स, एल 4 और हर्ड माइक्रोकर्नल हैं। मच शुरू में एक माइक्रो कर्नेल था (मैक ओएस एक्स नहीं), लेकिन बाद में हाइब्रिड कर्नेल में परिवर्तित हो गया। Minix (संस्करण 3 से पहले) एक शुद्ध माइक्रो कर्नेल नहीं था क्योंकि डिवाइस ड्राइवरों को कर्नेल के भाग के रूप में संकलित किया गया था।
मोनोलिथिक गुठली आमतौर पर माइक्रोकर्नेल से तेज होती है। पहले माइक्रोकलर्न मच अधिकांश मोनोलिथिक कर्नेल की तुलना में 50% धीमा था, जबकि बाद में एल 4 जैसे मोनोलिथिक डिजाइनों की तुलना में केवल 2% या 4% धीमा थे।
मोनोलिथिक कर्नेल आकार में बड़े होते हैं, जबकि माइक्रोकेरनेल आकार में छोटे होते हैं - वे आमतौर पर प्रोसेसर के एल 1 कैश (पहली पीढ़ी के माइक्रोकेर्नेल) में फिट होते हैं।
अखंड कर्नेल में, डिवाइस ड्राइवर कर्नेल स्थान में रहते हैं जबकि माइक्रोकर्नेल में डिवाइस ड्राइवर उपयोगकर्ता-स्थान होते हैं।
चूंकि कर्नेल स्पेस में मोनोलिथिक कर्नेल के डिवाइस ड्राइवर रहते हैं, इसलिए मोनोलिथिक कर्नेल माइक्रोकर्नेल की तुलना में कम सुरक्षित होते हैं, और ड्राइवरों में विफलताओं (अपवादों) को क्रैश (विंडोज में बीएसओडी के रूप में प्रदर्शित) हो सकता है। माइक्रोनेर्नेल अखंड कर्नेल की तुलना में अधिक सुरक्षित हैं, इसलिए सैन्य उपकरणों में अधिक बार उपयोग किया जाता है।
अखंड गुठली अंतर-प्रक्रिया संचार (आईपीसी) को लागू करने के लिए संकेतों और सॉकेट्स का उपयोग करती है, माइक्रोकर्नेल संदेश कतारों का उपयोग करते हैं। 1 जनरल माइक्रोकर्नेल ने आईपीसी को अच्छी तरह से लागू नहीं किया था और संदर्भ स्विच पर धीमा था - यही उनके खराब प्रदर्शन का कारण था।
एक अखंड प्रणाली में एक नई सुविधा जोड़ने का मतलब है कि पूरे कर्नेल या संबंधित कर्नेल मॉड्यूल (मॉड्यूलर मोनोलिथिक कर्नेल के लिए) को फिर से जोड़ना, जबकि माइक्रोकर्नेल के साथ आप नए फीचर या पैच को फिर से जमा किए बिना जोड़ सकते हैं।
अखंड कर्नेल
शेड्यूलर, फाइल सिस्टम, मेमोरी मैनेजमेंट, नेटवर्किंग स्टैक्स, डिवाइस ड्राइवर्स आदि जैसे कर्नेल के सभी हिस्सों को मोनोलिथिक कर्नेल में कर्नेल के भीतर एक यूनिट में रखा जाता है।
लाभ
• तेजी से प्रसंस्करण
नुकसान
• क्रैश असुरक्षित • पोर्टिंग इनफ़्लेक्सिबिलिटी • कर्नेल आकार विस्फोट
उदाहरण • एमएस-डॉस, यूनिक्स, लिनक्स
सूक्ष्म गिरी
IPC (इंटर प्रोसेस कम्युनिकेशन), बेसिक शेड्यूलर, बेसिक मेमोरी हैंडलिंग, बेसिक I / O आदिम आदि जैसे बहुत ही महत्वपूर्ण भाग कर्नेल में डाले जाते हैं। संदेश पासिंग के माध्यम से संचार होता है। अन्य को उपयोगकर्ता स्थान में सर्वर प्रक्रियाओं के रूप में बनाए रखा जाता है
लाभ
• क्रैश प्रतिरोधी, पोर्टेबल, छोटे आकार
नुकसान
• अतिरिक्त संदेश पासिंग के कारण धीमी प्रोसेसिंग
उदाहरण • विंडोज एन.टी.
1. मोनोलिथिक कर्नेल (शुद्ध अखंड):all
एकल घटक से सभी कर्नेल सेवाएँ
(-) जोड़ / हटाना संभव नहीं है, कम / शून्य लचीला
(+) अंतर घटक संचार बेहतर है
जैसे: - पारंपरिक यूनिक्स
2.माइक्रो कर्नेल:few
कुछ सेवाओं (मेमोरी प्रबंधन, सीपीयू प्रबंधन, आईपीसी आदि) कोर कर्नेल से, अन्य सेवाएं (फ़ाइल प्रबंधन, आई / ओ प्रबंधन आदि) विभिन्न परतों / घटक से।
स्प्लिट दृष्टिकोण [कुछ सेवाएं विशेषाधिकार प्राप्त (कर्नेल) मोड में हैं और कुछ सामान्य (उपयोगकर्ता) मोड में हैं]
(+) परिवर्तन / अपग्रेडेशन के लिए लचीला
(-) संचार ओवरहेड
जैसे: - QNX आदि।
3. मॉड्यूलर कर्नेल (मॉड्यूलर अखंड):most
सूक्ष्म और अखंड कर्नेल का संयोजन
मॉड्यूल का संग्रह - मॉड्यूल हो सकता है -> स्टेटिक + डायनामिक
ड्राइवर मॉड्यूल के रूप में आते हैं
जैसे: - लिनक्स मॉडर्न OS
कर्नेल डिज़ाइनों के स्पेक्ट्रम में दो चरम बिंदु अखंड कर्नेल और माइक्रोकर्नेल हैं।
उदाहरण के लिए (शास्त्रीय) लिनक्स कर्नेल एक अखंड कर्नेल है (और इसलिए हर व्यावसायिक ओएस आज तक है - हालांकि वे अन्यथा दावा कर सकते हैं);
इसमें इसका कोड एक एकल सी फ़ाइल है जो एक एकल प्रक्रिया को जन्म देती है जो उपरोक्त सभी सेवाओं को लागू करती है।
लिनक्स कर्नेल के इनकैप्सुलेशन को समझने के लिए हम टिप्पणी करते हैं कि लिनक्स कर्नेल में किसी भी मानक लाइब्रेरी तक पहुंच नहीं है। वास्तव में लिनक्स कर्नेल अल्पविकसित सी लाइब्रेरी फ़ंक्शंस जैसे कि प्रिंटफ़ का उपयोग नहीं कर सकता है। इसके बजाय यह अपने स्वयं के मुद्रण कार्य (प्रिंट्स) को लागू करता है।
लिनक्स कर्नेल और सेल्फ-कंसंट्रेशन का यह एकांत इसके मुख्य लाभ के साथ लिनक्स कर्नेल प्रदान करता है: कर्नेल एक एकल एड्रेस स्पेस 1 में रहता है, जो किसी भी प्रकार के संदेश को पास किए बिना सभी सुविधाओं को सबसे तेज़ तरीके से संवाद करने में सक्षम बनाता है। विशेष रूप से, एक अखंड कर्नेल सिस्टम के सभी डिवाइस ड्राइवरों को लागू करता है।
हालांकि यह एक अखंड कर्नेल का मुख्य दोष है: किसी भी नए असमर्थित हार्डवेयर के परिचय के लिए कर्नेल (संबंधित भागों में) को फिर से लिखना, इसे पुनः स्थापित करना और पूरे ओएस को फिर से स्थापित करना आवश्यक है।
इससे भी महत्वपूर्ण बात, अगर कोई भी डिवाइस ड्राइवर पूरे कर्नेल को क्रैश करता है, तो परिणामस्वरूप। हार्डवेयर परिवर्धन और हार्डवेयर क्रैश के लिए यह अन-मॉड्यूलर दृष्टिकोण, कर्नेल के लिए अन्य चरम डिजाइन दृष्टिकोण का समर्थन करने के लिए मुख्य तर्क है। एक माइक्रोकर्नल एक अर्थ में एक न्यूनतम कर्नेल है जो केवल ओएस सेवाओं (जैसे प्रक्रिया प्रबंधन और फ़ाइल सिस्टम प्रबंधन) के बहुत ही बुनियादी घर रखता है। एक माइक्रोकर्नल में डिवाइस ड्राइवर कर्नेल के बाहर लेट जाते हैं और डिवाइस ड्राइवर्स को हटाने की अनुमति देते हैं जबकि ओएस चल रहा होता है और कर्नेल के किसी विकल्प की आवश्यकता नहीं होती है।
अखंड कर्नेल में कर्नेल कोर भाग के साथ सभी कर्नेल सेवाएँ होती हैं, इस प्रकार भारी होती हैं और गति और प्रदर्शन पर नकारात्मक प्रभाव पड़ता है। दूसरी ओर माइक्रो कर्नेल हल्का होता है जिससे प्रदर्शन और गति में वृद्धि होती है।
मैंने उसी प्रश्न का उत्तर वर्डप्रेस साइट पर दिया। सारणीबद्ध रूप में मोनोलिथिक, माइक्रोकर्नेल और एक्सोकोर्न के बीच अंतर के लिए, आप यहां जा सकते हैं