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

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

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

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

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

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

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

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

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

    चित्रा 3. वर्तमान एंड्रॉयड अद्यतन वातावरण

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

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

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

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

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