نظرة عامة على طبقة تجريد الأجهزة (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)

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

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