माइक्रोकर्नेल Operaटिंग सिस्टम: Archiतकनीक, लाभ
माइक्रोकर्नेल सीखने से पहले, आइए समझते हैं:
कर्नेल क्या है?
कर्नेल OS का एक महत्वपूर्ण हिस्सा है जो सिस्टम संसाधनों का प्रबंधन करता है। यह कंप्यूटर के सॉफ़्टवेयर और हार्डवेयर के बीच एक पुल के रूप में भी कार्य करता है। यह बूटलोडर के बाद स्टार्ट-अप पर लोड होने वाले पहले प्रोग्राम में से एक है। कर्नेल विभिन्न प्रोग्रामों के लिए मशीन के हार्डवेयर तक सुरक्षित पहुँच प्रदान करने के लिए भी जिम्मेदार है। यह यह भी तय करता है कि कोई निश्चित एप्लिकेशन कब और कितनी देर तक विशिष्ट हार्डवेयर का उपयोग करता है।
माइक्रोकर्नेल क्या है?
माइक्रोकर्नेल एक सॉफ्टवेयर या कोड है जिसमें ऑपरेटिंग सिस्टम को लागू करने के लिए आवश्यक न्यूनतम मात्रा में फ़ंक्शन, डेटा और सुविधाएँ होती हैं। यह न्यूनतम संख्या में तंत्र प्रदान करता है, जो ऑपरेटिंग सिस्टम के सबसे बुनियादी कार्यों को चलाने के लिए पर्याप्त है। यह ऑपरेटिंग सिस्टम के अन्य भागों को लागू करने की अनुमति देता है क्योंकि यह बहुत सारी नीतियाँ लागू नहीं करता है।
माइक्रोकर्नेल और उनके उपयोगकर्ता वातावरण आमतौर पर कार्यान्वित किए जाते हैं C++ or सी प्रोग्रामिंग भाषाएं थोड़ी सी असेंबली के साथ। हालाँकि, कुछ उच्च-स्तरीय कोडिंग के साथ अन्य कार्यान्वयन भाषाएँ संभव हैं।
मोनोलिथिक कर्नेल क्या है?
मोनोलिथिक कर्नेल सभी बुनियादी सिस्टम सेवाओं को चलाता है जैसे प्रक्रिया प्रबंधन, मेमोरी प्रबंधन, I/O संचार, और कर्नेल स्पेस में इंटरप्ट हैंडलिंग, फ़ाइल सिस्टम, आदि।
इस प्रकार के कर्नेल दृष्टिकोण में, संपूर्ण ऑपरेटिंग सिस्टम कर्नेल मोड में एकल प्रोग्राम के रूप में चलता है। ऑपरेटिंग सिस्टम को प्रक्रियाओं के एक संग्रह के रूप में लिखा जाता है जो एक बड़े निष्पादन योग्य बाइनरी प्रोग्राम में एक साथ जुड़े होते हैं।
माइक्रोकर्नेल Archiटेक्चर
ऑपरेटिंग सिस्टम के सही क्रियान्वयन के लिए माइक्रोकर्नेल सबसे महत्वपूर्ण हिस्सा है। आप नीचे दिए गए आरेख में देख सकते हैं कि माइक्रोकर्नेल मेमोरी, प्रोसेस शेड्यूलिंग मैकेनिज्म और इंटर-प्रोसेस कम्युनिकेशन जैसे बुनियादी ऑपरेशन को पूरा करता है।
माइक्रोकर्नेल एकमात्र ऐसा सॉफ्टवेयर है जो विशेषाधिकार प्राप्त स्तर पर क्रियान्वित होता है। OS की अन्य महत्वपूर्ण कार्यक्षमताएँ कर्नेल-मोड से हटा दी जाती हैं और उपयोगकर्ता मोड में चलायी जाती हैं। ये कार्यक्षमताएँ डिवाइस ड्राइवर, एप्लिकेशन, फ़ाइल सर्वर, इंटरप्रोसेस संचार आदि हो सकती हैं।
माइक्रोकर्नेल के घटक
माइक्रोकर्नेल में सिस्टम की केवल मुख्य कार्यक्षमताएँ शामिल होती हैं। किसी घटक को माइक्रोकर्नेल में तभी शामिल किया जाता है जब उसे बाहर रखने से सिस्टम की कार्यक्षमता बाधित होती हो। अन्य सभी गैर-आवश्यक घटकों को उपयोगकर्ता मोड में रखा जाना चाहिए।
माइक्रोकर्नेल में आवश्यक न्यूनतम कार्यक्षमताएं हैं:
- स्मृति प्रबंधन माइक्रोकर्नेल में एड्रेस स्पेस जैसी व्यवस्थाएं शामिल होनी चाहिए। इसमें मेमोरी प्रोटेक्शन फीचर भी शामिल हैं।
- प्रोसेसर शेड्यूलिंग तंत्र में प्रोसेस और थ्रेड शेड्यूलर शामिल होने चाहिए।
- अंतर-प्रक्रिया संचार उन सर्वरों का प्रबंधन करता है जो अपना स्वयं का पता स्थान चलाते हैं।
माइक्रोकर्नेल और मोनोलिथिक कर्नेल के बीच अंतर
पैरामीटर्स | अखंड कर्नेल | माइक्रो कर्नेल |
---|---|---|
बुनियादी | यह एकल एड्रेस स्पेस में चलने वाली एक बड़ी प्रक्रिया है | इसे अलग-अलग प्रक्रियाओं में विभाजित किया जा सकता है जिन्हें सर्वर कहा जाता है। |
कोड | मोनोलिथिक कर्नेल लिखने के लिए कम कोड की आवश्यकता होती है। | माइक्रोकर्नेल लिखने के लिए अधिक कोड की आवश्यकता होती है |
सुरक्षा | यदि कोई सेवा क्रैश हो जाती है, तो संपूर्ण सिस्टम एक अखंड कर्नेल में सिमट जाता है। | यदि कोई सेवा क्रैश हो जाती है, तो इससे माइक्रोकर्नेल की कार्यप्रणाली पर कोई प्रभाव नहीं पड़ता। |
संचार | यह एक एकल स्थिर बाइनरी फ़ाइल है | सर्वर आईपीसी के माध्यम से संवाद करते हैं। |
उदाहरण | लिनक्स, बीएसडी, Microsoft Windows (95,98, मैं), Solaris, ओएस-9, एआईएक्स, डॉस, एक्सटीएस-400, आदि। | L4Linux, QNX, सिम्बियनK42, मैक ओएस एक्स, Integrity, आदि |
माइक्रोकर्नेल के लाभ
माइक्रोकर्नेल के उपयोग के लाभ/सुविधाएँ इस प्रकार हैं
- माइक्रोकर्नेल आर्किटेक्चर छोटा और पृथक है इसलिए यह बेहतर कार्य कर सकता है।
- माइक्रोकर्नेल सुरक्षित होते हैं, क्योंकि उनमें केवल वे घटक शामिल होते हैं जो अन्यथा सिस्टम की कार्यक्षमता को बाधित करते हैं।
- सिस्टम का विस्तार अधिक सुलभ है, इसलिए इसे कर्नेल को परेशान किए बिना सिस्टम अनुप्रयोग में जोड़ा जा सकता है।
- माइक्रोकर्नेल मॉड्यूलर होते हैं, और विभिन्न मॉड्यूलों को कर्नेल को छुए बिना भी प्रतिस्थापित, पुनः लोड या संशोधित किया जा सकता है।
- मोनोलिथिक सिस्टम की तुलना में सिस्टम क्रैश कम होते हैं।
- माइक्रोकर्नेल इंटरफ़ेस आपको अधिक मॉड्यूलर सिस्टम संरचना लागू करने में मदद करता है।
- पुनः संकलन किए बिना, नई सुविधाएँ जोड़ें
- सर्वर की खराबी को भी किसी अन्य उपयोगकर्ता प्रोग्राम की खराबी के समान ही अलग रखा जाता है।
- माइक्रोकर्नेल प्रणाली लचीली होती है, इसलिए विभिन्न सर्वरों द्वारा क्रियान्वित विभिन्न रणनीतियाँ और API, प्रणाली में एक साथ विद्यमान रह सकते हैं।
- बढ़ी हुई सुरक्षा और स्थिरता के परिणामस्वरूप कर्नेल मोड पर चलने वाले कोड की मात्रा कम हो जाएगी
माइक्रोकर्नेल का नुकसान
माइक्रोकर्नेल के उपयोग के कुछ नुकसान/कमी इस प्रकार हैं:
- सामान्य मोनोलिथिक सिस्टम की तुलना में माइक्रोकर्नेल सिस्टम में सेवाएं प्रदान करना महंगा है।
- संदर्भ स्विच या फ़ंक्शन कॉल की आवश्यकता होती है जब ड्राइवरों को क्रमशः प्रक्रियाओं या प्रक्रियाओं के रूप में लागू किया जाता है।
- माइक्रोकर्नेल प्रणाली का प्रदर्शन उदासीन हो सकता है और इससे कुछ समस्याएं उत्पन्न हो सकती हैं।
सारांश
- कर्नेल ऑपरेटिंग सिस्टम का एक महत्वपूर्ण हिस्सा है जो सिस्टम संसाधनों का प्रबंधन करता है।
- माइक्रोकर्नेल एक सॉफ्टवेयर या कोड है जिसमें ऑपरेटिंग सिस्टम को कार्यान्वित करने के लिए आवश्यक न्यूनतम मात्रा में फ़ंक्शन, डेटा और सुविधाएँ होती हैं।
- मोनोलिथिक कर्नेल दृष्टिकोण में, संपूर्ण ऑपरेटिंग सिस्टम कर्नेल मोड में एकल प्रोग्राम के रूप में चलता है
- किसी ऑपरेटिंग सिस्टम के सही क्रियान्वयन के लिए माइक्रोकर्नेल सबसे महत्वपूर्ण हिस्सा है।
- माइक्रोकर्नेल में सिस्टम की केवल मुख्य कार्यात्मकताएं ही शामिल होती हैं।
- मोनोलिथिक कर्नेल एक एकल एड्रेस स्पेस में चलने वाली एक बड़ी प्रक्रिया है, जबकि माइक्रोकर्नेल को अलग-अलग प्रक्रियाओं में विभाजित किया जा सकता है, जिन्हें सर्वर कहा जाता है।
- माइक्रोकर्नेल आर्किटेक्चर छोटा और पृथक है इसलिए यह बेहतर कार्य कर सकता है
- माइक्रोकर्नेल प्रणाली में सेवाएं प्रदान करना सामान्य मोनोलिथिक प्रणाली की तुलना में महंगा है