एंड्रॉइड आर्किटेक्चर

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

एंड्रॉइड सिस्टम आर्किटेक्चर में निम्नलिखित घटक होते हैं:

एंड्रॉइड सिस्टम आर्किटेक्चर का अवलोकन
चित्रा 1. एंड्रॉइड सिस्टम आर्किटेक्चर
  • आवेदन ढांचा । एप्लिकेशन फ्रेमवर्क का उपयोग अक्सर एप्लिकेशन डेवलपर्स द्वारा किया जाता है। एक हार्डवेयर डेवलपर के रूप में, आपको डेवलपर एपीआई के बारे में पता होना चाहिए क्योंकि कई मैप सीधे अंतर्निहित एचएएल इंटरफेस के लिए होते हैं और ड्राइवरों को लागू करने के बारे में उपयोगी जानकारी प्रदान कर सकते हैं।
  • बाइंडर आईपीसी । बाइंडर इंटर-प्रोसेस कम्युनिकेशन (आईपीसी) तंत्र एप्लिकेशन फ्रेमवर्क को प्रक्रिया सीमाओं को पार करने और एंड्रॉइड सिस्टम सर्विसेज कोड में कॉल करने की अनुमति देता है। यह उच्च स्तरीय फ्रेमवर्क एपीआई को एंड्रॉइड सिस्टम सेवाओं के साथ बातचीत करने में सक्षम बनाता है। एप्लिकेशन फ्रेमवर्क स्तर पर, यह संचार डेवलपर से छिपा हुआ है और चीजें "बस काम" करती हैं।
  • सिस्टम सेवाएं । सिस्टम सेवाएं मॉड्यूलर, केंद्रित घटक हैं जैसे विंडो प्रबंधक, खोज सेवा, या अधिसूचना प्रबंधक। एप्लिकेशन फ्रेमवर्क एपीआई द्वारा उजागर की गई कार्यक्षमता अंतर्निहित हार्डवेयर तक पहुंचने के लिए सिस्टम सेवाओं के साथ संचार करती है। एंड्रॉइड में सेवाओं के दो समूह शामिल हैं: सिस्टम (जैसे विंडो मैनेजर और नोटिफिकेशन मैनेजर) और मीडिया (मीडिया चलाने और रिकॉर्ड करने में शामिल सेवाएं)।
  • हार्डवेयर एब्स्ट्रैक्शन लेयर (HAL) । एक एचएएल हार्डवेयर विक्रेताओं को लागू करने के लिए एक मानक इंटरफ़ेस को परिभाषित करता है, जो एंड्रॉइड को निचले स्तर के ड्राइवर कार्यान्वयन के बारे में अज्ञेयवादी होने में सक्षम बनाता है। एचएएल का उपयोग करने से आप उच्च स्तरीय प्रणाली को प्रभावित या संशोधित किए बिना कार्यक्षमता को लागू कर सकते हैं। एचएएल कार्यान्वयन मॉड्यूल में पैक किए जाते हैं और उचित समय पर एंड्रॉइड सिस्टम द्वारा लोड किए जाते हैं। विवरण के लिए, हार्डवेयर एब्स्ट्रैक्शन लेयर (HAL) देखें।
  • लिनक्स कर्नेल । अपने डिवाइस ड्राइवर को विकसित करना एक विशिष्ट Linux डिवाइस ड्राइवर को विकसित करने के समान है। एंड्रॉइड कुछ विशेष परिवर्धन के साथ लिनक्स कर्नेल के एक संस्करण का उपयोग करता है जैसे लो मेमोरी किलर (एक मेमोरी मैनेजमेंट सिस्टम जो मेमोरी को संरक्षित करने में अधिक आक्रामक है), वेक लॉक (एक PowerManager सिस्टम सर्विस), बाइंडर आईपीसी ड्राइवर, और अन्य महत्वपूर्ण विशेषताएं एक मोबाइल एम्बेडेड प्लेटफॉर्म के लिए। ये जोड़ मुख्य रूप से सिस्टम कार्यक्षमता के लिए हैं और ड्राइवर विकास को प्रभावित नहीं करते हैं। आप कर्नेल के किसी भी संस्करण का उपयोग तब तक कर सकते हैं जब तक यह आवश्यक सुविधाओं (जैसे कि बाइंडर ड्राइवर) का समर्थन करता है। हालांकि, हम अनुशंसा करते हैं कि आप Android कर्नेल के नवीनतम संस्करण का उपयोग करें। विवरण के लिए, बिल्डिंग कर्नेल देखें।

एचएएल इंटरफ़ेस परिभाषा भाषा (एआईडीएल/एचआईडीएल)

एंड्रॉइड 8.0 ने एंड्रॉइड ओएस फ्रेमवर्क ( ट्रेबल के नाम से जानी जाने वाली एक परियोजना में) को फिर से तैयार किया ताकि निर्माताओं के लिए एंड्रॉइड के नए संस्करण में डिवाइस अपडेट करना आसान, तेज और कम खर्चीला हो। इस नए आर्किटेक्चर में, एचएएल इंटरफेस डेफिनिशन लैंग्वेज (एचआईडीएल, जिसका उच्चारण "हाइड-एल") है, एचएएल और उसके उपयोगकर्ताओं के बीच इंटरफेस को निर्दिष्ट करता है, जिससे एचएएल के पुनर्निर्माण के बिना एंड्रॉइड फ्रेमवर्क को बदला जा सकता है। Android 10 में, HIDL सुविधाओं को AIDL में शामिल किया गया था। तब से, HIDL को पदावनत कर दिया गया है और इसका उपयोग केवल उन सबसिस्टम द्वारा किया जाता है जो अभी तक AIDL में परिवर्तित नहीं हुए हैं।

ट्रेबल एक नए विक्रेता इंटरफ़ेस के माध्यम से विक्रेता कार्यान्वयन (डिवाइस-विशिष्ट, सिलिकॉन निर्माताओं द्वारा लिखित निम्न-स्तरीय सॉफ़्टवेयर) को Android OS ढांचे से अलग करता है। विक्रेता या एसओसी निर्माता एक बार एचएएल का निर्माण करते हैं और उन्हें डिवाइस पर /vendor विभाजन में रखते हैं; फ्रेमवर्क, अपने स्वयं के विभाजन में, एचएएल को फिर से संकलित किए बिना एक ओवर-द-एयर (ओटीए) अपडेट के साथ बदला जा सकता है।

पुराने Android आर्किटेक्चर और वर्तमान, IDL-आधारित आर्किटेक्चर के बीच का अंतर विक्रेता इंटरफ़ेस के उपयोग में है:

  • एंड्रॉइड 7.x और इससे पहले के संस्करण में, कोई औपचारिक विक्रेता इंटरफ़ेस मौजूद नहीं है, इसलिए डिवाइस निर्माताओं को एंड्रॉइड के नए संस्करण में डिवाइस को स्थानांतरित करने के लिए एंड्रॉइड कोड के बड़े हिस्से को अपडेट करना होगा:

    चित्र 2. विरासती Android अद्यतन परिवेश
  • एंड्रॉइड 8.0 और उच्चतर में, एक नया स्थिर विक्रेता इंटरफ़ेस एंड्रॉइड के हार्डवेयर-विशिष्ट भागों तक पहुंच प्रदान करता है, इसलिए डिवाइस निर्माता केवल एंड्रॉइड ओएस फ्रेमवर्क को अपडेट करके नए एंड्रॉइड रिलीज वितरित कर सकते हैं-सिलिकॉन निर्माताओं से अतिरिक्त काम के बिना:

    चित्र 3. वर्तमान Android अद्यतन वातावरण

Android 8.0 और उच्चतर के साथ लॉन्च होने वाले सभी नए डिवाइस नए आर्किटेक्चर का लाभ उठा सकते हैं। विक्रेता कार्यान्वयन की आगे की संगतता सुनिश्चित करने के लिए, विक्रेता इंटरफ़ेस को विक्रेता परीक्षण सूट (वीटीएस) द्वारा मान्य किया जाता है, जो संगतता परीक्षण सूट (सीटीएस) के अनुरूप है। आप विरासत और वर्तमान Android आर्किटेक्चर दोनों में HAL और OS कर्नेल परीक्षण को स्वचालित करने के लिए VTS का उपयोग कर सकते हैं।

वास्तुकला संसाधन

Android आर्किटेक्चर के विवरण के लिए, निम्न अनुभाग देखें:

  • एचएएल प्रकार । बाइंडराइज्ड, पासथ्रू, सेम-प्रोसेस (एसपी), और विरासत एचएएल का वर्णन करता है।
  • एआईडीएल । एआईडीएल के बारे में दस्तावेज़ीकरण, चाहे वह आम तौर पर या एचएएल इंटरफ़ेस के रूप में उपयोग किया जाता है।
  • एचआईडीएल (सामान्य) । एचएएल और उसके उपयोगकर्ताओं के बीच इंटरफेस के बारे में सामान्य जानकारी शामिल है।
  • एचआईडीएल (सी++) । एचआईडीएल इंटरफेस के सी ++ कार्यान्वयन बनाने के लिए विवरण शामिल हैं।
  • एचआईडीएल (जावा) । एचआईडीएल इंटरफेस के लिए जावा फ्रंटएंड के बारे में विवरण शामिल है।
  • कॉन्फिगस्टोर एचएएल । एंड्रॉइड फ्रेमवर्क को कॉन्फ़िगर करने के लिए उपयोग किए जाने वाले रीड-ओनली कॉन्फ़िगरेशन आइटम तक पहुंचने के लिए एपीआई का वर्णन करता है।
  • डिवाइस ट्री ओवरले . Android में डिवाइस ट्री ओवरले (DTO) का उपयोग करने के बारे में विवरण प्रदान करता है।
  • विक्रेता मूल विकास किट (वीएनडीके) । विक्रेता एचएएल को लागू करने के लिए विक्रेता-अनन्य पुस्तकालयों के सेट का वर्णन करता है।
  • विक्रेता इंटरफ़ेस ऑब्जेक्ट (वीआईएनटीएफ) । उन वस्तुओं का वर्णन करता है जो किसी डिवाइस के बारे में प्रासंगिक जानकारी एकत्र करती हैं और उस जानकारी को क्वेरी करने योग्य API के माध्यम से उपलब्ध कराती हैं।
  • एंड्रॉइड 8.0 के लिए सेलिनक्स । विवरण SELinux परिवर्तन और अनुकूलन।

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