এইচএল প্রকার

অ্যান্ড্রয়েড .0.০ এবং উচ্চতর সংস্করণে, নিম্ন স্তরের স্তরগুলি নতুন, আরো মডুলার আর্কিটেকচার গ্রহণের জন্য পুনরায় লেখা হয়। অ্যান্ড্রয়েড .0.০ এবং তারপরে চলমান ডিভাইসগুলিকে অবশ্যই এইচআইডিএল -এ লেখা এইচএলগুলিকে সমর্থন করতে হবে, নীচে তালিকাভুক্ত কয়েকটি ব্যতিক্রম ছাড়া। এই HALs বাইন্ডারাইজড বা পাসথ্রু হতে পারে। অ্যান্ড্রয়েড 11 -এ, AIDL- এ লেখা HALs সমর্থিত। সমস্ত AIDL HALs বাইন্ডারাইজড।

  • বাইন্ডারাইজড এইচএএল। HALs HAL ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (HIDL) বা অ্যান্ড্রয়েড ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (AIDL) তে প্রকাশ করা হয়। এই এইচএএলগুলি অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণে ব্যবহৃত প্রচলিত এবং উত্তরাধিকার উভয় এইচএএল প্রতিস্থাপন করে। বাইন্ডারাইজড এইচএএল-এ, অ্যান্ড্রয়েড ফ্রেমওয়ার্ক এবং এইচএএল বাইন্ডার ইন্টার-প্রসেস কমিউনিকেশন (আইপিসি) কল ব্যবহার করে একে অপরের সাথে যোগাযোগ করে। অ্যান্ড্রয়েড .0.০ বা তার পরে চালু হওয়া সমস্ত ডিভাইস শুধুমাত্র বাইন্ডারাইজড এইচএএল সমর্থন করবে।
  • পাসথ্রু HALs। একজন HIDL আবৃত প্রচলিত বা উত্তরাধিকার করতো HAL । এই এইচএএলগুলি বিদ্যমান এইচএএলগুলিকে আবৃত করে এবং এইচএএলকে বাইন্ডারাইজড এবং একই প্রক্রিয়া (পাসথ্রু) মোডে পরিবেশন করতে পারে। অ্যান্ড্রয়েড 8.0 এ আপগ্রেড করা ডিভাইসগুলি পাসথ্রু এইচএএল ব্যবহার করতে পারে।

এইচএএল মোডের প্রয়োজনীয়তা

যন্ত্র পাসথ্রু বাইন্ডারাইজড
অ্যান্ড্রয়েড 8.0 এর সাথে চালু করুন তালিকাভুক্ত HALs পাসথ্রু HALs পাসথ্রু হতে হবে। অন্যান্য সকল HAL গুলি বাইন্ডারাইজড (HALs সহ যা বিক্রেতা এক্সটেনশন)।
অ্যান্ড্রয়েড 8.0 এ আপগ্রেড করুন তালিকাভুক্ত HALs পাসথ্রু HALs পাসথ্রু হতে হবে। তালিকাভুক্ত HALs Binderized HALs binderized ইন করতে হবে।
বিক্রেতা ইমেজ দ্বারা প্রদত্ত অন্যান্য সমস্ত HALs পাসথ্রু বা বাইন্ডারাইজড মোডে থাকতে পারে। সম্পূর্ণরূপে ট্রেবল-সঙ্গতিপূর্ণ ডিভাইসে, এই সবগুলি অবশ্যই বাইন্ডারাইজড হতে হবে।

বাইন্ডারাইজড এইচএএল

অ্যান্ড্রয়েডের জন্য নিম্নলিখিত HALS এর প্রয়োজন হয় সমস্ত অ্যান্ড্রয়েড ডিভাইসে বাইন্ডারাইজ করা হোক না কেন সেগুলি লঞ্চ ডিভাইস বা আপগ্রেড ডিভাইস:

  • android.hardware.biometrics.fingerprint@2.1 । প্রতিস্থাপন fingerprintd যা নেই অ্যান্ড্রয়েড 8.0 হয়।
  • android.hardware.configstore@1.0 । অ্যান্ড্রয়েড 8.0 এ নতুন।
  • android.hardware.dumpstate@1.0 । এই এইচএএল দ্বারা প্রদত্ত মূল ইন্টারফেসটি শিম করা যায়নি এবং পরিবর্তন করা হয়েছে। এই কারণে, dumpstate_board একটি প্রদত্ত ডিভাইসে পুনরায় প্রয়োগ করা হবে (এই একটি ঐচ্ছিক করতো HAL) হয়।
  • android.hardware.graphics.allocator@2.0 । অ্যান্ড্রয়েড .0.০ এ বাইন্ডারাইজ করা প্রয়োজন তাই ফাইল বর্ণনাকারীদের বিশ্বস্ত এবং অবিশ্বস্ত প্রক্রিয়ার মধ্যে ভাগ করতে হবে না।
  • android.hardware.radio@1.0 । দ্বারা উপলব্ধ ইন্টারফেস প্রতিস্থাপিত rild যা তার নিজের প্রক্রিয়ার বসবাস।
  • android.hardware.usb@1.0 । অ্যান্ড্রয়েড 8.0 এ নতুন।
  • android.hardware.wifi@1.0 । অ্যান্ড্রয়েড 8.0 এ নতুন, লিগ্যাসি Wi-Fi এর করতো HAL লাইব্রেরি যে মধ্যে লোড করা হয়েছে প্রতিস্থাপন system_server
  • android.hardware.wifi.supplicant@1.0 । বিদ্যমান উপর একটি HIDL ইন্টারফেস wpa_supplicant প্রক্রিয়া।

উল্লেখ্য:: Android এর নিম্নলিখিত HIDL ইন্টারফেসগুলি যা সবসময় binderized মোডে থাকবে উপলব্ধ android.frameworks.* , android.system.* , এবং android.hidl.* (ছাড়া android.hidl.memory@1.0 নীচে বর্ণিত হিসাবে)।

পাসথ্রু HALs

অ্যান্ড্রয়েডের জন্য নিম্নলিখিত এইচএএলগুলি সমস্ত অ্যান্ড্রয়েড ডিভাইসে পাসথ্রু মোডে থাকতে হবে তা নির্বিশেষে সেগুলি লঞ্চ ডিভাইস বা আপগ্রেড ডিভাইস:

  • android.hardware.graphics.mapper@1.0 । ম্যাপস মেমরি যে প্রক্রিয়ায় বাস করে।
  • android.hardware.renderscript@1.0 । একই প্রক্রিয়া (সমতূল্য আইটেম পাসের openGL )।

উপরে তালিকাভুক্ত নয় এমন সমস্ত এইচএএল লঞ্চ ডিভাইসের জন্য বাইন্ডারাইজড হতে হবে।

একই প্রক্রিয়া HALs

একই প্রক্রিয়ায় HALs (SP-HALs) সর্বদা একই প্রক্রিয়ায় খোলা থাকে যেখানে তারা ব্যবহৃত হয়। তারা HIDL প্রকাশ না সব HALs সেইসাথে কিছু যে binderized নেই অন্তর্ভুক্ত। SP-HAL সেটে সদস্যতা শুধুমাত্র Google দ্বারা নিয়ন্ত্রিত হয়, কোন ব্যতিক্রম ছাড়া।

এসপি-এইচএলগুলিতে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • openGL
  • Vulkan
  • android.hidl.memory@1.0 (Android সিস্টেম দ্বারা উপলব্ধ, সবসময় পাসথ্রু)
  • android.hardware.graphics.mapper@1.0
  • android.hardware.renderscript@1.0

প্রচলিত এবং উত্তরাধিকার HALs

প্রচলিত HALs (অ্যান্ড্রয়েড .0.০ এ অপ্রচলিত) হল ইন্টারফেস যা একটি নির্দিষ্ট নামযুক্ত এবং সংস্করণযুক্ত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) এর সাথে সামঞ্জস্যপূর্ণ। Android সিস্টেম ইন্টারফেস (বাল্ক ক্যামেরা , অডিও , সেন্সর , ইত্যাদি) প্রচলিত HALs, যার অধীনে সংজ্ঞায়িত করা হয় আকারে হয় হার্ডওয়্যার / libhardware / অন্তর্ভুক্ত / হার্ডওয়্যার

লিগ্যাসি এইচএএল (অ্যান্ড্রয়েড .0.০ এ অপ্রচলিত) হল এমন ইন্টারফেস যা প্রচলিত এইচএএলগুলির পূর্বাভাস দেয়। কয়েকটি গুরুত্বপূর্ণ সাব-সিস্টেম (ওয়াই-ফাই, রেডিও ইন্টারফেস লেয়ার এবং ব্লুটুথ) লিগ্যাসি এইচএএল। যদিও লিগ্যাসি এইচএএল বর্ণনা করার কোন অভিন্ন বা মানসম্মত উপায় নেই, অ্যান্ড্রয়েড 8.0 এর পূর্বাভাস যা কিছু প্রচলিত এইচএএল নয় তা হল লিগ্যাসি এইচএএল। কিছু উত্তরাধিকার HALs অংশগুলি অন্তর্ভুক্ত করা হয় libhardware_legacy , যখন অন্যান্য অংশের কোডবেস সর্বত্র interspersed করছে।