نظرة عامة على طبقة تجريد الأجهزة (HAL)

طبقة تجريد الأجهزة (HAL) هي نوع من طبقات التجريد التي تتضمّن واجهة عادية يمكن لمورّدي الأجهزة تنفيذها. تتيح طبقة HAL لمورّدي الأجهزة تنفيذ ميزات خاصة بالأجهزة ذات مستوى منخفض بدون التأثير في الرموز أو تعديلها في الطبقات ذات المستوى الأعلى.

العبارات المطلوبة

في ما يلي قائمة بتعريفات المصطلحات المستخدَمة في هذا القسم من المستندات:

لغة تعريف واجهة نظام Android (AIDL)
لغة شبيهة بلغة Java تُستخدَم لتحديد الواجهات بطريقة مستقلة عن لغة البرمجة المستخدَمة. تتيح لغة AIDL التواصل بين برامج HAL وخدمات HAL.
Binderized HAL
طبقة تجريد الأجهزة (HAL) تتواصل مع العمليات الأخرى باستخدام استدعاءات binder للتواصل البيني بين العمليات (IPC). يتم تشغيل طبقات HAL المستندة إلى Binder في عملية منفصلة عن العميل الذي يستخدمها. يتم تسجيل حِزم HAL التي تستخدم Binder لدى مدير خدمة حتى يتمكّن العملاء من الوصول إلى إمكاناتها. تكون طبقات تجريد الأجهزة (HAL) المكتوبة لنظام التشغيل Android 8 والإصدارات الأحدث مرتبطة ببرنامج ربط.
عميل HAL
العملية التي تصل إلى خدمة HAL
واجهة HAL
الواجهة المشتركة التي يستخدمها كل من عميل HAL والخدمة للتواصل
خدمة طبقة تجريد الأجهزة (HAL)

الرمز البرمجي الخاص بالجهاز، مثل الرمز الذي يتواصل مع كاميرا جهازك المحدّد يجب تنفيذ جميع طبقات HAL المطلوبة والمدرَجة في مصفوفة التوافق للإصدار الذي تستهدفه في قسم المورّد. للمزيد من المعلومات حول مصفوفات التوافق، يُرجى الاطّلاع على مصفوفات التوافق.

يمكنك أيضًا إنشاء واجهة HAL جديدة أو توسيع واجهة HAL حالية للاستفادة من الإمكانات الفريدة للأجهزة.

لغة تعريف واجهة الأجهزة (HIDL)

لغة تُستخدَم لتحديد الواجهات بطريقة مستقلة عن لغة البرمجة المستخدَمة. تتيح لغة HIDL التواصل بين برامج HAL وخدمات HAL.

طبقة تجريد الأجهزة (HAL) التي تستخدم العملية نفسها (SP)

مجموعة محدودة من طبقات تجريد الأجهزة (HAL) المغلفة تتحكّم Google في العضوية في المجموعة. تشمل طبقات تجريد الأجهزة (HAL) لموفّر الخدمة ما يلي:

  • Stable C mapper 5 HAL
  • OpenGL
  • Vulkan
  • ‫android.hidl.memory@1.0 (يوفّره نظام Android، ويتم تضمينه دائمًا)
  • android.hardware.renderscript@1.0
الطبقة المجردة من الأجهزة (HAL)

خدمة HAL تم إنشاؤها قبل الإصدار 8 من نظام التشغيل Android، ولكن تم تضمينها في برنامج تضمين AIDL أو HIDL لتعمل مع الإصدار 8 من نظام التشغيل Android والإصدارات الأحدث.

ما هي الخطوات التالية؟