कर्नेल क्या है, कर्नेल के प्रकार और ऑपरेटिंग सिस्टम से यह अलग कैसे हैं?

Kernel Hindi

Kernel in Hindi

एक ऑपरेटिंग सिस्टम मूल रूप से हार्डवेयर रिसोर्सेस के लिए एक मैनेजर है, जो उन रिसोर्सेस को एक सरलीकृत और डिवाइस-इनडिपेंडेंट इंटरफ़ेस प्रदान करता है (मैन्‍युअली सीपीयू या डिवाइस रजिस्टर स्लैमिंग करने की तुलना में)। उस भूमिका में यह उन रिसोर्सेस को शेयर शेयर करने की सुविधा भी देता है, इसलिए यह अलग-अलग प्रोसेस (या हाल ही में वर्चुअल मशीन) के बीच अलगाव और सुरक्षा प्रदान करने के लिए भी जिम्मेदार है।

यह फंक्‍शन बहुत दृढ़ता से परस्पर संबंधित हैं। प्रोसेसेस को आवंटित सीपीयू और मेमोरी दोनों की आवश्यकता होती है। डिवाइस को मेमोरी और इंटरप्ट की आवश्यकता होती है, और आमतौर पर विशेष रूप से एक प्रोसेस के लिए आवंटित नहीं किया जाता है, इसलिए OS को उन्हें हाई-लेवल abstraction layer (जैसे sockets, VFS) के माध्यम से शेयर करने की आवश्यकता होती है। कर्नेल इन टुकड़ों का संग्रह है जिन्हें अविभाज्य माना जाता है – इसलिए इसका नाम कर्नेल हैं- और जो किसी भी यूजर / प्रोसेस से स्वतंत्र रूप से रन होता हैं।

ऑपरेटिंग सिस्टम: यह क्या हैं? इसके फंक्‍शन और टाइप

कर्नेल एक ऑपरेटिंग सिस्टम का मुख्य हिस्सा है जो सिस्टम रिसोर्सेस को मैनेज करता है। यह कंप्यूटर के ऐप्‍लीकेशन और हार्डवेयर के बीच एक पुल की तरह भी काम करता है। यह स्टार्ट-अप (बूटलोडर के बाद) पर लोड किए गए पहले प्रोग्राम्‍स में से एक है।

क्या आप जानते हैं तब क्या होता हैं जब आप कंप्‍यूटर को ऑन करते हैं?

“ऑपरेटिंग सिस्टम में, कर्नेल एक कंप्यूटर प्रोग्राम है जो सॉफ़्टवेयर से इनपुट / आउटपुट रिक्‍वेस्‍ट को मैनेज करता है, और उन्हें Central Processing Unit (CPU) और कंप्यूटर के अन्य इलेक्ट्रॉनिक कंपोनेंट्स के लिए डेटा प्रोसेसिंग इंस्‍ट्रक्‍शन में ट्रांसलेट करता है।”

 

– कर्नेल आधुनिक कंप्यूटर के ऑपरेटिंग सिस्टम का एक मूलभूत हिस्सा है

  • कर्नेल का महत्वपूर्ण कोड आमतौर पर मेमोरी के प्रोटेक्‍टेड एरिया में लोड किया जाता है, जो इसे अन्य द्वारा overwrite होने से रोकता है, ऑपरेटिंग सिस्टम के कम इस्तेमाल किए जाने वाले हिस्सों या ऐप्‍लीकेशन द्वारा।
  • कर्नेल स्पेस में kernel अपने कार्य करता है, जैसे कि प्रोसेस को एक्‍सेक्‍युट करना और इंटरप्ट को हैंडल करना, जबकि यूजर, यूजर स्‍पेस में सब कुछ नॉर्मली करता है, जैसे कि टेक्स्ट एडिटर में टेक्स्ट लिखना या GUI (ग्राफिकल यूजर इंटरफेस) में प्रोग्राम रन करना।
  • यह पृथक्करण यूजर डेटा और कर्नेल डेटा को एक-दूसरे के साथ हस्तक्षेप करने से रोकता है और इस तरह कम होने वाले परफॉर्मेंस या सिस्‍टम अन-स्‍टेबल होने से रोकता है (और संभवतः सिस्‍टम क्रैश होने से भी)।
  • जब कोई प्रोसेस कर्नेल के रिक्वेस्ट करती है, तो रिक्वेस्ट को सिस्टम कॉल कहा जाता है।
  • उदाहरण के लिए, एक monolithic kernel सिस्टम के परफॉरमेंस को सुधारने के लिए एक ही एड्रेस स्पेस में सभी ऑपरेटिंग सिस्टम इंस्ट्रक्शंस को एक्‍सेक्‍युट करता है। ऑपरेटिंग सिस्टम को अधिक मॉड्यूलर बनाने के लिए, और इसलिए, आसान मेंटेनेंस के लिए, microkernel यूजर के स्‍पेस में अधिकांश ऑपरेटिंग सिस्टम की बैकग्राउंड प्रोसेस को रन करता है।

 

Functions Of The Kernel

Central Processing Unit

Kernel किसी भी समय यह निर्णय लेने की ज़िम्मेदारी लेता है कि कौन से रन हो रहे प्रोग्राम को प्रोसेसर या प्रोसेसर्स में आवंटित किया जाना चाहिए।

 

Random-access memory:

रैंडम-एक्सेस मेमोरी का उपयोग प्रोग्राम इंस्ट्रक्शंस और डेटा दोनों को स्टोर करने के लिए किया जाता है। आमतौर पर, किसी प्रोग्राम को एक्सेक्यूट करने के लिए दोनों को मेमोरी में मौजूद होना चाहिए। अक्सर कई प्रोग्राम्‍स मेमोरी का एक्‍सेस चाहते हैं, अक्सर कंप्यूटर की तुलना में अधिक मेमोरी की मांग की जाती है। कर्नेल यह तय करने के लिए ज़िम्मेदार है कि प्रत्येक प्रोसेस का उपयोग करने के लिए कौन सी मेमोरी का उपयोग किया जा सकता है, और यह निर्धारित करने के लिए कि पर्याप्त मेमोरी कब उपलब्ध नहीं है।

 

Input/output (I/O) devices:

Input Devices और Output Devices में कीबोर्ड, माऊस, डिस्क ड्राइव, प्रिंटर, नेटवर्क एडेप्टर, और डिस्प्ले डिवाइस जैसे पेरिफेरल्स शामिल हैं। कर्नेल एक उपयुक्त डिवाइस पर I/O करने के लिए ऐप्‍लीकेशन से रिक्वेस्ट आवंटित करता है और डिवाइस का उपयोग करने के लिए सुविधाजनक तरीके प्रदान करता है।

कर्नेल आमतौर पर interprocess communication (IPC) नाम की प्रोसेस के बीच सिंक्रनाइज़ेशन और कम्‍यूनिकेशन के लिए तरीके प्रदान करते हैं।

 

Types Of Kernel in Hindi:

Kernel के पाँच प्रकार हैं:

i) Monolithic Kernel:

इस कर्नेल प्रकार में कर्नेल के अंदर, शेड्यूलर, डिवाइस ड्राइवर, मेमोरी मैनेजमेंट आदि सभी कर्नेल के स्वामित्व वाले मेमोरी स्पेस में सभी आवश्यक कार्यक्षमता है।

Monolithic kernels में आमतौर पर सभी kernels के उच्चतम डेटा थ्रूपुट होते हैं और बड़े सर्वर या जॉब डेडिकेटेड सर्वर में इसका सबसे अच्छा उपयोग किया जाता है।

 

ii) MicroKernel:

यह कर्नेल टाइप, शेड्यूलिंग, मेमोरी मैनेजमेंट और इंटर-प्रोसेस कम्युनिकेशन के लिए आवश्यक न्यूनतम सेट-अप का उपयोग करता है। यह कर्नेल उपयोग के लिए आवश्यक मेमोरी की मात्रा को काफी कम कर देता है। कर्नेल के न्यूनतम साइज का मतलब है कि Device Drivers द्वारा आवश्यक अतिरिक्त कम्युनिकेशन की मात्रा कर्नेल के माध्यम से अधिकतम डेटा फ्लो को कम करती है, लेकिन साथ ही साथ इंटरप्ट करने के लिए कर्नेल रिस्‍पॉंस टाइम भी घट जाता है। Microkernels आमतौर पर रियल टाइम सिस्‍टम में पाए जाते हैं।

 

iii) Hybrid Kernel:

यह ऊपर के 2 के बीच का मिश्रण है। कर्नेल hybrid से बड़ा है लेकिन monolithic से छोटा है। जो आपको सामान्य रूप से मिलता है, वह एक छोटा किया हुआ monolithic kernel है, जिसमें बहुत सारे डिवाइस ड्राइवर्स को हटा दिया गया है, लेकिन अभी भी कर्नेल स्‍पेस के भीतर सिस्टम सर्विसेस हैं। डिवाइस ड्राइवर को स्टार्ट या रन करते समय आवश्यकतानुसार कर्नेल के साथ जोड़ा जाएगा। ये kernel आमतौर पर आपके डेस्कटॉप, विंडोज, मैक और लिनक्स ओएस फ्लेवर पर पाई जाती हैं।

 

iv) Nanokernel

यह कर्नेल टाइप केवल हार्डवेयर अमूर्तता प्रदान करता है, कोई सर्विस नहीं है और कर्नेल स्‍पेस न्यूनतम है। एक Nanokernel एक hypervisor का आधार बनाता है जिस पर आप वर्चुअलाइजेशन के माध्यम से कई सिस्टम का अनुकरण कर सकते हैं। Nanokernels एम्बेडेड प्रोजेक्ट्स के लिए भी बहुत अच्छे हैं।

 

v) Exo-Kernel

यह कर्नेल सबसे छोटा कर्नेल है। यह प्रोसेस प्रोटेक्‍शन और रिसोर्स हैंडलिंग के अलावा कुछ नहीं प्रदान करता है। इस कर्नेल का उपयोग करने वाला प्रोग्रामर उस डिवाइस को सही ढंग से एक्सेस करने के लिए जिम्मेदार है जिसे वे उपयोग करना चाहते हैं।

 

कर्नेल का एकमात्र उद्देश्य सॉफ्टवेयर और हार्डवेयर जैसे सीपीयू, डिस्क मेमोरी आदि के बीच कम्युनिकेशन का प्रबंधन करना है। कर्नेल निम्न स्तर के कार्यों के लिए जिम्मेदार है जैसे –

डिवाइस मैनेजमेंट

प्रोसेस मैनेजमेंट

मेमोरी मैनेजमेंट

बाधा से निपटने

इनपूट /आऊटपूट कम्युनिकेशन

 

जब कोई ऑपरेटिंग सिस्टम मेमोरी में लोड होती है, तो कर्नेल पहले लोड होता है और तब तक मेमोरी में रहता है जब तक ऑपरेटिंग सिस्टम फिर से बंद नहीं हो जाती।

क्योंकि यह मेमोरी में रहता है, कर्नेल के लिए आवश्यक है कि ऑपरेटिंग सिस्टम और ऐप्‍लीकेशन के अन्य भागों द्वारा आवश्यक सभी आवश्यक सर्विसेस प्रदान करते हुए भी यथासंभव छोटा हो।

Kernel Hindi

तो, ऊपर दिए गए डाइग्राम से आप समझ गए होंगे कि यूजर ऐप्‍लीकेशन स्वयं हार्डवेयर के साथ कम्‍यूनिकेट नहीं करते, बीच में कर्नेल होता है जो हार्डवेयर से निपटने में बेहतर है, इसमें मूल रूप से बेहतर परफॉरमेंस प्रदान करने के लिए एड्रेस स्‍पेस आदि का मैनेजमेंट शामिल है। अब, कर्नेल के साथ ऐप्‍लीकेशन के तथाकथित इंटरैक्शन को सिस्टम कॉल का उपयोग करके किया जाता है, जो कि यह रिक्वेस्ट करता है। तो, कर्नेल का मुख्य कार्य सिस्टम रिसोर्सेस का बुद्धिमानी से उपयोग करके, ऐप्‍लीकेशन लेयर द्वारा ऐप्‍लीकेशन रिक्‍सेस्‍ट को कुशलतापूर्वक पूरा करना है।

कर्नेल कोड को आमतौर पर मेमोरी के एक संरक्षित क्षेत्र में लोड किया जाता है ताकि इसे प्रोग्राम या ऑपरेटिंग सिस्टम के अन्य हिस्सों से overwritten होने से रोका जा सके। यह separation यूजर डेटा और कर्नेल डेटा को एक दूसरे के साथ हस्तक्षेप करने और अस्थिरता और स्‍लो होने से रोकता है।

 

Kernel in Android:

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

यही कारण है कि स्वतंत्र एंड्रॉइड डेवलपर्स और हैकर्स को पुराने डिवाइसेस में नए वर्शन को पोर्ट करने और सब कुछ काम करने में कुछ समय लगता है।

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

जब सॉफ़्टवेयर को कुछ भी करने के लिए हार्डवेयर की आवश्यकता होती है, तो यह कर्नेल को एक रिक्वेस्ट भेजता है। और जब हम कुछ भी कहते हैं या करते हैं, जैसे की स्क्रीन की brightness से, volume level तक, यहां तक ​​कि डिस्प्ले पर जो भी टैप किया जाता है, उसे अंततः कर्नेल द्वारा नियंत्रित किया जाता है।

उदाहरण के लिए – जब आप अपने फ़ोन IT Khoj ऐप पर टैप करते हैं, तो आप सॉफ़्टवेयर को IT Khoj ऐप ओपन करने के लिए कहते हैं। क्या होता है कि जब आपने डिजिटाइज़र पर एक निश्चित पॉइंट को टच करते है, जो उस सॉफ़्टवेयर को बताता है जिसे आपने उन coordinates में स्क्रीन को छुआ है। सॉफ्टवेयर जानता है कि जब उस विशेष स्थान को छुआ जाता है, तो IT Khoj ऐप ओपन करना है।

 

Kernel Hindi.

Kernel Hindi, Kernel in Hindi

सारांश
आर्टिकल का नाम
Kernel in Hindi
लेखक की रेटिंग
51star1star1star1star1star