Android Archiटेक्चर: एप्लीकेशन लेयर्स, फ्रेमवर्क, कंपोनेंट
Android ऑपरेटिंग सिस्टम की शुरूआती रिलीज वर्ष 2008 में हुई थी। इसकी शुरुआत में भी, ऑपरेटिंग सिस्टम के पीछे की टीम ने इसे दिग्गजों के कंधों पर खड़ा करके बनाया था। यूजर इंटरफेस से परे जो कि Android ओएस सतही स्तर पर मौजूद है, यह कई परतों से बना है। इन परतों में कस्टम कोड और ओपन-सोर्स तकनीकें शामिल हैं जो दशकों से निरंतर विकास के अधीन हैं।
Android कई कंपनियों द्वारा बड़े पैमाने पर सहयोगात्मक प्रयासों और निवेश के माध्यम से विकसित किया गया है। एंड्रॉइड विकास के पीछे मुख्य कंपनी Google है। अन्य कंपनियों में सैमसंग, एलजी जैसे डिवाइस निर्माता; इंटेल और एआरएम जैसे प्रोसेसर निर्माता शामिल हैं, लेकिन कुछ नाम हैं।
जब हम बात करते हैं Android वास्तुकला, हमारा मतलब है कि कैसे Android सिस्टम को डिज़ाइन किया गया है, परतों में विभाजित किया गया है, और एक सिस्टम के रूप में काम करने के लिए बनाया गया है। इस तरह के जटिल सिस्टम को बनाने के लिए सावधानीपूर्वक संरचना की आवश्यकता होती है ताकि यह सुनिश्चित हो सके कि सभी घटक एक साथ मिलकर काम करें। इसकी वास्तुकला सुनिश्चित करती है कि कई घटक बिना किसी रुकावट के एक पूरे के रूप में काम करते हैं।
परतें
निम्नलिखित परतें हैं जो संरचना बनाती हैं Android वास्तुकला जैसा कि चित्र में दर्शाया गया है:
- आवेदन
- आवेदन फ्रेमवर्क
- Android रनटाइम और कोर लाइब्रेरीज़
- लिनक्स कर्नेल
मोबाइल डिवाइस के लिए ऑपरेटिंग सिस्टम विकसित करना कई चुनौतियों के साथ आता है। इस स्तरित आर्किटेक्चर का उपयोग यह सुनिश्चित करता है कि विभिन्न समस्याओं को अलग-अलग स्तरों पर तोड़ा और हल किया जा सके।
एक स्तरित वास्तुकला चिंताओं को अलग करने में मदद करती है और यह सुनिश्चित करती है कि एंड्रॉइड सॉफ़्टवेयर डेवलपर्स को हर मोड़ पर निम्न-स्तरीय समस्याओं से निपटना न पड़े। इसके बजाय वे उस परत से संबंधित व्यावसायिक मूल्य प्रदान करने पर ध्यान केंद्रित कर सकते हैं जिस पर वे काम कर रहे हैं।
डेवलपर्स इस पर काम कर रहे हैं कि ऐप्स को एप्लिकेशन फ्रेमवर्क कार्यान्वयन के बारे में चिंता न करनी पड़े। यह काम एप्लिकेशन फ्रेमवर्क पर काम करने वाले सिस्टम डेवलपर्स के लिए छोड़ दिया गया है।
एप्लीकेशन फ्रेमवर्क डेवलपर्स डेवलपर अनुभव पर काम करते हैं और उन्हें निम्न-स्तरीय ड्राइवरों के बारे में चिंता करने की ज़रूरत नहीं होती। निम्न-स्तरीय सिस्टम इंजीनियर ब्लूटूथ या ऑडियो ड्राइवर और इसी तरह के निम्न-स्तरीय घटकों पर पूरी तरह से ध्यान केंद्रित कर सकते हैं।
Androidकी स्तरित संरचना प्रत्येक परत पर बग फिक्स या सुधार के साथ अपडेट लागू करना संभव बनाती है। यह सुनिश्चित करता है कि परतों में परिवर्तन एक दूसरे के साथ हस्तक्षेप नहीं करते हैं। यह ओएस के विभिन्न स्तरों पर काम करने वाले लोगों के लिए नए अपडेट और रिलीज़ के दौरान एक दूसरे को बाधित करने के साथ काम करना संभव बनाता है।
Android आवेदन
यह वह परत है जिसके साथ अंतिम उपयोगकर्ता बातचीत करते हैं। यह वह परत है जहाँ एप्लिकेशन डेवलपर्स अपने एप्लिकेशन को चलाने के लिए प्रकाशित करते हैं।
Androidडिफ़ॉल्ट रूप से, यह अनुप्रयोगों के एक सेट के साथ आता है जो एंड्रॉइड डिवाइसों को शुरू से ही उपयोग करने योग्य बनाता है।
- घर: होमपेज पर Android इसमें आमतौर पर इस्तेमाल किए जाने वाले एप्लिकेशन के लिए लॉन्चर आइकन होते हैं, जिन तक अंतिम उपयोगकर्ता त्वरित पहुँच चाहता है। आप इन ऐप्स के लॉन्चर पर क्लिक करके ऐप्स शुरू कर सकते हैं। स्क्रीन के सबसे ऊपर, आपके पास विजेट हैं जो नेटवर्क, बैटरी स्तर, दिनांक और समय दिखाते हैं।
- संपर्क: Androidडिफ़ॉल्ट रूप से, संपर्कों को संग्रहीत करने और पुनर्प्राप्त करने का एक साधन प्रदान करता है। कार्यक्षमता बढ़ाने के लिए संपर्क जानकारी को अन्य ऐप्स में साझा किया जाता है।
- पोस्ट: Android एसएमएस संदेश भेजने और प्राप्त करने की क्षमता प्रदान करता है।
- ईमेल Android ईमेल सेवाओं के लिए मूल समर्थन के साथ आता है। Android डिवाइस के लिए जीमेल अकाउंट की आवश्यकता होती है। जीमेल सेट अप करने से अन्य ईमेल-निर्भर घटक सक्रिय हो जाते हैं Android डिवाइस। ईमेल पर निर्भर कुछ सुविधाओं में सुरक्षा और पुनर्प्राप्ति तंत्र शामिल हैं। ईमेल पर निर्भर एक और सुविधा Play Store तक पहुंच है, जो एक बाज़ार है Android अनुप्रयोगों.
- ब्राउज़र: Android एक डिफ़ॉल्ट ब्राउज़र के साथ आता है.
- अधिसूचना दराज: स्क्रीन पर नीचे की ओर स्वाइप करने पर नोटिफिकेशन ड्रॉअर खुल जाता है। यह एप्लिकेशन इवेंट प्रदान करता है जिसके बारे में उपयोगकर्ता को पता होना चाहिए। नोटिफिकेशन के ऊपर कुछ सामान्य रूप से उपयोग की जाने वाली डिवाइस सेटिंग्स के लिए शॉर्टकट का एक सेट है जिसे उपयोगकर्ता टॉगल कर सकते हैं। इन सेटिंग्स में ब्लूटूथ और वाईफ़ाई जैसे विभिन्न हार्डवेयर घटकों के लिए चालू और बंद टॉगल शामिल हैं। इन इवेंट को लंबे समय तक दबाने से हम उनके कॉन्फ़िगरेशन पेज पर नेविगेट कर सकते हैं।
इस परत को उपयोगकर्ता-स्तर के रूप में भी संदर्भित किया जाता है, जो नीचे की परतों के विपरीत है जो अधिकतर एप्लिकेशन विकास के लिए ट्यून की जाती हैं। एप्लिकेशन डेवलपर्स इस परत पर अपने ऐप्स के लिए अनुभव बनाते और अनुकूलित करते हैं। एप्लिकेशन परत के नीचे की परतें एप्लिकेशन डेवलपर्स द्वारा अनुकूलित नहीं की जाती हैं। उन्हें सिस्टम परत का हिस्सा माना जाता है। इन परतों को डिवाइस निर्माताओं, Google Android टीमों या तीसरे पक्ष द्वारा अनुकूलित किया जाता है जो इसका उपयोग करना चाहते हैं Android अपने उत्पाद या अनुसंधान के लिए स्रोत कोड का उपयोग करें।
आवेदन फ्रेमवर्क
RSI Android ओएस अंतर्निहित पुस्तकालयों और सुविधाओं को उजागर करता है Android डिवाइस जो उपयोग कर रहे हैं Java एपीआई. इसे ही एपीआई के नाम से जाना जाता है. Android ढांचा। यह ढांचा उपयोग करने के लिए एक सुरक्षित और समान साधन को उजागर करता है Android डिवाइस संसाधन.
1) गतिविधि प्रबंधक
अनुप्रयोग का उपयोग करें Android ऐप में प्रवेश बिंदु प्रस्तुत करने के लिए गतिविधि घटक। Android गतिविधियाँ वे घटक हैं जो उपयोगकर्ता इंटरफ़ेस को बनाए रखते हैं जिसके साथ ऐप उपयोगकर्ता इंटरैक्ट करते हैं। जैसे-जैसे अंतिम उपयोगकर्ता इंटरैक्ट करते हैं Android डिवाइस पर, वे कई अनुप्रयोगों में आगे-पीछे शुरू, बंद और कूदते हैं। प्रत्येक नेविगेशन इवेंट संबंधित अनुप्रयोगों में कई गतिविधियों के सक्रियण और निष्क्रियण को ट्रिगर करता है।
RSI Android एक्टिविटी मैनेजर एप्लीकेशन ट्रांजिशन के दौरान पूर्वानुमानित और सुसंगत व्यवहार के लिए जिम्मेदार है। एक्टिविटी मैनेजर ऐप क्रिएटर्स को एक स्लॉट प्रदान करता है, ताकि जब भी कोई बदलाव हो तो उनके ऐप रिएक्ट कर सकें। Android ओएस वैश्विक क्रियाएं करता है। एप्लिकेशन डिवाइस रोटेशन, मेमोरी की कमी के कारण ऐप का नष्ट होना, ऐप का फोकस से बाहर हो जाना आदि जैसी घटनाओं को सुन सकते हैं।
इन परिवर्तनों पर अनुप्रयोग किस प्रकार प्रतिक्रिया कर सकते हैं, इसके कुछ उदाहरणों में गेम में गतिविधि को रोकना, फोन कॉल के दौरान संगीत बजाना बंद करना शामिल है।
2) विंडो मैनेजर
Android अनुप्रयोगों के लिए विंडोज़ बनाने हेतु आवश्यक आवश्यकताओं को निर्धारित करने के लिए स्क्रीन जानकारी निर्धारित कर सकते हैं। Windows ये वे स्लॉट हैं जहां हम अपने ऐप यूजर इंटरफेस को देख सकते हैं। Android यह विंडो मैनेजर का उपयोग करके ऐप्स और सिस्टम को यह जानकारी प्रदान करता है, ताकि वे उस मोड के अनुकूल हो सकें जिस पर डिवाइस चल रहा है।
विंडो मैनेजर एक कस्टमाइज्ड ऐप एक्सपीरियंस देने में मदद करता है। ऐप्स इमर्सिव एक्सपीरियंस के लिए पूरी स्क्रीन को भर सकते हैं या स्क्रीन को दूसरे ऐप्स के साथ शेयर कर सकते हैं। Android यह प्रत्येक ऐप के लिए मल्टी-विंडो की अनुमति देकर इसे सक्षम बनाता है।
3) स्थान प्रबंधक
बहुत से Android डिवाइस जीपीएस डिवाइस से लैस हैं जो उपग्रह सूचना का उपयोग करके उपयोगकर्ता का स्थान प्राप्त कर सकते हैं जो मीटर की परिशुद्धता तक जा सकता है। प्रोग्रामर उपयोगकर्ताओं से स्थान की अनुमति मांग सकते हैं, स्थान प्रदान कर सकते हैं और जागरूक अनुभव दे सकते हैं।
Android जब डिवाइस बंद स्थानों में हों, तो स्थान विवरण को समृद्ध करने तथा कवरेज बढ़ाने के लिए वायरलेस प्रौद्योगिकियों का उपयोग करने में भी सक्षम है। Android लोकेशन मैनेजर के अंतर्गत ये सुविधाएं उपलब्ध कराई जाती हैं।
4) टेलीफोनी प्रबंधक
बहुत से Android ये उपकरण टेलीफोनी में प्राथमिक भूमिका निभाते हैं। Android टेलीफोनी सुविधाएँ प्रदान करने के लिए हार्डवेयर और सॉफ़्टवेयर घटकों को संयोजित करने के लिए टेलीफोन मैनेजर का उपयोग करता है। हार्डवेयर घटकों में सिम कार्ड जैसे बाहरी भाग और माइक्रोफ़ोन, कैमरा और स्पीकर जैसे डिवाइस भाग शामिल हैं। सॉफ़्टवेयर घटकों में डायल पैड, फ़ोन बुक, रिंगटोन प्रोफ़ाइल जैसे मूल घटक शामिल हैं। टेलीफोन मैनेजर का उपयोग करके, डेवलपर डिफ़ॉल्ट कॉलिंग कार्यक्षमता को बढ़ा या ठीक कर सकता है।
5) संसाधन प्रबंधक
Android ऐप आमतौर पर सिर्फ़ कोड के अलावा और भी बहुत कुछ लेकर आते हैं। इनमें आइकन, ऑडियो और वीडियो फ़ाइलें, एनिमेशन, टेक्स्ट फ़ाइलें और इसी तरह की दूसरी चीज़ें भी होती हैं। Android यह सुनिश्चित करने में मदद करता है कि इन संसाधनों तक कुशल, उत्तरदायी पहुँच हो। यह यह भी सुनिश्चित करता है कि सही संसाधन अंतिम उपयोगकर्ताओं तक पहुँचाए जाएँ। उदाहरण के लिए, ऐप्स में फ़ील्ड भरते समय उचित भाषा की टेक्स्ट फ़ाइलों का उपयोग किया जाता है।
6) सिस्टम देखें
Android ऐप इंटरैक्शन के लिए आवश्यक सामान्य विज़ुअल घटकों को आसानी से बनाने का एक साधन भी प्रदान करता है। इन घटकों में बटन जैसे विजेट, इमेज होल्डर जैसे कि इमेज व्यू, आइटम की सूची प्रदर्शित करने वाले घटक जैसे कि लिस्ट व्यू, और बहुत कुछ शामिल हैं। घटक पहले से ही तैयार हैं, लेकिन ऐप डेवलपर की ज़रूरतों और ब्रांडिंग के हिसाब से अनुकूलन योग्य भी हैं।
7) अधिसूचना प्रबंधक
अधिसूचना प्रबंधक सूचित करने के लिए जिम्मेदार है Android एप्लिकेशन ईवेंट के उपयोगकर्ता। यह उपयोगकर्ताओं को दृश्य, ऑडियो या कंपन संकेत या उनके संयोजन देकर ऐसा करता है जब कोई ईवेंट होता है। इन ईवेंट में बाहरी और आंतरिक ट्रिगर होते हैं। आंतरिक ट्रिगर के कुछ उदाहरण कम बैटरी स्थिति ईवेंट हैं जो कम बैटरी दिखाने के लिए एक अधिसूचना को ट्रिगर करते हैं। एक अन्य उदाहरण अलार्म जैसी उपयोगकर्ता-निर्दिष्ट ईवेंट है। बाहरी ट्रिगर के कुछ उदाहरणों में नए संदेश या नए वाईफाई नेटवर्क का पता लगाना शामिल है।
Android प्रोग्रामर और अंतिम उपयोगकर्ताओं को अधिसूचना प्रणाली को ठीक करने का एक साधन प्रदान करता है। यह गारंटी देने में मदद कर सकता है कि वे अधिसूचना घटनाओं को ऐसे तरीके से भेज और प्राप्त कर सकते हैं जो उनके और उनके वर्तमान वातावरण के लिए सबसे उपयुक्त हो।
8) पैकेज मैनेजर
Android यह इंस्टॉल किए गए अनुप्रयोगों के बारे में जानकारी तक भी पहुंच प्रदान करता है। Android एप्लिकेशन संबंधी जानकारी जैसे कि इंस्टॉलेशन और अनइंस्टॉलेशन ईवेंट, एप्लिकेशन द्वारा अनुरोधित अनुमतियां, और संसाधन उपयोग जैसे कि मेमोरी खपत का ट्रैक रखता है।
यह जानकारी डेवलपर्स को अपने अनुप्रयोगों को सहयोगी ऐप्स द्वारा प्रस्तुत नई सुविधाओं के आधार पर कार्यक्षमता को सक्रिय या निष्क्रिय करने में सक्षम बना सकती है।
9) सामग्री प्रदाता
Android डिवाइस पर मौजूद एप्लिकेशन के बीच डेटा शेयर करने के लिए कंटेंट प्रोवाइडर का इस्तेमाल करने का एक मानकीकृत तरीका है। डेवलपर्स कंटेंट प्रोवाइडर का इस्तेमाल करके डेटा को दूसरे एप्लिकेशन के सामने रख सकते हैं। उदाहरण के लिए, वे ऐप डेटा को बाहरी सर्च एप्लिकेशन से खोजने योग्य बना सकते हैं। Android स्वयं भी इसी प्रणाली का उपयोग करके कैलेंडर डेटा, संपर्क डेटा, इत्यादि जैसे डेटा को उजागर करता है।
Android रनटाइम और कोर/नेटिव लाइब्रेरीज़
1) Android क्रम
Android वर्तमान में उपयोग करता है Android एप्लिकेशन कोड निष्पादित करने के लिए रनटाइम (ART)। ART से पहले Dalvik रनटाइम आता है जो डेवलपर कोड को Dalvik निष्पादन योग्य फ़ाइलों (Dex फ़ाइलों) में संकलित करता है। ये निष्पादन वातावरण मोबाइल डिवाइस पर प्रोसेसर और मेमोरी बाधाओं को ध्यान में रखते हुए एंड्रॉइड प्लेटफ़ॉर्म के लिए अनुकूलित हैं।
रनटाइम प्रोग्रामर्स द्वारा लिखे गए कोड को मशीन कोड में अनुवादित करता है जो गणना करता है और कार्यक्षमता प्रदान करने के लिए एंड्रॉइड फ्रेमवर्क घटकों का उपयोग करता है। Android यह एकाधिक अनुप्रयोगों और सिस्टम घटकों को होस्ट करता है जो प्रत्येक अपनी प्रक्रियाओं में चलते हैं।
कोर लाइब्रेरीज़
इस खंड में, हम कुछ मुख्य पुस्तकालयों पर चर्चा करेंगे जो मौजूद हैं Android ऑपरेटिंग सिस्टम।
2) मीडियाफ्रेमवर्क
Android यह लोकप्रिय मीडिया कोडेक्स का भी समर्थन करता है, जिससे इंटरनेट पर बनाए गए ऐप्स को बनाना आसान हो जाता है। Android मल्टीमीडिया घटकों को उपयोग करने/चलाने के लिए एक प्लेटफॉर्म।
3) SQLite
Android भी एक है SQLite डेटाबेस जो अनुप्रयोगों को तीसरे पक्ष के पुस्तकालयों की आवश्यकता के बिना बहुत तेज़ मूल डेटाबेस कार्यक्षमता प्राप्त करने में सक्षम बनाता है।
4) फ्रीटाइप
Android यह एक प्रीइंस्टॉल्ड तेज़ और लचीले फ़ॉन्ट इंजन के साथ आता है। यह एप्लिकेशन डेवलपर्स के लिए अपने एप्लिकेशन के घटकों को स्टाइल करना और एक समृद्ध अनुभव प्रदान करना संभव बनाता है जो डेवलपर के इरादे को संप्रेषित करता है।
5) ओपनजीएल
Android यह ओपनजीएल ग्राफिक्स सिस्टम के साथ भी आता है। यह एक सी लाइब्रेरी है जो मदद करती है Android 2D और 3D ग्राफिक्स के वास्तविक समय प्रतिपादन में हार्डवेयर घटकों का उपयोग करें।
6) एसएसएल
Android यह एक अंतर्निहित सुरक्षा परत के साथ भी आता है जो अनुप्रयोगों के बीच सुरक्षित संचार को सक्षम करता है Android और अन्य डिवाइस जैसे सर्वर, अन्य मोबाइल डिवाइस, राउटर 6.
7) एसजीएल
Android निम्न-स्तरीय कोड में कार्यान्वित एक ग्राफ़िक्स लाइब्रेरी के साथ आता है जो एंड्रॉइड प्लेटफ़ॉर्म के लिए ग्राफ़िक्स को कुशलतापूर्वक प्रस्तुत करता है। यह उच्च-स्तरीय घटकों के साथ काम करता है Android ढांचा Android ग्राफ़िक्स पाइपलाइन.
8) लिबसी
की कोर Android इसमें C और . में लिखी गई लाइब्रेरी शामिल हैं C++, जो एम्बेडेड उपयोग के लिए बनाई गई निम्न-स्तरीय भाषाएँ हैं जो प्रदर्शन को अधिकतम करने में मदद करती हैं। Libc इन लाइब्रेरीज़ में थ्रेड्स, सॉकेट्स, IO, और इसी तरह की निम्न-स्तरीय सिस्टम कार्यक्षमताओं को उजागर करने का एक साधन प्रदान करता है।
9) वेबकिट
यह एक ओपन-सोर्स ब्राउज़र इंजन है जिसका उपयोग ब्राउज़र बनाने के लिए आधार के रूप में किया जाता है। Android संस्करण 4.4 से पहले के ब्राउज़र किटकैट इसका उपयोग वेब पेजों को रेंडर करने के लिए करते हैं। यह एप्लिकेशन डेवलपर्स को WebView का उपयोग करके व्यू-सिस्टम में वेब घटकों को रेंडर करने में सक्षम बनाता है। यह ऐप्स को वेब घटकों को उनकी कार्यक्षमता में एकीकृत करने में सक्षम बनाता है।
10) सरफेस मैनेजर
सरफेस मैनेजर एप्लीकेशन स्क्रीन की सुचारू रेंडरिंग सुनिश्चित करने के लिए जिम्मेदार है। यह रेंडरिंग के लिए 2D और 3D ग्राफिक्स की रचना करके ऐसा करता है। यह ऑफ-स्क्रीन बफरिंग करके इसे और सक्षम बनाता है।
लिनक्स कर्नेल
का मूल घटक Android सिस्टम लिनक्स कर्नेल है। यह आधारभूत हिस्सा है जो सभी को सक्षम बनाता है Androidकी कार्यक्षमता।
लिनक्स कर्नेल एक युद्ध-परीक्षणित सॉफ्टवेयर है जिसका उपयोग विकास में किया गया है ऑपरेटिंग सिस्टम सुपरकंप्यूटर से लेकर छोटे गैजेट तक, विस्तृत रेंज के उपकरणों के लिए। इंटरनेट ऑफ थिंग्स (IoT) के लिए छोटे नेटवर्क वाले गैजेट की तरह इसकी प्रोसेसिंग क्षमता सीमित है।
लिनक्स कर्नेल को डिवाइस विनिर्देशों के अनुरूप ढाला जा सकता है, जिससे निर्माताओं के लिए यह संभव हो सके Android उपयोगकर्ता अनुभव के अनुरूप विभिन्न क्षमताओं वाले उपकरण।
के साथ संबंध Androidकर्नेल कई मूलभूत कार्यात्मकताओं के लिए जिम्मेदार है, जिनमें निम्नलिखित शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं:
- डिवाइस ड्राइवर
- मेमोरी प्रबंधन
- प्रक्रिया प्रबंधन
आइये इसकी कुछ कार्यक्षमता पर विस्तार से चर्चा करें:
डिवाइस ड्राइवर
लिनक्स कर्नेल में वे ड्राइवर होते हैं जिनकी आवश्यकता ऑपरेटिंग सिस्टम को विभिन्न हार्डवेयर घटकों के साथ काम करने के लिए होती है। ये ड्राइवर एक मानक इंटरफ़ेस प्रदान करते हैं जिसके साथ विभिन्न निर्माताओं से प्राप्त हार्डवेयर घटक काम कर सकते हैं।
इससे डिवाइस निर्माताओं के लिए अलग-अलग घटकों का स्रोत प्राप्त करना संभव हो जाता है, जैसे ब्लूटूथ घटक, वाईफ़ाई घटक, कैमरा घटक। जब तक निर्माता मेल खाते हैं Android मानक विनिर्देशों के अनुसार, एकीकरण सहज है।
1) यूएसबी ड्राइवर
लिनक्स भी प्रदान करता है Android USB डिवाइस के साथ इंटरफेस करने के साधन के साथ। आधुनिक डिवाइस अलग-अलग USB पोर्ट के साथ आते हैं, जिनमें USB 2.0 और USB के नए संस्करण शामिल हैं, जिनमें USB-C शामिल है। ये ड्राइवर USB पोर्ट का उपयोग चार्ज करने, लाइव डेटा जैसे लॉग को स्थानांतरित करने के लिए संभव बनाते हैं Android डिवाइस, और एंड्रॉइड के साथ बातचीत संचिका तंत्र.
2) ब्लूटूथ ड्राइवर
लिनक्स कर्नेल ब्लूटूथ हार्डवेयर घटकों के साथ इंटरफेसिंग के लिए समर्थन प्रदान करता है। यह समर्थित ब्लूटूथ रेडियो आवृत्तियों से प्राप्त डेटा को पढ़ने और लिखने का एक तरीका प्रदान करता है। यह सुविधाओं का एक सेट भी प्रदान करता है Android ब्लूटूथ को कॉन्फ़िगर करने के लिए.
3) वाईफ़ाई ड्राइवर
लिनक्स कर्नेल वाई-फाई नेटवर्किंग हार्डवेयर घटकों को एकीकृत करने के लिए ड्राइवर प्रदान करता है। मोबाइल डिवाइस में एम्बेडेड वाई-फाई घटक सक्षम करते हैं Android वाई-फाई नेटवर्क से कनेक्ट करने के लिए डिवाइस। ड्राइवर वाई-फाई घटकों को वाई-फाई नेटवर्क प्रसारित करने और हॉटस्पॉट बनाने में सक्षम बनाता है।
4) डिस्प्ले ड्राइवर
Android डिस्प्ले घटकों के साथ इंटरफेस करना संभव बनाता है। अधिकांश उपकरणों के लिए, इंटरफ़ेस घटक एक एलसीडी टच-स्क्रीन है। यह पिक्सेल को कॉन्फ़िगर करने और खींचने के लिए समर्थन की अनुमति देता है।
5) ऑडियो ड्राइवर
Android डिवाइस आम तौर पर ऑडियो इनपुट और आउटपुट के लिए हार्डवेयर घटकों के साथ आते हैं। कर्नेल में ऑडियो ड्राइवर सक्षम करते हैं Android सिस्टम इन घटकों से प्राप्त ऑडियो का उपयोग करेगा और ऑडियो आउटपुट भी उत्पन्न करेगा।
6) पावर मैनेजर
बहुत से Android डिवाइस का उपयोग तब किया जाता है जब वे पावर आउटलेट से डिस्कनेक्ट होते हैं। इस प्रकार वे अपने उपयोग के बड़े हिस्से के लिए बैटरी पर निर्भर रहते हैं। लिनक्स कर्नेल एक पावर मैनेजमेंट सिस्टम के साथ आता है जो इसका उपयोग करने वाले डिवाइस की जरूरतों को पूरा करने के लिए कॉन्फ़िगर करने योग्य है।
Android ओएस डिवाइस पर अन्य घटकों को पावर-अवेयर बनाने के लिए पावर मैनेजर का उपयोग करता है। यह विभिन्न पावर-संबंधित स्थितियों को प्रसारित करके ऐसा करता है। ये स्थितियाँ स्टैंडबाय, स्लीप और लो-बैटरी हैं। Androidअधिकतम बैटरी जीवन सुनिश्चित करने के लिए पावर मैनेजर को स्लीप मोड में डिफ़ॉल्ट रूप से सेट किया गया है।
पावर मैनेजर एप्लीकेशन के लिए अलग-अलग पावर मोड पर प्रतिक्रिया करने के तरीके बताता है। एप्लीकेशन डिवाइस की मौजूदा पावर स्थिति से मेल खाने के लिए अपना व्यवहार भी बदल सकते हैं।
कोई एप्लिकेशन डिफ़ॉल्ट पावर नीतियों को बदलने का अनुरोध भी कर सकता है। एप्लिकेशन वांछित कार्यक्षमता प्राप्त कर सकते हैं, जैसे कि हार्डवेयर घटकों को सक्रिय रखना। एक उदाहरण है किताब पढ़ते समय स्क्रीन को सक्रिय रखना ताकि यह सुनिश्चित हो सके कि उपयोगकर्ता को कोई बाधा न हो। दूसरा उदाहरण है बैकग्राउंड में संगीत सुनते समय ऑडियो घटकों को चालू रखना।
7) फ्लैश मेमोरी
बहुत से Android डिवाइस स्टोरेज के साधन के रूप में फ्लैश मेमोरी का उपयोग करते हैं। फ्लैश मेमोरी तेज़ है और कम जगह लेती है, जिससे यह छोटे डिवाइस के लिए एकदम सही है। लिनक्स कर्नेल इसके लिए एक साधन प्रदान करता है Android फ्लैश मेमोरी में पढ़ने और लिखने के लिए डिवाइस। यह मेमोरी को इस तरह से विभाजित करने का एक साधन प्रदान करता है कि ओएस और अन्य अनुप्रयोग आसानी से और कुशलतापूर्वक मेमोरी संसाधन साझा कर सकें।
8) बाइंडर
Android कई एप्लिकेशन और सिस्टम घटकों को होस्ट करता है जो प्रत्येक अपनी प्रक्रियाओं में चलते हैं। ज़्यादातर मामलों में, हस्तक्षेप और डेटा भ्रष्टाचार को रोकने के लिए इन प्रक्रियाओं को एक दूसरे से अलग किया जाना चाहिए। फिर भी, ऐसे उदाहरण हैं जब हम एक प्रक्रिया से दूसरी प्रक्रिया में डेटा पास करना चाहते हैं।
लिनक्स कर्नेल बाइंडर ड्राइवर प्रदान करके डेटा शेयरिंग कार्यक्षमता को सक्षम बनाता है। बाइंडर ड्राइवर अंतर-प्रक्रिया संचार, IPC को सक्षम करते हैं। IPC प्रक्रियाओं का उपयोग करके अन्य प्रक्रियाओं की खोज की जा सकती है और जानकारी साझा की जा सकती है।
मेमोरी प्रबंधन
लिनक्स कर्नेल की एक और जिम्मेदारी मेमोरी प्रबंधन है। जब अलग-अलग एप्लिकेशन चलते हैं, तो कर्नेल सुनिश्चित करता है कि उनके द्वारा उपयोग की जाने वाली मेमोरी स्पेस में टकराव न हो और एक-दूसरे को अधिलेखित न करें।
यह यह सुनिश्चित करने में भी मदद करता है कि सभी चल रहे ऐप्स को काम करने के लिए पर्याप्त मेमोरी मिले, तथा यह सुनिश्चित करता है कि कोई भी ऐप बहुत अधिक स्थान न ले।
प्रक्रिया प्रबंधन
हर ऐप Android कर्नेल किसी प्रक्रिया में चलता है। कर्नेल प्रक्रियाओं के प्रबंधन के लिए भी जिम्मेदार है। इसका मतलब है कि यह प्रक्रियाओं को बनाने, रोकने, बंद करने या समाप्त करने के लिए जिम्मेदार है।
कर्नेल विभिन्न कार्यात्मकताएं सक्षम करता है, जैसे एक ही समय में अनेक प्रक्रियाएं चलाना, प्रक्रियाओं के बीच संचार करना, पृष्ठभूमि में प्रक्रियाएं चलाना आदि।
चूंकि प्रत्येक प्रक्रिया को सही ढंग से काम करने के लिए अपने स्वयं के मेमोरी स्पेस की आवश्यकता होती है, इसलिए कर्नेल यह सुनिश्चित करता है कि प्रत्येक प्रक्रिया के लिए आवंटित मेमोरी स्पेस अन्य प्रक्रियाओं से सुरक्षित है। यह यह भी सुनिश्चित करता है कि संसाधन जैसे रैम प्रक्रियाओं को आवंटित संसाधन तब मुक्त हो जाते हैं जब प्रक्रियाएं बंद हो जाती हैं।
लिनक्स कर्नेल डिवाइस में मौजूद प्रोसेसर को काम वितरित करने के लिए भी जिम्मेदार है। इससे कई कोर वाले डिवाइस के प्रदर्शन को अधिकतम करना संभव हो जाता है क्योंकि अलग-अलग ऐप में अलग-अलग कोर पर चलने वाली प्रक्रियाएँ होंगी।
लिनक्स कर्नेल सुरक्षा लागू करने सहित कई अन्य कार्य भी करता है।
सारांश
- Android वास्तुकला परतों में व्यवस्थित है।
- प्रत्येक परत समस्याओं के एक विशिष्ट समूह का समाधान करती है।
- अंतिम उपयोगकर्ता एप्लीकेशन परत पर ऐप्स के साथ इंटरैक्ट करते हैं
- एप्लिकेशन डेवलपर्स एप्लिकेशन लेयर पर इस्तेमाल किए जाने वाले ऐप्स विकसित करते हैं। वे ऐसा एप्लिकेशन फ्रेमवर्क द्वारा प्रदान किए गए टूल और एब्सट्रैक्शन का उपयोग करके करते हैं।
- Android फ्रेमवर्क परत मूल लाइब्रेरीज़ पर API बनाकर निम्न-स्तरीय घटकों तक पहुंच को सरल बनाती है।
- Android रनटाइम और कोर-लाइब्रेरी मोबाइल डिवाइस के लिए अनुकूलन के साथ-साथ निम्न-स्तरीय भाषाओं का उपयोग करते हैं। यह सुनिश्चित करता है कि एप्लिकेशन डेवलपर्स द्वारा लिखा गया कोड बिना किसी परेशानी के सुचारू रूप से चलता रहे Android डिवाइस बाधाएँ.
- के नीचे Android सॉफ्टवेयर स्टैक लिनक्स कर्नेल है। यह लिनक्स कर्नेल में आम हार्डवेयर घटकों के साथ इंटरफेस करता है। Android उपकरणों.