What is Kernel in OS कर्नेल क्या होता है
आपको यह तो पता ही होगा की कोई भी कंप्यूटिंग डिवाइस चाहे वो कंप्यूटर हो या मोबाइल, दो कॉम्पोनेन्ट के कॉम्बिनेशन की हेल्प से चलती है – Software and hardware| हार्डवेयर उस डिवाइस के सभी component होते है एंड सॉफ्टवेयर कोई भी ऑपरेटिंग सिस्टम हो सकता है जैसे की iOS, Android, Linux या Microsoft windows| कोई भी Operating System सॉफ्टवेयर हो उसको हार्डवेयर से डिवाइस से interact करने के लिए एक प्रोग्राम की जरूरत होती है जिसको की Kernel कहा जाता है| किसी भी OS के लिए kernel उसका कोर कॉम्पोनेन्ट होता है जिसको की OS की फाउंडेशन लेयर भी कहते है | OS के अलग अलग inter-प्रोसेस कम्युनिकेशन एंड सिस्टम कॉल्स को use करके कर्नेल हार्डवेयर एवं ऍप्लिकेशन्स के बिच एक पुल (या ब्रिज) के जैसे काम करता है| जैसे की एप्लीकेशन की जरुरत अनुसार RAM एंड CPU से communicate करना एंड उनके resources को मैनेज करना|
Kernel Definition : कर्नेल सिस्टम सॉफ्टवेयर, OS का एक ऐसा कोर कॉम्पोनेन्ट होता है जिसका की सिस्टम पर पूरा control होता है| क्योकि कर्नल, OS का एक सेंट्रल मॉड्यूल होता है इसलिए ज़्यदातर सिस्टम्स मे bootloader के बाद, यह सबसे पहले startup मे लोड होने वाला प्रोग्राम होता है| इसके लोड होने के बाद आगे का पूरा सिस्टम कण्ट्रोल, कर्नल के पास चला जाता है एवं यह बाकी के startup activities को मैनेज करने के साथ साथ सॉफ्टवेयर की input/output जरूरत को देखते हुए उनको CPU के लिए डाटा प्रोसेसिंग इंस्ट्रक्शंस मे ट्रांसलेट करने का काम करता है| इसके साथ साथ यह मेमोरी एवं दूसरी इनपुट आउटपुट डिवाइस जैसे कीबोर्ड्स, मॉनीटर्स, प्रिंटर एवं स्पीकर्स को भी मैनेज करता है| यहाँ पर एक बात और ध्यान मे रखने की है की यह सिस्टम स्टार्ट होने के बाद यह मेमोरी मे लोड होता है एवं मैन मेमोरी मे ही रहता है| अब क्योकि यह मेमोरी मे ही रहता है इसलिए इसका size कम से कम होना बहुत जरुरी होता है जिससे की मेमोरी बाकी के दूसरे टास्क भी perform कर सके और डिवाइस स्लो न हो| Kernel जब भी मेमोरी मे लोड होता है तो यह मेमोरी के एक सेफ एरिया मे रहता है जिससे की OS के दूसरे प्रोग्राम इसको overwrite न कर दे |
डिवाइस बूट होने के बाद कर्नल क्या करता है : जैसे ही सिस्टम स्टार्ट होता है, bootloader लोड होने के बाद कर्नेल मेमोरी मे लोड हो जाता है| इसके बाद यह सिस्टम के जरुरी कॉम्पोनेन्ट को चेक करता है जैसे की मेमोरी, processor, GPU आदि | यह सिस्टम से connected दूसरी इनपुट आउटपुट डिवाइस को भी चेक करता है| इसके साथ साथ OS भी लोड होता है लेकिन कर्नल मेमोरी मे ही रहता है| OS के पूरी तरह से load होने के बाद भी कर्नेल बैकग्राउंड मे रन करता रहता है एवं सिस्टम के resources को मैनेज करता
इस प्रकार kernel के कुछ important टास्क है –
- फाइल सिस्टम
- प्रोसेस मैनेजमेंट
- रिसोर्सेज मैनेजमेंट
- मेमोरी मैनेजमेंट
- डिस्क मैनेजमेंट
- डिवाइस मैनेजमेंट
- I/O कम्युनिकेशन
Types of Kernels – वैसे तो बहुत सारे अलग अलग कर्नल का अस्तित्व है लेकिन दो सबसे popular कर्नेल है –
- Monolithic kernel -यह वो सभी जरुरी सर्विसेज प्रोवाइड करता है जो की ऑपरेटिंग सिस्टम को जरूरत होती है। इसमें user सर्विसेज एंड कर्नेल सर्विसेज को एक ही एड्रेस स्पेस मे रखा जाता है। Examples of monolithic-kernel based OS – Linux, Unix, Windows 95, 98, ME, Solaris, DOS etc।
- Micro kernel – यह कर्नेल केवल बेसिक फंक्शन्स हैंडल करता है। इसका अगर मोनोलिथिक से compare करे तो इसका साइज छोटा एवं execution भी स्लो होता है। इसमें User सर्विसेज एंड कर्नेल सर्विसेज को अलग अलग एड्रेस स्पेस मे रखा जाता है। Examples of Micro-kernel based OSs -QNX, Symbian, Mac OS X, Windows NT etc।
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें
Friends, if you like this post then please share it on Facebook! Please tell through the comments that these posts will welcome you as well as your suggestions.