कर्नेल क्या है? यदि आप किसी भी समय एंड्रॉइड फ़ोरम, ब्लॉग, कैसे-कैसे पोस्ट या ऑनलाइन चर्चा पढ़ रहे हैं, तो आप जल्द ही लोगों को कर्नेल के बारे में बात करते हुए सुनेंगे। एंड्रॉइड के लिए एक कर्नेल कुछ अनूठा नहीं है - आईओएस और मैकओएस में एक है, विंडोज में एक है, ब्लैकबेरी का क्यूएनएक्स एक है, वास्तव में सभी उच्च स्तरीय ऑपरेटिंग सिस्टम में एक है। जिसको हम चाहते हैं वह लिनक्स है, क्योंकि यह एक Android उपयोग है। आइए इसे तोड़ने की कोशिश करें कि यह क्या है और यह क्या करता है।
एंड्रॉइड डिवाइस लिनक्स कर्नेल का उपयोग करते हैं, शर्त लगाते हैं कि हर फोन अपने स्वयं के संस्करण का उपयोग करता है। लिनक्स कर्नेल का रख-रखाव सब कुछ ठीक और उपलब्ध है, योगदानकर्ता (जैसे Google) अपनी जरूरतों को पूरा करने के लिए चीजों को जोड़ते हैं या बदल देते हैं, और हार्डवेयर बनाने वाले लोग भी योगदान देते हैं, क्योंकि उन्हें उन हिस्सों के लिए हार्डवेयर ड्राइवरों को विकसित करने की आवश्यकता होती है जिनका वे उपयोग कर रहे हैं। कर्नेल संस्करण वे उपयोग कर रहे हैं। यही कारण है कि स्वतंत्र एंड्रॉइड डेवलपर्स और हैकर्स को पुराने उपकरणों में नए संस्करणों को पोर्ट करने और सब कुछ काम करने में कुछ समय लगता है। फ़ोन के लिए कर्नेल के एक संस्करण के साथ काम करने के लिए लिखे गए ड्राइवर एक ही फ़ोन पर सॉफ़्टवेयर के भिन्न संस्करण के साथ काम नहीं कर सकते हैं। और यह महत्वपूर्ण है, क्योंकि कर्नेल का एक मुख्य कार्य हार्डवेयर को नियंत्रित करना है। यह एक बहुत अधिक स्रोत कोड है, और अधिक विकल्पों के साथ इसका निर्माण कर सकते हैं, जिसकी आप कल्पना कर सकते हैं, लेकिन अंत में यह हार्डवेयर और सॉफ्टवेयर के बीच का मध्यस्थ है।
जब सॉफ़्टवेयर को कुछ भी करने के लिए हार्डवेयर की आवश्यकता होती है, तो यह कर्नेल को एक अनुरोध भेजता है। और जब हम कुछ भी कहते हैं, तो हमारा मतलब कुछ भी होता है । स्क्रीन की चमक से, वॉल्यूम स्तर तक, रेडियो के माध्यम से कॉल शुरू करने के लिए, यहां तक कि डिस्प्ले पर जो भी खींचा जाता है, उसे अंततः कर्नेल द्वारा नियंत्रित किया जाता है। उदाहरण के लिए - जब आप अपने फोन पर खोज बटन को टैप करते हैं, तो आप सॉफ्टवेयर को खोज एप्लिकेशन खोलने के लिए कहते हैं। क्या होता है कि आपने डिजिटाइज़र पर एक निश्चित बिंदु को छुआ है, जो उस सॉफ़्टवेयर को बताता है जिसे आपने उन निर्देशांक पर स्क्रीन को छुआ है। सॉफ्टवेयर जानता है कि जब उस विशेष स्थान को छुआ जाता है, तो खोज संवाद खुलने वाला है। कर्नेल वह है जो डिजिटाइज़र को बताता है (या सुनने के लिए, घटनाओं के लिए "सुनी जाती है") स्पर्श के लिए, यह पता लगाने में मदद करता है कि आपने कहाँ छुआ है, और उस सिस्टम को बताता है जिसे आपने स्पर्श किया था। बदले में, जब सिस्टम कर्नेल से एक विशिष्ट बिंदु पर एक स्पर्श घटना प्राप्त करता है (चालक के माध्यम से) यह जानता है कि आपकी स्क्रीन पर क्या आकर्षित करना है। हार्डवेयर और सॉफ्टवेयर दोनों ही कर्नेल के साथ दोनों तरीकों से संवाद करते हैं, और यह है कि आपका फोन कुछ करना कब जानता है। एक तरफ से इनपुट को आउटपुट के रूप में दूसरे में भेजा जाता है, चाहे आप एंग्री बर्ड खेल रहे हों, या अपनी कार के ब्लूटूथ से कनेक्ट कर रहे हों।
यह जटिल लगता है, और यह है। लेकिन यह भी बहुत मानक कंप्यूटर तर्क है - हर घटना के लिए उत्पन्न किसी प्रकार की एक कार्रवाई होती है, और उस क्रिया के आधार पर रनिंग सॉफ़्टवेयर के लिए होता है। जानकारी को स्वीकार करने और भेजने के लिए कर्नेल के बिना, डेवलपर्स को आपके डिवाइस में हार्डवेयर के हर एक टुकड़े के लिए हर एक घटना के लिए कोड लिखना होगा। कर्नेल के साथ, उन्हें केवल एंड्रॉइड सिस्टम एपीआई के माध्यम से इसके साथ संवाद करना होगा, और हार्डवेयर डेवलपर्स को केवल डिवाइस हार्डवेयर को कर्नेल के साथ संवाद करना होगा। अच्छी बात यह है कि आपको यह जानने की जरूरत नहीं है कि कर्नेल यह कैसे या क्यों करता है, बस यह समझना कि यह सॉफ्टवेयर से हार्डवेयर के बीच का अंतर है, यह आपको ग्लास के नीचे क्या हो रहा है, की एक बहुत अच्छी समझ देता है।
सॉर्ट उन फॉलोवर्स के लिए एक नया दृष्टिकोण देता है जो आपके फोन के लिए गुठली पर काम करने के लिए पूरी रात रहते हैं, है ना?