एसडीवी मीडिया, एक हल्का ऑपरेटिंग सिस्टम है. यह एसडीवी कोर में मीडिया की सुविधा जोड़ता है.
एसडीवी मीडिया को रेफ़रंस के तौर पर लागू करना
पहली इमेज. एसडीवी मीडिया का आर्किटेक्चर.
एसडीवी मीडिया, एसडीवी कोर पर आधारित है. यह जीपीयू, वीडियो, और ऑडियो जैसे हार्डवेयर इंजन का ऐक्सेस जोड़कर, मीडिया की सुविधाएं जोड़ता है. आने वाले समय में, इसमें अन्य हार्डवेयर इंजन जोड़े जा सकते हैं.
रेफ़रंस के तौर पर लागू करने के लिए, हार्डवेयर ऐब्स्ट्रैक्शन को लागू करने के लिए VirtIO का इस्तेमाल किया जाता है. खास तौर पर, virtio-gpu, virtio-media, virtio-snd, और virtio-input का इस्तेमाल किया जाता है.
इसे लागू करने के लिए, OpenGL (ES), Vulkan, EGL, Video4Linux, और tinyalsa जैसी मीडिया सुविधाओं को ऐक्सेस करने के लिए, स्टैंडर्ड यूज़र-स्पेस लाइब्रेरी का इस्तेमाल किया जाता है. इसलिए, प्रोडक्शन में लागू करने के लिए, VirtIO ड्राइवर बदले जा सकते हैं और हार्डवेयर के हिसाब से बने समाधानों के साथ उन इंटरफ़ेस को लागू किया जा सकता है.
एसडीवी मीडिया में, एसडीवी कोर की सभी सुविधाएं मौजूद होती हैं. इसका मतलब है कि इसमें एसडीवी कम्यूनिकेशन स्टैक शामिल है. यह GKI का इस्तेमाल करता है और इसमें एसडीवी की अन्य सभी सुविधाएं शामिल हैं.
इंटिग्रेशन के विकल्प
इस पेज के बाकी हिस्से में, एसडीवी मीडिया को इंटिग्रेट करने के दो विकल्पों के बारे में बताया गया है.
पहला विकल्प: होस्ट-आधारित (सुझाया गया)
दूसरी इमेज. होस्ट-आधारित इंटिग्रेशन.
होस्ट-आधारित इंटिग्रेशन के विकल्प में, गेस्ट के अंदर VirtIO का इस्तेमाल किया जाता है, ताकि असल हार्डवेयर से अलग फ़ंक्शनैलिटी लागू की जा सके. हार्डवेयर के हिसाब से बने ड्राइवर, होस्ट साइड पर इंटिग्रेट किए जाते हैं. साथ ही, गेस्ट से कम्यूनिकेट करने के लिए, स्टैंडर्ड VirtIO-आधारित इंटरफ़ेस के मुताबिक डिवाइस लागू किए जाते हैं.
परफ़ॉर्मेंस, होस्ट-साइड डिवाइस और ड्राइवर के लागू करने के तरीके पर निर्भर करती है. हालांकि, टेस्ट से पता चला है कि सिस्टम, बेहतर परफ़ॉर्मेंस और स्टार्टअप स्पीड हासिल कर सकता है.
इस समाधान का एक और फ़ायदा यह है कि इंफ़्रास्ट्रक्चर और हार्डवेयर पर मौजूद इमेज, एक जैसी हो सकती हैं, क्योंकि गेस्ट, स्टैंडर्ड इंटरफ़ेस का इस्तेमाल करता है. इससे अलग-अलग डिवाइसों पर चलाने के लिए, बहुत कम या कोई बदलाव नहीं करना पड़ता. हार्डवेयर डिपेंडेंसी, सिर्फ़ होस्ट तक सीमित होती है.
दूसरा विकल्प: यूज़र स्पेस लाइब्रेरी ऐब्स्ट्रैक्शन
तीसरी इमेज. यूज़र स्पेस लाइब्रेरी ऐब्स्ट्रैक्शन.
इस इंटिग्रेशन विकल्प में, स्टैंडर्ड इंटरफ़ेस, लो-लेवल यूज़र-स्पेस लाइब्रेरी OpenGL (ES), Vulkan, EGL, Video4Linux, और tinyalsa हैं. गेस्ट और होस्ट के बीच बंटवारे को मैनेज करने की ज़िम्मेदारी पार्टनर की होती है. वहीं, ऐप्लिकेशन डेवलपर की ज़िम्मेदारी, यूज़र-स्पेस लाइब्रेरी इंटरफ़ेस के साथ काम करने की ज़रूरी शर्तें पूरी करना होती है.
इस तरीके से, इंफ़्रास्ट्रक्चर और हार्डवेयर एनवायरमेंट में अलग-अलग ड्राइवर इस्तेमाल किए जा सकते हैं. इससे व्यवहार में बड़े अंतर आ सकते हैं. साथ ही, अलग-अलग एनवायरमेंट के हिसाब से बदलाव किए बिना, इमेज ट्रांसफ़र नहीं की जा सकतीं.
यह तरीका उन पार्टनर के लिए है जिनके पास VirtIO की पूरी सुविधा नहीं है.
एसडीवी मीडिया इस्तेमाल करने की ज़रूरी शर्तें
एसडीवी मीडिया इस्तेमाल करने की ज़रूरी शर्तों के मुताबिक, एसडीवी कोर इस्तेमाल करने की सभी ज़रूरी शर्तें पूरी होनी चाहिए. ऐसा, रेफ़रंस के तौर पर लागू करने के तरीके का इस्तेमाल करके या सिस्टम लाइब्रेरी को वेंडर के हिसाब से बने समाधानों से बदलकर किया जा सकता है. इसके बारे में पिछले सेक्शन में बताया गया है.