2010-01-06 15 views
122

मैं कर्नेल और एक ऑपरेटिंग सिस्टम के बीच अंतर को समझने में सक्षम नहीं हूं। मुझे उनके बीच कोई अंतर नहीं दिख रहा है। कर्नेल एक ऑपरेटिंग सिस्टम है?ओएस कर्नेल क्या है? यह एक ऑपरेटिंग सिस्टम से अलग कैसे है?

उत्तर

58

एक ऑपरेटिंग सिस्टम की तकनीकी परिभाषा "एक ऐसा मंच है जिसमें पुस्तकालयों के विशिष्ट सेट और अनुप्रयोगों के लिए आधारभूत संरचना शामिल होती है और एक दूसरे के साथ बातचीत की जाती है"। एक कर्नेल उस अर्थ में एक ऑपरेटिंग सिस्टम है।

अंत उपयोगकर्ता परिभाषा आमतौर पर "एक सॉफ्टवेयर पैकेज जो डेस्कटॉप प्रदान करता है, अनुप्रयोगों के शॉर्टकट, एक वेब ब्राउज़र और मीडिया प्लेयर" प्रदान करता है। एक कर्नेल उस परिभाषा से मेल नहीं खाता है।

तो अंत उपयोगकर्ता के लिए एक लिनक्स वितरण (उबंटू कहें) एक ऑपरेटिंग सिस्टम है जबकि प्रोग्रामर के लिए लिनक्स कर्नेल स्वयं जो हासिल करने की कोशिश कर रहा है उसके आधार पर एक पूरी तरह से वैध ओएस है। उदाहरण के लिए एम्बेडेड सिस्टम ज्यादातर कर्नेल होते हैं जिनमें बहुत कम संख्या में विशेष प्रक्रियाएं होती हैं जो उनके ऊपर चलती हैं। उस स्थिति में कर्नेल स्वयं ही ओएस बन जाता है।

मुझे लगता है कि आप उस ओएस के शीर्ष पर चल रहे अधिकांश अनुप्रयोगों की आवश्यकता के आधार पर रेखा खींच सकते हैं। यदि उनमें से अधिकतर केवल कर्नेल की आवश्यकता है, तो कर्नेल ओएस है, यदि उनमें से अधिकतर एक्स विंडो सिस्टम चलाना चाहते हैं, तो आपका ओएस एक्स + कर्नेल बन जाता है।

+3

* अंत उपयोगकर्ता परिभाषा आमतौर पर "एक सॉफ्टवेयर पैकेज जो डेस्कटॉप प्रदान करता है, अनुप्रयोगों के लिए शॉर्टकट, एक वेब ब्राउज़र और मीडिया प्लेयर" प्रदान करता है। एक कर्नेल उस परिभाषा से मेल नहीं खाता है। * सिर्फ इसलिए कि किसी को पता नहीं है कि एक ऑपरेटिंग सिस्टम का क्या मतलब यह नहीं है कि उनकी परिभाषा मान्य है। – DIMMSum

+0

@ डिमम्सम यह सिर्फ एक बोलचाल परिभाषा नहीं है। ऑपरेटिंग सिस्टम बेचे गए हैं और उपयोगकर्ताओं को इस तरह विपणन किया गया है। –

+0

क्या आप मुझे इस तरह के किसी भी विपणन के लिए इंगित कर सकते हैं? मैं एक ओएस विक्रेता देख सकता था कि वे एक * मंच * प्रदान करते हैं जिस पर ऐसे सभी प्रकार के कार्यक्रम चल सकते हैं, लेकिन एक ओएस में उन कार्यक्रमों को शामिल नहीं किया जाता है। यदि आप दोनों को भंग करते हैं तो आप सचमुच पूरे सिस्टम के बारे में बात कर रहे हैं, इसलिए परिभाषा इसका अर्थ खो देती है। – DIMMSum

3

सरल जवाब

कर्नेल ऑपरेटिंग सिस्टम के मुख्य टुकड़ा है। यह आवश्यक रूप से एक ऑपरेटिंग सिस्टम नहीं है।

बाकी सब कुछ इसके आसपास बनाया गया है। जबकि ऑपरेटिंग सिस्टम ही नहीं किया जा रहा

ellaborate परिभाषा

Kernel (computing) - Wikipedia

+0

तो ड्राइवरों के बिना कर्नेल ऑपरेटिंग सिस्टम है? – Xinus

+1

नहीं ... अधिकांश कर्नल ऑपरेटिंग सिस्टम के विभिन्न टुकड़ों को एक साथ जोड़ते हैं (न केवल ड्राइवर)। –

8

गिरी, ऑपरेटिंग सिस्टम का हिस्सा है। कर्नेल क्या करता है, उसके सभी में जाने के बजाय, मैं विकिपीडिया पेज: http://en.wikipedia.org/wiki/Kernel_%28computing%29 पर स्थगित कर दूंगा। महान, पूरी तरह से सिंहावलोकन।

+2

मेह, इसके बजाय http://en.wikipedia.org/wiki/Operating_system की पहली वाक्य आज़माएं।एक ऑपरेटिंग सिस्टम औपचारिक रूप से सीमित संसाधनों (लगभग * सब कुछ * कंप्यूटर पर) तक मध्यस्थता के साथ कार्यरत है, और मोनोलिथिक कर्नेल वास्तव में ऐसा करते हैं (माइक्रो कर्नेल प्रक्रियाओं पर उस काम में से कुछ को डंप करते हैं, लेकिन वे अभी भी कर्नेल के साथ वितरित होते हैं)। प्रोग्रामर से संभावित रूप से कर्नेल * ओएस * है। उपयोगकर्ता शैल या अन्य इंटरफेस पर भरोसा कर सकते हैं, लेकिन यह * उपयोगकर्ता * है। याद रखें कि ओएस सुपर कंप्यूटर से सब कुछ किसी भी एम्बेडेड विजेट पर चलाता है जिसे * दो * चीजें करने की आवश्यकता होती है। – dmckee

+0

तो आपका मुद्दा यह है कि कुछ ऑपरेटिंग सिस्टम स्वयं कर्नल हैं, या एक ओएस के हिस्सों के साथ जो उपयोगकर्ता इंटरैक्ट करता है वह ओएस का हिस्सा नहीं है? – danben

+0

इसके अलावा, "en.wikipedia.org/wiki/Operating_system" की पहली वाक्य "एक ऑपरेटिंग सिस्टम (ओएस) हार्डवेयर और उपयोगकर्ता के बीच एक इंटरफ़ेस है ..." इसलिए मुझे समझ में नहीं आता कि आप के बीच भेद क्यों बना रहे हैं एक उपयोगकर्ता किसके साथ और बाकी के साथ बातचीत करता है। – danben

2

कंप्यूटिंग में, 'कर्नेल' अधिकांश कंप्यूटर ऑपरेटिंग सिस्टम का केंद्रीय घटक है; यह हार्डवेयर स्तर पर किए गए अनुप्रयोगों और वास्तविक डेटा प्रोसेसिंग के बीच एक पुल है। कर्नेल की जिम्मेदारियों में सिस्टम के संसाधनों (हार्डवेयर और सॉफ्टवेयर घटकों के बीच संचार) का प्रबंधन शामिल है। आमतौर पर एक ऑपरेटिंग सिस्टम के मूल घटक के रूप में, एक कर्नेल संसाधनों (विशेष रूप से प्रोसेसर और आई/ओ डिवाइस) के लिए निम्नतम स्तर की अमूर्त परत प्रदान कर सकता है कि एप्लिकेशन सॉफ़्टवेयर को अपना कार्य करने के लिए नियंत्रण करना चाहिए। यह आम तौर पर इन प्रक्रियाओं को इंटर-प्रोसेस संचार तंत्र और सिस्टम कॉल के माध्यम से एप्लिकेशन प्रक्रियाओं में उपलब्ध कराता है।

6

ऑपरेटिंग सिस्टम एक सामान्य तत्वों (यूजर इंटरफेस, पुस्तकालयों, संसाधन), जो पूरे सिस्टम बनाते हैं, वे करने के लिए व्यक्ति का नाम है।

कर्नेल ऑपरेटिंग सिस्टम के "मस्तिष्क" है, जो हार्ड डिस्क तक स्मृति प्रबंधन तक पहुंच से सबकुछ नियंत्रित करता है। जब भी आप कुछ भी करना चाहते हैं, यह कर्नेल हालांकि जाता है।

1

कर्नेल ऑपरेटिंग सिस्टम हो सकता है या यह ऑपरेटिंग सिस्टम का हिस्सा हो सकता है। लिनक्स में, कर्नेल को लोड किया जाता है और पहले निष्पादित किया जाता है। फिर यह सिस्टम को उपयोगी बनाने के लिए ओएस (जैसे init) के अन्य बिट्स शुरू करता है।

यह माइक्रो-कर्नेल वातावरण में विशेष रूप से सच है। कर्नेल में न्यूनतम कार्यक्षमता है। बाकी सब कुछ, जैसे फ़ाइल सिस्टम और टीसीपी/आईपी, उपयोगकर्ता प्रक्रिया के रूप में चलाते हैं।

57

कर्नेल ऑपरेटिंग सिस्टम का हिस्सा है जो सिस्टम संसाधनों तक पहुंच को मध्यस्थ करता है। सीपीयू, मेमोरी, डिस्क I/O, और नेटवर्किंग तक पहुंच नियंत्रित करके हार्डवेयर को प्रभावी रूप से हार्डवेयर साझा करने के लिए यह कई जिम्मेदारियों को सक्षम करने के लिए ज़िम्मेदार है।

एक ऑपरेटिंग सिस्टम कर्नेल प्लस एप्लिकेशन है जो उपयोगकर्ताओं को कुछ करने के लिए सक्षम बनाता है (यानी कंपाइलर, टेक्स्ट एडिटर, विंडो मैनेजर इत्यादि)।

+14

क्या कंपाइलर और टेक्स्ट एडिटर * वास्तव में * ऑपरेटिंग सिस्टम का हिस्सा हैं? शब्द एक गौरवशाली पाठ संपादक है - ओएस का वह हिस्सा है? –

+4

मुझे जो नहीं मिलता है वह है "एक ऑपरेटिंग सिस्टम कर्नेल प्लस एप्लिकेशन है" लेकिन यदि मैं एक एप्लीकेशन इंस्टॉल करता हूं, तो वर्ड परफेक्ट कहें, तो उसे ऑपरेटिंग सिस्टम के हिस्से के रूप में नहीं गिना जाना चाहिए, नहीं? – Celeritas

+4

@Celeritas पार्टी के लिए थोड़ा देर हो चुकी है लेकिन इंस्टॉल किए गए एप्लिकेशन को ऑपरेटिंग सिस्टम के हिस्से के रूप में नहीं गिना जाएगा। "एप्लिकेशन" वास्तव में सिस्टम उपयोगिताओं हैं जो ऑपरेटिंग सिस्टम के साथ आते हैं। आपके द्वारा इंस्टॉल किए गए सभी अन्य सॉफ़्टवेयर/एप्लिकेशन इस से ऊपर की परत पर हैं। – hashcode55

2

कर्नेल ओएस में रहता है। असल में यह ओएस कार्यों को संभालने के लिए विशेष रूप से एक स्मृति स्थान प्रदान किया जाता है। कुछ भी कहते हैं कि ओएस सिस्टम के संसाधनों को संभालता है और कर्नेल एक है जो ओएस का दिल है और बनाए रखता है, ओएस के i.e.keep ट्रैक का प्रबंधन करता है।

31

ऐसा लगता है कि मूल रूपक जो हमें पहले स्थान पर "कर्नेल" शब्द मिला है उसे भुला दिया गया है। रूपक यह है कि एक ऑपरेटिंग सिस्टम एक बीज है। बीज का "कर्नेल" ऑपरेटिंग सिस्टम का मूल है, जो अनुप्रयोगों के कार्यक्रमों के लिए ऑपरेटिंग सिस्टम सेवाएं प्रदान करता है, जो बीज के "खोल" से घिरा हुआ है जो उपयोगकर्ता बाहर से देखते हैं।

कुछ लोग उस से अधिक विशिष्ट होने के लिए "कर्नेल" (और, वास्तव में, "खोल") को बांधना चाहते हैं। लेकिन सच में ऑपरेटिंग सिस्टम में बहुत भिन्नता है। कम से कम इन भिन्नताओं में "शेल" नहीं है (जो सोलारिस 'sh से नेटवेयर के कंसोल कमांड इंटरप्रेटर के माध्यम से ओएस/2 के कार्यस्थल शैल और विंडोज एनटी एक्सप्लोरर तक हो सकता है), लेकिन एक ऑपरेटिंग सिस्टम से दूसरे में भी भिन्नता है "कर्नेल" का एक हिस्सा क्या है, और नहीं है (उदाहरण के लिए डिस्क I/O शामिल हो सकता है या नहीं)।

यह याद रखना सबसे अच्छा है कि ये शर्तें हैं।

7

एक कर्नेल ऑपरेटिंग सिस्टम का हिस्सा है, यह पहली बात है कि बूट लोडर सीपीयू (अधिकांश ऑपरेटिंग सिस्टम के लिए) पर लोड होता है, यह वह हिस्सा है जो हार्डवेयर के साथ इंटरफेस करता है, और यह भी प्रबंधित करता है कि कौन से प्रोग्राम प्रबंधित कर सकते हैं हार्डवेयर के साथ क्या करें, यह वास्तव में ओएस का केंद्रीय हिस्सा है, यह ड्राइवरों से बना है, एक ड्राइवर एक ऐसा प्रोग्राम है जो हार्डवेयर के एक विशेष टुकड़े के साथ इंटरफेस करता है, उदाहरण के लिए: यदि मैंने कंप्यूटर के लिए डिजिटल कैमरा बनाया है, तो मैं इसके लिए ड्राइवर बनाने की आवश्यकता होगी, ड्राइवर ही एकमात्र प्रोग्राम हैं जो कंप्यूटर के इनपुट और आउटपुट को नियंत्रित कर सकते हैं

16

ठीक है, कर्नेल और ओएस के बीच एक अंतर है। ऊपर वर्णित कर्नेल ओएस का दिल है जो ओएस की मुख्य विशेषताएं प्रबंधित करता है, जबकि कर्नेल पर कुछ उपयोगी अनुप्रयोग और उपयोगिताओं को जोड़ा जाता है, तो पूरा पैकेज ओएस बन जाता है। इसलिए, यह आसानी से कहा जा सकता है कि एक ऑपरेटिंग सिस्टम में कर्नेल स्पेस और उपयोगकर्ता स्पेस होता है।

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

संबंधित मुद्दे