जवाबों:
एक ऑपरेटिंग सिस्टम की तकनीकी परिभाषा "एक ऐसा प्लेटफ़ॉर्म है जिसमें विशिष्ट पुस्तकालयों और बुनियादी सुविधाओं के विशिष्ट सेट होते हैं, जिनके निर्माण और एक दूसरे के साथ सहभागिता करने के लिए"। एक कर्नेल उस अर्थ में एक ऑपरेटिंग सिस्टम है।
अंत-उपयोगकर्ता की परिभाषा आमतौर पर "एक सॉफ्टवेयर पैकेज के आसपास कुछ है जो एक डेस्कटॉप, अनुप्रयोगों के लिए शॉर्टकट, एक वेब ब्राउज़र और एक मीडिया प्लेयर" प्रदान करता है। एक कर्नेल उस परिभाषा से मेल नहीं खाता है।
इसलिए एंड-यूज़र के लिए लिनक्स डिस्ट्रीब्यूशन (उबंटू कहना) एक ऑपरेटिंग सिस्टम है, जबकि प्रोग्रामर के लिए लिनक्स कर्नेल अपने आप में एक पूरी तरह से मान्य ओएस है जो आप प्राप्त करने की कोशिश कर रहे हैं पर निर्भर करता है। उदाहरण के लिए एम्बेडेड सिस्टम ज्यादातर उन पर चलने वाली विशेष प्रक्रियाओं की बहुत कम संख्या के साथ सिर्फ कर्नेल हैं। उस स्थिति में कर्नेल स्वयं ओएस बन जाता है।
मुझे लगता है कि आप उस रेखा को आकर्षित कर सकते हैं जो उस ओएस के शीर्ष पर चल रहे अधिकांश अनुप्रयोगों की आवश्यकता होती है। यदि उनमें से अधिकांश को केवल कर्नेल की आवश्यकता है, तो कर्नेल ओएस है, यदि उनमें से अधिकांश को एक्स विंडो सिस्टम चलाने की आवश्यकता होती है, तो आपका ओएस एक्स + कर्नेल बन जाता है।
एक कर्नेल ऑपरेटिंग सिस्टम का हिस्सा है जो सिस्टम संसाधनों तक पहुंच की मध्यस्थता करता है। यह CPU, मेमोरी, डिस्क I / O और नेटवर्किंग तक पहुंच को नियंत्रित करके हार्डवेयर को प्रभावी ढंग से साझा करने के लिए कई एप्लिकेशन को सक्षम करने के लिए जिम्मेदार है।
एक ऑपरेटिंग सिस्टम कर्नेल प्लस अनुप्रयोग है जो उपयोगकर्ताओं को कुछ करने में सक्षम बनाता है (जैसे कि कंपाइलर, टेक्स्ट एडिटर, विंडो मैनेजर, आदि)।
ऐसा लगता है कि मूल रूपक जो हमें पहली बार में इसके लिए "कर्नेल" शब्द मिला था, को भुला दिया गया है। रूपक यह है कि एक ऑपरेटिंग सिस्टम एक बीज है। बीज का "कर्नेल" ऑपरेटिंग सिस्टम का मूल है, जो अनुप्रयोगों के कार्यक्रमों के लिए ऑपरेटिंग सिस्टम सेवाएं प्रदान करता है, जो कि बीज के "शेल" से घिरा होता है जो कि उपयोगकर्ता बाहर से देखते हैं।
कुछ लोग "कर्नेल" (और, वास्तव में, "शेल") को नीचे से अधिक विशिष्ट होना चाहते हैं। लेकिन वास्तव में ऑपरेटिंग सिस्टम में बहुत भिन्नता है। कम से कम ये विविधताएं नहीं हैं जो एक "शेल" का गठन करती हैं (जो सोलारिस से हो सकती है)sh
नेटवेयर के कंसोल कमांड इंटरप्रेटर से ओएस / 2 के वर्कप्लेस शेल और विंडोज एनटी के एक्सप्लोरर के माध्यम ), लेकिन इसके ऑपरेटिंग सिस्टम से दूसरे में भी बहुत भिन्नता है क्या है, और नहीं है, एक "कर्नेल" का एक हिस्सा (उदाहरण के लिए डिस्क I / O शामिल नहीं हो सकता है या नहीं)।
यह याद रखना सबसे अच्छा है कि ये शब्द रूपक हैं ।
खैर, कर्नेल और ओएस के बीच अंतर है। ऊपर वर्णित कर्नेल OS का दिल है जो OS की मुख्य विशेषताओं का प्रबंधन करता है जबकि यदि कर्नेल के ऊपर कुछ उपयोगी अनुप्रयोग और उपयोगिताओं को जोड़ा जाता है, तो पूरा पैकेज OS बन जाता है। इसलिए, यह आसानी से कहा जा सकता है कि एक ऑपरेटिंग सिस्टम में एक कर्नेल स्थान और एक उपयोगकर्ता स्थान होता है।
तो, हम कह सकते हैं कि लिनक्स एक कर्नेल है क्योंकि इसमें फाइल-सिस्टम यूटिलिटीज, विंडोिंग सिस्टम और ग्राफिकल डेस्कटॉप, सिस्टम एडमिनिस्ट्रेटर कमांड, टेक्स्ट एडिटर, कंपाइलर आदि जैसे एप्लिकेशन शामिल नहीं हैं, इसलिए, विभिन्न कंपनियां लिनेन कर्नेल पर इस तरह के एप्लिकेशन जोड़ते हैं। और उनके ऑपरेटिंग सिस्टम जैसे ubuntu, suse, centOS, redHat आदि प्रदान करें।
ऑपरेटिंग सिस्टम एक है सामान्य तत्वों (यूजर इंटरफेस, पुस्तकालयों, संसाधन), जो पूरे सिस्टम बनाते हैं, वे करने के लिए दिया नाम।
कर्नेल ऑपरेटिंग सिस्टम का "मस्तिष्क" है, जो हार्ड डिस्क से मेमोरी प्रबंधन तक सब कुछ नियंत्रित करता है। जब भी आप कुछ भी करना चाहते हैं, यह कर्नेल के रूप में जाता है।
कर्नेल ऑपरेटिंग सिस्टम का हिस्सा है, जबकि स्वयं ऑपरेटिंग सिस्टम नहीं है। कर्नेल क्या करता है, इस पर जाने के बजाय, मैं विकिपीडिया पृष्ठ को टाल दूंगा: http://en.wikipedia.org/wiki/Kernel_%28computing%29 । महान, गहन अवलोकन।
कर्नेल ऑपरेटिंग सिस्टम का हिस्सा है, यह पहली चीज है कि बूट लोडर सीपीयू पर लोड होता है (अधिकांश ऑपरेटिंग सिस्टम के लिए), यह वह हिस्सा है जो हार्डवेयर के साथ इंटरफेस करता है, और यह भी प्रबंधित करता है कि प्रोग्राम क्या कर सकते हैं। हार्डवेयर, यह वास्तव में ओएस का केंद्रीय हिस्सा है, यह ड्राइवरों से बना है, एक ड्राइवर एक प्रोग्राम है जो हार्डवेयर के एक विशेष टुकड़े के साथ इंटरफेस करता है, उदाहरण के लिए: अगर मैंने कंप्यूटर के लिए एक डिजिटल कैमरा बनाया है, तो मुझे बनाने की आवश्यकता होगी इसके लिए एक ड्राइवर, ड्राइवर केवल प्रोग्राम हैं जो कंप्यूटर के इनपुट और आउटपुट को नियंत्रित कर सकते हैं
सरल उत्तर
कर्नेल ऑपरेटिंग सिस्टम का मुख्य टुकड़ा है। यह जरूरी नहीं कि खुद में और एक ऑपरेटिंग सिस्टम हो।
बाकी सब कुछ इसके चारों ओर बनाया गया है।
विस्तृत परिभाषा
कंप्यूटिंग में, 'कर्नेल' अधिकांश कंप्यूटर ऑपरेटिंग सिस्टम का केंद्रीय घटक है; यह अनुप्रयोगों और हार्डवेयर स्तर पर किए गए वास्तविक डेटा प्रसंस्करण के बीच एक सेतु है। कर्नेल की जिम्मेदारियों में सिस्टम के संसाधनों (हार्डवेयर और सॉफ़्टवेयर घटकों के बीच संचार) को प्रबंधित करना शामिल है। आमतौर पर एक ऑपरेटिंग सिस्टम के एक बुनियादी घटक के रूप में, एक कर्नेल संसाधनों (विशेष रूप से प्रोसेसर और I / O उपकरणों) के लिए निम्नतम-स्तर की अमूर्त परत प्रदान कर सकता है जिसे एप्लिकेशन सॉफ़्टवेयर को अपना कार्य करने के लिए नियंत्रित करना होगा। यह आमतौर पर इन प्रक्रियाओं को इंटर-प्रोसेस संचार तंत्र और सिस्टम कॉल के माध्यम से आवेदन प्रक्रियाओं के लिए उपलब्ध कराता है।
कर्नेल ऑपरेटिंग सिस्टम हो सकता है या यह ऑपरेटिंग सिस्टम का एक हिस्सा हो सकता है। लिनक्स में, कर्नेल को पहले लोड और निष्पादित किया जाता है। फिर यह सिस्टम को उपयोगी बनाने के लिए ओएस के अन्य बिट्स (जैसे init) को शुरू करता है।
यह सूक्ष्म कर्नेल वातावरण में विशेष रूप से सच है। कर्नेल में न्यूनतम कार्यक्षमता होती है। फ़ाइल सिस्टम और टीसीपी / आईपी की तरह बाकी सब, एक उपयोगकर्ता प्रक्रिया के रूप में चलता है।
ruby -e "puts Kernel.methods"
और आपको कई तरीके परिभाषित होंगे।