लिनक्स कर्नेल क्या है और यह क्या करता है?


छवि ingridtaylar . द्वारा

कोड की 13 मिलियन से अधिक लाइनों के साथ, लिनक्स कर्नेल दुनिया की सबसे बड़ी ओपन सोर्स परियोजनाओं में से एक है, लेकिन कर्नेल क्या है और इसका उपयोग किस लिए किया जाता है?

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

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



विभिन्न प्रकार के गुठली

बेशक, खरोंच से एक का निर्माण करते समय कर्नेल और वास्तु संबंधी विचारों को बनाने के विभिन्न तरीके हैं। सामान्य तौर पर, अधिकांश गुठली तीन प्रकारों में से एक में आती है: मोनोलिथिक, माइक्रोकर्नेल और हाइब्रिड। लिनक्स एक मोनोलिथिक कर्नेल है जबकि ओएस एक्स (एक्सएनयू) और विंडोज 7 हाइब्रिड कर्नेल का उपयोग करते हैं। आइए तीन श्रेणियों का एक त्वरित दौरा करें ताकि हम बाद में और अधिक विवरण में जा सकें।


अपटाउन पॉपकॉर्न द्वारा छवि

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

पेशेवरों

  • सुवाह्यता
  • छोटा स्थापित पदचिह्न
  • छोटी स्मृति पदचिह्न
  • सुरक्षा

दोष

  • ड्राइवरों के माध्यम से हार्डवेयर अधिक सारगर्भित है
  • हार्डवेयर धीमी प्रतिक्रिया दे सकता है क्योंकि ड्राइवर उपयोगकर्ता मोड में हैं
  • प्रक्रियाओं को जानकारी प्राप्त करने के लिए कतार में प्रतीक्षा करनी पड़ती है
  • प्रक्रियाओं को प्रतीक्षा किए बिना अन्य प्रक्रियाओं तक पहुंच नहीं मिल सकती है

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

पेशेवरों

  • कार्यक्रमों के लिए हार्डवेयर तक अधिक सीधी पहुंच
  • प्रक्रियाओं के लिए एक दूसरे के बीच संवाद करने में आसान
  • यदि आपका उपकरण समर्थित है, तो उसे बिना किसी अतिरिक्त संस्थापन के काम करना चाहिए
  • प्रक्रिया तेजी से प्रतिक्रिया करती है क्योंकि प्रोसेसर समय के लिए कोई कतार नहीं है

दोष

  • बड़ा स्थापित पदचिह्न
  • बड़ी मेमोरी फ़ुटप्रिंट
  • कम सुरक्षित क्योंकि सब कुछ पर्यवेक्षक मोड में चलता है

लिनक्स-कर्नेल-और-क्या-क्या-क्या करता है फोटो 3
फ़्लिकर पर स्कोस्ची के माध्यम से छवि

हाइब्रिड कर्नेल
हाइब्रिड कर्नेल में यह चुनने और चुनने की क्षमता होती है कि वे उपयोगकर्ता मोड में क्या चलाना चाहते हैं और वे पर्यवेक्षक मोड में क्या चलाना चाहते हैं। कई बार डिवाइस ड्राइवर और फाइल सिस्टम I/O जैसी चीजें यूजर मोड में चलाई जाएंगी जबकि IPC और सर्वर कॉल्स को सुपरवाइजर मोड में रखा जाएगा। यह दोनों दुनिया के सर्वश्रेष्ठ देता है लेकिन अक्सर हार्डवेयर निर्माता के अधिक काम की आवश्यकता होती है क्योंकि ड्राइवर की सभी जिम्मेदारी उनके ऊपर होती है। इसमें कुछ विलंबता समस्याएं भी हो सकती हैं जो माइक्रोकर्नेल में अंतर्निहित हैं।

पेशेवरों

  • डेवलपर चुन सकता है कि उपयोगकर्ता मोड में क्या चलता है और पर्यवेक्षक मोड में क्या चलता है
  • मोनोलिथिक कर्नेल की तुलना में छोटे पदचिह्न स्थापित करें
  • अन्य मॉडलों की तुलना में अधिक लचीला

दोष

  • माइक्रोकर्नेल के समान प्रक्रिया अंतराल से पीड़ित हो सकते हैं
  • डिवाइस ड्राइवरों को उपयोगकर्ता द्वारा प्रबंधित करने की आवश्यकता होती है (आमतौर पर)

लिनक्स कर्नेल फ़ाइलें कहाँ हैं?

लिनक्स-कर्नेल-और-क्या-क्या-क्या करता है फोटो 4

उबंटू में कर्नेल फ़ाइल, आपके /boot फ़ोल्डर में संग्रहीत होती है और इसे vmlinuz-version कहा जाता है। Vmlinuz नाम यूनिक्स की दुनिया से आता है, जहां वे 60 के दशक में अपने कर्नेल को यूनिक्स वापस कहते थे, इसलिए लिनक्स ने अपने कर्नेल लिनक्स को कॉल करना शुरू कर दिया जब इसे पहली बार 90 के दशक में विकसित किया गया था।

जब वर्चुअल मेमोरी को आसान मल्टीटास्किंग क्षमताओं के लिए विकसित किया गया था, तो फ़ाइल के सामने vm को यह दिखाने के लिए रखा गया था कि कर्नेल वर्चुअल मेमोरी का समर्थन करता है। कुछ समय के लिए लिनक्स कर्नेल को vmlinux कहा जाता था, लेकिन उपलब्ध बूट मेमोरी में फिट होने के लिए कर्नेल बहुत बड़ा हो गया था, इसलिए कर्नेल छवि को संपीड़ित किया गया था और अंतिम x को z में बदल दिया गया था ताकि यह दिखाया जा सके कि यह zlib संपीड़न के साथ संकुचित था। यह समान संपीड़न हमेशा उपयोग नहीं किया जाता है, अक्सर LZMA या BZIP2 के साथ प्रतिस्थापित किया जाता है, और कुछ कर्नेल को केवल zImage कहा जाता है।

संस्करण क्रमांकन ए.बी.सी.डी प्रारूप में होगा जहां ए.बी संभवतः 2.6 होगा, सी आपका संस्करण होगा, और डी आपके पैच या सुधार को इंगित करता है।

लिनक्स-कर्नेल-और-क्या-क्या-क्या करता है फोटो 5

/boot फ़ोल्डर में अन्य बहुत महत्वपूर्ण फ़ाइलें भी होंगी जिन्हें initrd.img-version, system.map-version, और config-version कहा जाता है। Initrd फ़ाइल का उपयोग एक छोटी RAM डिस्क के रूप में किया जाता है जो वास्तविक कर्नेल फ़ाइल को निकालती और निष्पादित करती है। सिस्टम.मैप फ़ाइल का उपयोग कर्नेल के पूरी तरह से लोड होने से पहले स्मृति प्रबंधन के लिए किया जाता है, और कॉन्फ़िगरेशन फ़ाइल कर्नेल को बताती है कि कर्नेल छवि में कौन से विकल्प और मॉड्यूल लोड किए जाने हैं जब इसे संकलित किया जा रहा है।

लिनक्स कर्नेल आर्किटेक्चर

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

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

कल्पना कीजिए कि क्या आप कभी भी रिबूट करने की आवश्यकता के बिना विंडोज सर्विस पैक में अपग्रेड कर सकते हैं ...

कर्नेल मॉड्यूल

लिनक्स-कर्नेल-और-क्या-क्या-क्या करता है फोटो 6

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

एक मॉड्यूल आमतौर पर डिवाइस, फाइल सिस्टम और सिस्टम कॉल जैसी चीजों के लिए बेस कर्नेल में कार्यक्षमता जोड़ता है। LKM में फ़ाइल एक्सटेंशन .ko होता है और इसे आमतौर पर /lib/modules निर्देशिका में संग्रहीत किया जाता है। उनकी मॉड्यूलर प्रकृति के कारण आप मेन्यूकॉन्फिग कमांड के साथ स्टार्टअप के दौरान लोड करने या लोड करने के लिए मॉड्यूल सेट करके या अपनी /boot/config फ़ाइल को संपादित करके आसानी से अपने कर्नेल को अनुकूलित कर सकते हैं, या आप मॉडप्रोब के साथ फ्लाई पर मॉड्यूल लोड और अनलोड कर सकते हैं आज्ञा।

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

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

Kernel.org

ज़्यादा कहानियां

क्या आपके बच्चे स्क्रीन के सामने ज्यादा समय बिता रहे हैं?

आपके बच्चे स्क्रीन के सामने कितना समय बिताते हैं? यदि यह प्रति दिन दो घंटे से अधिक है, तो उन्हें नए शोध के अनुसार व्यवहार संबंधी समस्याएं होने का अधिक जोखिम होता है।

एक सार्वजनिक पीसी पर साइन-इन कोड के साथ अपने विंडोज लाइव खाते को सुरक्षित करें

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

नए विंडोज लाइव मेश 2011 के साथ शुरुआत करना

हाल ही में Microsoft अपनी लाइव मेश / सिंक क्लाउड आधारित सेवाओं के साथ अनिर्णायक रहा है। लाइव मेश पब्लिक बीटा और कुछ नाम बदलने के बाद, इसे अब लाइव मेश 2011 कहा जाता है, और हम आपको दिखाएंगे कि इसके साथ कैसे शुरुआत करें।

फ्राइडे फन: रोड ऑफ द डेड

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

लाइवस्क्राइब पेन अब एवरनोट में हस्तलिखित नोट्स भेजें

यदि आप एक एवरनोट उपयोगकर्ता हैं, लेकिन वास्तव में पेन और पेपर का उपयोग करना पसंद करते हैं, तो अब आप अपने नोट्स को सीधे एवरनोट में भेजने के लिए अपने लाइवस्क्राइब डिजिटल पेन का उपयोग कर सकते हैं, जहां वे खोजने योग्य और कहीं भी उपलब्ध होंगे।

हिडन कीबोर्ड ट्रिक विंडोज लाइव राइटर में गैर-घुंघराले उद्धरण बनाता है

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

ओपेरा 11 में एक्सटेंशन होंगे

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

शुरुआत: आउटलुक 2010 में अन्य लोगों को कार्य कैसे सौंपें?

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

XnView का उपयोग करके फ़ोटो के समूह का आकार बदलें बैच कैसे करें

कई दर्जन बड़ी, बहु-मेगापिक्सेल फ़ोटो लेने के बाद, अपलोड करने से पहले मैं जो आखिरी काम करना चाहता हूं, वह उन्हें मैन्युअल रूप से सिकोड़ना है। लंबे अपलोड समय से निपटने के बजाय, फ्रीवेयर एप्लिकेशन XnView बचाव के लिए आता है, बैचिंग कुछ आसान चरणों में आकार बदलता है।

क्लाउड कंप्यूटिंग क्या है और इस बेवकूफी भरे शब्द का क्या अर्थ है?

दूसरे दिन एक पाठक ने यह पूछते हुए लिखा कि क्या क्लाउड कंप्यूटिंग उसकी हार्ड ड्राइव की जगह को बचाने में मदद कर सकती है, जिससे मुझे एहसास हुआ कि यह वास्तव में इस बारे में बात करने का समय है कि इस मूर्खतापूर्ण चर्चा का वास्तव में क्या मतलब है।