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

1698

What is Kernel in Hindi | कर्नेल क्या है?

प्रत्येक ऑपरेटिंग सिस्टम- चाहे वह विंडोज, मैक, लिनक्स, या एंड्रॉइड हो, में कर्नेल नामक एक कोर प्रोग्राम होता है जो पूरे सिस्टम के लिए ‘बॉस’ के रूप में कार्य करता है। यह ओएस का दिल होता है! कर्नेल केवल एक कंप्यूटर प्रोग्राम है, जो बाकी सब चीजों को कंट्रोल करता है। कंप्यूटर पर जो कुछ भी होता है वह इसी कर्नेल से होकर गुजरता है। तो आज इस पोस्ट में, आप जानेंगे कि ऑपरेटिंग सिस्‍टम में Kernel क्या है?

What is Kernel in Hindi | कर्नेल क्या है?

Kernel in Hindi

कर्नेल ऑपरेटिंग सिस्टम का सबसे महत्वपूर्ण हिस्सा है। यह हार्डवेयर और कंप्यूटर की प्रोसेस के बीच प्राथमिक इंटरफ़ेस है। रिसोर्सेस को यथासंभव प्रभावी ढंग से एडजस्‍ट करने के लिए कर्नेल इन दोनों को जोड़ता है।

- Advertisement -

इसे कर्नेल नाम दिया गया है क्योंकि यह OS के अंदर काम करता है, ठीक उसी तरह जैसे एक बीज एक सख्त खोल के अंदर होता है।

यह हार्डवेयर के सभी मुख्य कार्यों को नियंत्रित करता है, चाहे वह टैबलेट, डेस्कटॉप, सर्वर या किसी अन्य प्रकार का डिवाइस हो।

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

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

  • सीपीयू/जीपीयू
  • मेमोरी
  • इनपुट/आउटपुट या IO डिवाइस
  • रिसोर्स मैनेजमेंट
  • मेमोरी मैनेजमेंट
  • डिवाइस मैनेजमेंट सिस्टम कॉल।

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

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

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

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

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

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

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

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

कर्नेल के उद्देश्य क्‍या हैं?

Purposes of the Kernel in Hindi

कर्नेल में कई महत्वपूर्ण कार्य हैं, जैसे प्रोसेस और ममोरी मैनेजमेंट, डिस्‍क स्‍टोरेज, और निम्न-स्तरीय नेटवर्किंग। हम कर्नेल के मुख्य उद्देश्यों को नीचे संक्षेप में प्रस्तुत कर सकते हैं:

  • निर्धारित करता है कि कौन सी प्रोसेस Central Process Unit (CPU) पर अगली प्रोसेस है, कब और कितनी देर तक
  • मॉनिटर करता है कि क्या और कहाँ स्टोर करने के लिए कितनी मेमोरी का उपयोग किया जा रहा है
  • हार्डवेयर और प्रोसेसेस के बीच एक Interpreter के रूप में कार्य करता है
  • सिस्टम कॉल के माध्यम से प्रोसेसेस से सेवा के लिए अनुरोध प्राप्त करता है
  • यदि डेवलपर्स कर्नेल को उचित रूप से लागू करते हैं, तो यह यूजर की दृष्टि से बाहर है। यह अपने स्वयं के क्षेत्र में ऑपरेट है जिसे कर्नेल स्पेस कहा जाता है। यह मेमोरी आवंटित करता है और मॉनिटर करता है जहां सब कुछ कर्नेल स्पेस में स्‍टोर है।
  • यूजर स्‍पेस वह वातावरण है जहां यूजर्स फ़ाइलें और वेब ब्राउज़र देखता है। ये प्रोग्राम सिस्टम कॉल इंटरफ़ेस का उपयोग करके कर्नेल के साथ कम्यूनिकेट करते हैं।

कर्नेल के कार्य क्या है?

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 के पाँच प्रकार हैं:

  1. Monolithic Kernel: इस कर्नेल प्रकार में कर्नेल के अंदर, शेड्यूलर, डिवाइस ड्राइवर, मेमोरी मैनेजमेंट आदि सभी कर्नेल के स्वामित्व वाले मेमोरी स्पेस में सभी आवश्यक कार्यक्षमता है। Monolithic kernels में आमतौर पर सभी kernels के उच्चतम डेटा थ्रूपुट होते हैं और बड़े सर्वर या जॉब डेडिकेटेड सर्वर में इसका सबसे अच्छा उपयोग किया जाता है।
  2. MicroKernel: यह कर्नेल टाइप, शेड्यूलिंग, मेमोरी मैनेजमेंट और इंटर-प्रोसेस कम्युनिकेशन के लिए आवश्यक न्यूनतम सेट-अप का उपयोग करता है। यह कर्नेल उपयोग के लिए आवश्यक मेमोरी की मात्रा को काफी कम कर देता है। कर्नेल के न्यूनतम साइज का मतलब है कि Device Drivers द्वारा आवश्यक अतिरिक्त कम्युनिकेशन की मात्रा कर्नेल के माध्यम से अधिकतम डेटा फ्लो को कम करती है, लेकिन साथ ही साथ इंटरप्ट करने के लिए कर्नेल रिस्‍पॉंस टाइम भी घट जाता है। Microkernels आमतौर पर रियल टाइम सिस्‍टम में पाए जाते हैं।
  3. Hybrid Kernel: यह ऊपर के 2 के बीच का मिश्रण है। कर्नेल hybrid से बड़ा है लेकिन monolithic से छोटा है। जो आपको सामान्य रूप से मिलता है, वह एक छोटा किया हुआ monolithic kernel है, जिसमें बहुत सारे डिवाइस ड्राइवर्स को हटा दिया गया है, लेकिन अभी भी कर्नेल स्‍पेस के भीतर सिस्टम सर्विसेस हैं। डिवाइस ड्राइवर को स्टार्ट या रन करते समय आवश्यकतानुसार कर्नेल के साथ जोड़ा जाएगा। ये kernel आमतौर पर आपके डेस्कटॉप, विंडोज, मैक और लिनक्स ओएस फ्लेवर पर पाई जाती हैं।
  4. Nanokernel: यह कर्नेल टाइप केवल हार्डवेयर अमूर्तता प्रदान करता है, कोई सर्विस नहीं है और कर्नेल स्‍पेस न्यूनतम है। एक Nanokernel एक hypervisor का आधार बनाता है जिस पर आप वर्चुअलाइजेशन के माध्यम से कई सिस्टम का अनुकरण कर सकते हैं। Nanokernels एम्बेडेड प्रोजेक्ट्स के लिए भी बहुत अच्छे हैं।
  5. Exo-Kernel: यह कर्नेल सबसे छोटा कर्नेल है। यह प्रोसेस प्रोटेक्‍शन और रिसोर्स हैंडलिंग के अलावा कुछ नहीं प्रदान करता है। इस कर्नेल का उपयोग करने वाला प्रोग्रामर उस डिवाइस को सही ढंग से एक्सेस करने के लिए जिम्मेदार है जिसे वे उपयोग करना चाहते हैं।

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

  • डिवाइस मैनेजमेंट
  • प्रोसेस मैनेजमेंट
  • मेमोरी मैनेजमेंट
  • बाधा से निपटने
  • इनपूट /आऊटपूट कम्युनिकेशन

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

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

Kernel Hindi

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

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

एंड्रॉइड में कर्नेल क्या है?

Kernel in Android

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

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

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

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

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

कर्नेल पर अक्सर पूछे जाने वाले प्रश्न

कर्नेल का उपयोग किसके लिए किया जाता है?

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

कर्नेल की विशेषताएं क्या हैं?

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

क्या कर्नेल एक प्रोसेस है?

एक कर्नेल एक प्रोसेस से बड़ा होता है। यह प्रोसेसेस का निर्माण और प्रबंधन करता है। प्रोसेसेस के साथ काम करना संभव बनाने के लिए कर्नेल एक ऑपरेटिंग सिस्टम का आधार है

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.