مروری بر ادغام رسانه SDV

SDV Media یک سیستم عامل سبک است که قابلیت رسانه را به SDV Core اضافه می‌کند.

پیاده‌سازی مرجع رسانه‌ای SDV

رسانه SDV

شکل 1. معماری رسانه SDV.

SDV Media مبتنی بر SDV Core است و با افزودن دسترسی به موتورهای سخت‌افزاری مانند GPU، ویدئو و صدا، قابلیت‌های رسانه‌ای را افزایش می‌دهد. نسخه‌های آینده ممکن است موتورهای سخت‌افزاری بیشتری را اضافه کنند.

پیاده‌سازی مرجع از VirtIO برای پیاده‌سازی انتزاع سخت‌افزار، به ویژه virtio-gpu، virtio-media، virtio-snd و virtio-input استفاده می‌کند.

این پیاده‌سازی از کتابخانه‌های استاندارد فضای کاربری برای دسترسی به قابلیت‌های رسانه‌ای مانند OpenGL (ES)، Vulkan، EGL، Video4Linux و tinyalsa استفاده می‌کند، بنابراین یک پیاده‌سازی در محیط عملیاتی می‌تواند درایورهای VirtIO را جایگزین کرده و آن رابط‌ها را با راه‌حل‌های خاص سخت‌افزاری پیاده‌سازی کند.

SDV Media شامل تمام قابلیت‌های SDV Core است، به این معنی که شامل پشته ارتباطی SDV است، از GKI استفاده می‌کند و تمام ویژگی‌های دیگر SDV را در بر می‌گیرد.

گزینه‌های ادغام

ادامه‌ی این صفحه، دو گزینه برای یکپارچه‌سازی SDV Media را توضیح می‌دهد.

گزینه ۱: مبتنی بر میزبان (توصیه می‌شود)

گزینه ادغام ۱: مبتنی بر میزبان

شکل ۲. یکپارچه‌سازی مبتنی بر میزبان.

گزینه یکپارچه‌سازی مبتنی بر میزبان، از VirtIO در سیستم عامل مهمان برای پیاده‌سازی عملکرد مستقل از سخت‌افزار واقعی استفاده می‌کند. درایورهای مخصوص سخت‌افزار در سمت میزبان یکپارچه شده‌اند و دستگاه‌ها را مطابق با رابط استاندارد مبتنی بر VirtIO برای ارتباط با سیستم عامل مهمان پیاده‌سازی می‌کنند.

عملکرد به دستگاه سمت میزبان و پیاده‌سازی درایور بستگی دارد، اما آزمایش‌ها نشان داده‌اند که سیستم می‌تواند به عملکرد و سرعت راه‌اندازی بالایی دست یابد.

یکی دیگر از مزایای این راهکار این است که تصاویر روی زیرساخت و سخت‌افزار می‌توانند بسیار مشابه باشند، زیرا میزبان از رابط‌های استاندارد استفاده می‌کند. این امر منجر به حداقل یا بدون تغییر برای اجرا در دستگاه‌های مختلف می‌شود؛ وابستگی سخت‌افزار به میزبان محدود می‌شود.

گزینه ۲: انتزاع کتابخانه فضای کاربر

انتزاع کتابخانه فضای کاربر

شکل ۳. انتزاع کتابخانه فضای کاربر.

در این گزینه ادغام، رابط‌های استاندارد، کتابخانه‌های سطح پایین فضای کاربر OpenGL (ES)، Vulkan، EGL، Video4Linux و tinyalsa هستند. شریک مسئول هماهنگی تقسیم‌بندی بین مهمان و میزبان است، در حالی که توسعه‌دهنده برنامه مسئول برآورده کردن سازگاری با رابط‌های کتابخانه فضای کاربر است.

این رویکرد احتمالاً منجر به محرک‌های متفاوتی در محیط‌های زیرساختی و سخت‌افزاری می‌شود که می‌تواند منجر به تفاوت‌های عمده در رفتار شود و تصاویر را نمی‌توان بدون تطبیق با محیط‌های مختلف منتقل کرد.

این رویکرد برای شرکایی در نظر گرفته شده است که از VirtIO پشتیبانی کامل ندارند.

الزامات رسانه‌ای SDV

الزامات SDV Media فرض می‌کنند که تمام الزامات SDV Core برآورده شده‌اند. این امر می‌تواند با استفاده از پیاده‌سازی مرجع یا با جایگزینی کتابخانه‌های سیستم با راه‌حل‌های خاص فروشنده، همانطور که در بخش‌های قبلی توضیح داده شد، محقق شود.