Android वर्चुअलाइज़ेशन फ़्रेमवर्क (एवीएफ़), कोड को सुरक्षित और निजी तौर पर एक्ज़ीक्यूट करने के लिए एनवायरमेंट उपलब्ध कराता है. AVF, सुरक्षा से जुड़े इस्तेमाल के उदाहरणों के लिए सबसे सही है. इन उदाहरणों में, Android के ऐप्लिकेशन सैंडबॉक्स की तुलना में, ज़्यादा सुरक्षित और औपचारिक तौर पर पुष्टि की गई आइसोलेशन की ज़रूरत होती है. Android, AVF को लागू करने के लिए ज़रूरी सभी कॉम्पोनेंट का रेफ़रंस लागू करता है. AVF की सुविधा सिर्फ़ ARM64 डिवाइसों पर काम करती है. पहली इमेज में, AVF का आर्किटेक्चर दिखाया गया है:
पहली इमेज. एवीएफ़ का आर्किटेक्चर.
यहां पहले फ़िगर में दिए गए सबसे ज़रूरी शब्दों की परिभाषाएं दी गई हैं:
- apexd और zipfuse
- यह होस्ट से इंपोर्ट किए गए APEX और APK को सुरक्षित तरीके से माउंट करता है.
- authfs
- यह एक फ़्यूज़ फ़ाइल सिस्टम है. इसकी मदद से, Android और pVM (होस्ट और गेस्ट) के बीच कई फ़ाइलों को सुरक्षित तरीके से शेयर किया जा सकता है.
- बाइंडर
- यह वीएम के बीच कम्यूनिकेशन का मुख्य तरीका है.
- crosvm
- यह रस्ट में लिखा गया वर्चुअल मशीन मॉनिटर है. crosvm, VM मेमोरी को असाइन करता है, वर्चुअल सीपीयू थ्रेड बनाता है, और वर्चुअल डिवाइस के बैक-एंड को लागू करता है.
- सामान्य कर्नेल इमेज (जीकेआई)
- Google से सर्टिफ़ाइड की गई बूट इमेज. इसमें Android Common Kernel (ACK) सोर्स ट्री से बनाया गया GKI कर्नल होता है. इसे Android डिवाइस के बूट पार्टिशन में फ़्लैश किया जा सकता है. ज़्यादा जानकारी के लिए, कर्नल की खास जानकारी देखें.
- हाइपरवाइज़र
- AVF, वर्चुअलाइज़ेशन टेक्नोलॉजी का इस्तेमाल करता है. इसे pKVM भी कहा जाता है. हाइपरवाइज़र, एक्ज़ीक्यूट किए गए कोड की इंटिग्रिटी और pVM की ऐसेट की निजता को बनाए रखता है. भले ही, होस्ट Android या कोई अन्य pVM खतरे में हो.
- Java API
- VirtualizationService Java API, जो सिर्फ़ AVF की सुविधा वाले डिवाइसों पर मौजूद होते हैं. इन एपीआई का इस्तेमाल करना ज़रूरी नहीं है. ये
thebootclasspathका हिस्सा नहीं हैं. - Microdroid
- Google की ओर से उपलब्ध कराया गया मिनी-Android OS, जो pVM में चलता है.
- Microdroid Manager
- यह pVM के लाइफ़साइकल, pVM के अंदर, और इंस्टेंस डिस्क को मैनेज करता है.
- नेटिव एपीआई
- यह Android नेटिव डेवलपर किट (एनडीके) का सबसेट है.
- सुरक्षित कर्नल-आधारित वर्चुअल मशीन (पीकेवीएम)
- Hypervisor देखें.
- pVM फ़र्मवेयर (
pvmfw) - यह pVM पर चलने वाला पहला कोड है.
pvmfwयह पेलोड की पुष्टि करता है और हर वीएम के लिए सीक्रेट बनाता है. - सुरक्षित वर्चुअल मशीन (पीवीएम)
- यह हाइपरवाइज़र से मैनेज की जाने वाली वीएम है. यह नॉन-सिक्योर या रीऐल्म वर्ल्ड में चलती है और इसे Android होस्ट ओएस से अलग किया जाता है, ताकि Android होस्ट के हैक होने पर भी इसे ऐक्सेस न किया जा सके.
pVM, Linux पर आधारित डिस्ट्रिब्यूशन जैसे रिच एनवायरमेंट के साथ काम करते हैं. pVM का कॉन्सेप्ट सिर्फ़ Google के लिए नहीं है. पार्टनर की ओर से तय किए गए वीएम (SoC/OEM) जो आइसोलेशन / मेमोरी ऐक्सेस से जुड़ी पाबंदियों को पूरा करते हैं वे भी pVM होते हैं.
- VirtualizationService
- यह Android सेवा, pVM के लाइफ़साइकल को मैनेज करती है.
आगे क्या करना है?
- अगर आपको एवीएफ़ की ज़रूरत के बारे में ज़्यादा जानकारी चाहिए, तो एवीएफ़ क्यों? पर जाएं.
- AVF का इस्तेमाल, अलग-अलग कंपाइलेशन के लिए कैसे किया जा सकता है, इसके बारे में जानने के लिए इस्तेमाल के उदाहरण देखें.
- अगर आपको एवीएफ़ के रेफ़रंस इंप्लीमेंटेशन के आर्किटेक्चर के बारे में ज़्यादा जानकारी चाहिए, तो एवीएफ़ का आर्किटेक्चर देखें.
- अगर आपको Microdroid के बारे में जानना है, तो Microdroid पर जाएं.
- अगर आपको यह जानना है कि AVF सुरक्षा को कैसे मैनेज करता है, तो सुरक्षा पर जाएं.
- वर्चुअलाइज़ेशन सेवा की भूमिका को समझने के लिए, VirtualizationService देखें.
- एवीएफ़ के सोर्स कोड या अलग-अलग कॉम्पोनेंट के बारे में ज़्यादा जानकारी के लिए, AOSP रिपॉज़िटरी देखें