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

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

البنود المطلوبة

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

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

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

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

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

يشير هذا المصطلح إلى لغة تُستخدم لتعريف الواجهات بطريقة مستقلة عن لغة البرمجة المستخدمة. يتيح HIDL التواصل بين عملاء HAL وخدمات HAL.

HAL العمليات نفسها (SP)

مجموعة محدودة من طبقات HALs الملفوفة. يتم التحكم في العضوية في المجموعة من خلال Google. تشمل SP HALs ما يلي:

  • مصمم خرائط C الثابت 5 HAL
  • برنامج OpenGL
  • فولكان
  • android.hidl.memory@1.0 (يوفّره نظام Android، ويكون متوفّرًا دائمًا)
  • android.hardware.renderscript@1.0
ملفوف حول طبقة تجريد الأجهزة (HAL)

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

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