आकस्मिक उपयोगकर्ताओं और कम से कम कट्टर प्रशंसकों के लिए, लिनक्स एक ऑपरेटिंग सिस्टम है। शुद्धवादियों के लिए, हालांकि, शीर्षक "लिनक्स" कर्नेल के लिए आरक्षित है जो ऑपरेटिंग सिस्टम को शक्ति देता है। यदि आप लिनक्स कर्नेल के बारे में उत्सुक हैं, तो चलिए उस प्रश्न का उत्तर नए उपयोगकर्ता की आंखों के साथ दें।
मोड
इससे पहले कि हम समझें कि कर्नेल क्या है, "उपयोगकर्ता मोड" और "कर्नेल मोड" शब्द को समझना महत्वपूर्ण है। उपयोगकर्ता मोड तब होता है जब कोड निष्पादित करने में हार्डवेयर या संदर्भ स्मृति तक सीधे पहुंचने की कोई क्षमता नहीं होती है। हार्डवेयर और मेमोरी तक पहुंच प्राप्त करने के लिए, उपयोगकर्ता मोड में चल रहे कोड को सिस्टम एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) में निर्देशों का प्रतिनिधि होना चाहिए। कर्नेल मोड तब होता है जब कोड निष्पादित करने के लिए सभी हार्डवेयर तक अप्रतिबंधित पहुंच होती है और एक ऑपरेटिंग सिस्टम के सबसे विश्वसनीय कार्यों के लिए आरक्षित होती है।
कर्नेल क्या है?
प्रत्येक ऑपरेटिंग सिस्टम में कर्नेल होता है। विंडोज़, मैकोज़, आईओएस, एंड्रॉइड, क्रोम ओएस और लिनक्स में निम्न स्तर की प्रणाली है जो कंप्यूटर के भौतिक हार्डवेयर के साथ सभी अनुप्रयोगों को इंटरफेस करने के लिए ज़िम्मेदार है। कर्नेल के बिना, आपके कोई भी एप्लिकेशन भौतिक कंप्यूटर का उपयोग करने में सक्षम नहीं होगा; फ़ायरफ़ॉक्स, क्रोम, लिबर ऑफिस, एमएस ऑफिस, या आउटलुक जैसे ऐप्स काम नहीं करेंगे। कर्नेल प्रक्रियाओं को इंटर-प्रोसेस कम्युनिकेशन (आईपीसी) नामक जानकारी का आदान-प्रदान करने की अनुमति देने के लिए भी जिम्मेदार है।
तीन प्रकार के कर्नल (आमतौर पर बोलते हैं) होते हैं:
- मोनोलिथिक कर्नल: इन कर्नेल में सीपीयू, मेमोरी, आईपीसी, डिवाइस ड्राइवर, फाइल सिस्टम प्रबंधन, और सिस्टम सर्वर कॉल शामिल हैं। यह अनुप्रयोगों को मुफ्त सिस्टम मेमोरी को सौंपने के लिए भी ज़िम्मेदार है। हार्डवेयर और मल्टीटास्किंग तक पहुंचने के लिए इन प्रकार के कर्नल आम तौर पर बेहतर होते हैं।
- microkernels: माइक्रोक्रोनल्स कम से कम दृष्टिकोण लेते हैं और केवल सीपीयू, मेमोरी और आईपीसी का प्रबंधन करते हैं।
- हाइब्रिड कर्नेल: हाइब्रिड कर्नेल में यह तय करने की क्षमता होती है कि वे उपयोगकर्ता या कर्नेल मोड में क्या चलाना चाहते हैं। यद्यपि यह दोनों दुनिया के सर्वश्रेष्ठ प्रदान करता है, लेकिन हार्डवेयर निर्माताओं से चलने वाले कोड और हार्डवेयर के बीच इंटरफ़ेस की सेवा करने वाले ड्राइवरों को और अधिक आवश्यकता होती है।
लिनक्स एक ओपन सोर्स, मोनोलिथिक कर्नेल का उपयोग करता है, जबकि मैकोज़ और विंडोज दोनों हाइब्रिड कर्नेल का उपयोग करते हैं। लिनक्स कर्नेल को 1 99 1 में लिनस टोरवाल्ड्स द्वारा कल्पना की गई थी। आज तक, श्री टोरवाल्ड्स लिनक्स कर्नेल पर अग्रणी डेवलपर बने रहे हैं, जबकि दुनिया भर के डेवलपर्स लिनक्स कर्नेल में योगदान देते हैं। वास्तव में, अनुमान लगाया गया है कि 1,000 से अधिक कंपनियों के लगभग 10,000 डेवलपर्स ने लिनक्स कर्नेल में योगदान दिया है (क्योंकि 2005 में ट्रैकिंग शुरू हुई थी)।
कर्नेल कहां है?
यदि आप टर्मिनल विंडो खोलते हैं और कमांड जारी करते हैं एलएस / बूट, आपको एक फाइल दिखाई देगी vmlinuz-संस्करण (जहां संस्करण रिलीज नाम या संख्या है)। Vmlinuz फ़ाइल वास्तविक बूट करने योग्य लिनक्स कर्नेल है, और "z" को इंगित करना है कि कर्नेल संपीड़ित है; तो vmlinux के बजाय हमारे पास vmlinuz है।

उस / बूट निर्देशिका में अन्य महत्वपूर्ण कर्नेल फ़ाइलें हैं, जैसे initrd.img-VERSION, system.map-VERSION, और config-संस्करण (जहां संस्करण या तो नाम या रिलीज़ नंबर है)। ये अन्य फाइलें निम्नलिखित उद्देश्यों को पूरा करती हैं:
- initrd: एक छोटे रैमडिस्क के रूप में प्रयोग किया जाता है जो वास्तविक कर्नेल फ़ाइल निष्कर्ष निकालता है और निष्पादित करता है।
- system.map: कर्नेल लोडिंग से पहले स्मृति प्रबंधन के लिए प्रयोग किया जाता है।
- config: कर्नेल को कौन से विकल्प और मॉड्यूल लोड करने के लिए निर्देश देता है।
मॉड्यूल
मॉड्यूल के बिना, कर्नेल का अधिक उपयोग नहीं किया जाएगा। मॉड्यूल प्रभावी ढंग से आपके सभी सिस्टम मेमोरी का उपभोग किए बिना हार्डवेयर के साथ संवाद करने के लिए आवश्यक ड्राइवरों को चालू करता है। मॉड्यूल कर्नेल में कार्यक्षमता भी जोड़ते हैं, जैसे परिधीय संचार, फाइल सिस्टम, सुरक्षा इत्यादि के साथ संचार करना, निम्नलिखित आदेशों के साथ कर्नेल में मॉड्यूल को सूचीबद्ध करना, जोड़ना और निकालना संभव है:
- lsmod वर्तमान में लोड किए गए सभी कर्नेल मॉड्यूल सूचीबद्ध करेंगे।
- insmod चल रहे कर्नेल में कर्नेल मॉड्यूल लोड करेगा।
- rmmod चल रहे कर्नेल से मॉड्यूल को अनलोड करेगा।
तो आप देखते हैं, कुछ सरल कमांड की मदद से, लिनक्स कर्नेल काफी लचीला हो सकता है।
वर्तमान कर्नेल
इस लेखन के अनुसार, स्थिर लिनक्स कर्नेल 4.18.5 है, लेकिन सभी लिनक्स वितरण में नवीनतम कर्नेल शामिल नहीं होगा। वास्तव में, अद्यतन प्राथमिक ओएस डेस्कटॉप वितरण कर्नेल 4.15.0-30 चलाता है। उस संख्या का क्या मतलब है? प्राथमिक ओएस पर नवीनतम कर्नेल के मामले में, इसका मतलब है:
- 4 प्रमुख संस्करण है
- 15 मामूली संस्करण है
- 0-30 संशोधन है
Kernel.org से लिनक्स कर्नेल के विभिन्न संस्करणों को डाउनलोड करना और इसे स्वयं संकलित करना भी संभव है। लिनक्स कर्नेल का संकलन उन लोगों के लिए सबसे अच्छा काम है जो वास्तव में जानते हैं कि वे क्या कर रहे हैं। एक अनुचित संकलित कर्नेल एक सिस्टम को बूट करने योग्य प्रदान कर सकता है। इसलिए, जब तक आप इस स्तर पर कोड संकलित करने के चुनौतीपूर्ण कार्य में कूदने के लिए तैयार नहीं होते हैं, तो डिफ़ॉल्ट कर्नेल का उपयोग करें जो आपके वितरण के वितरण पर जहाजों और अपडेट्स का उपयोग करता है।




