একটি হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) হল বিমূর্ত স্তরের একটি প্রকার যা হার্ডওয়্যার বিক্রেতাদের বাস্তবায়নের জন্য একটি আদর্শ ইন্টারফেস সহ। একটি HAL হার্ডওয়্যার বিক্রেতাদের উচ্চ-স্তরের স্তরগুলিতে কোডকে প্রভাবিত বা পরিবর্তন না করে নিম্ন-স্তরের, ডিভাইস-নির্দিষ্ট বৈশিষ্ট্যগুলি প্রয়োগ করার অনুমতি দেয়।
প্রয়োজনীয় শর্তাবলী
ডকুমেন্টেশনের এই বিভাগে ব্যবহৃত পদগুলির সংজ্ঞাগুলির একটি তালিকা নীচে দেওয়া হল:
- অ্যান্ড্রয়েড ইন্টারফেস সংজ্ঞা ভাষা (এআইডিএল)
- একটি জাভা-সদৃশ ভাষা ইন্টারফেসকে এমনভাবে সংজ্ঞায়িত করতে ব্যবহৃত হয় যা ব্যবহার করা প্রোগ্রামিং ভাষার থেকে স্বাধীন। AIDL HAL ক্লায়েন্ট এবং HAL পরিষেবার মধ্যে যোগাযোগের অনুমতি দেয়।
- Binderized HAL
- একটি HAL যা বাইন্ডার ইন্টার-প্রসেস কমিউনিকেশন (IPC) কল ব্যবহার করে অন্যান্য প্রক্রিয়ার সাথে যোগাযোগ করে। বাইন্ডারাইজড এইচএএলগুলি ক্লায়েন্ট থেকে একটি পৃথক প্রক্রিয়ায় চলে যা তাদের ব্যবহার করে। বাইন্ডারাইজড এইচএএলগুলি একটি পরিষেবা পরিচালকের সাথে নিবন্ধিত হয় যাতে ক্লায়েন্টরা তাদের ক্ষমতাগুলি অ্যাক্সেস করতে পারে। Android 8 এবং উচ্চতর জন্য লেখা HALগুলি বাইন্ডারাইজড।
- HAL ক্লায়েন্ট
- HAL পরিষেবা অ্যাক্সেস করার প্রক্রিয়া।
- HAL ইন্টারফেস
- HAL ক্লায়েন্ট এবং যোগাযোগের জন্য পরিষেবা উভয়ের দ্বারা ব্যবহৃত সাধারণ ইন্টারফেস।
- HAL পরিষেবা
হার্ডওয়্যার-নির্দিষ্ট কোড, যেমন কোড যা আপনার নির্দিষ্ট ডিভাইসের ক্যামেরায় নিয়ে যায়। আপনার ভেন্ডর পার্টিশনে আপনার লক্ষ্য করা রিলিজের জন্য সামঞ্জস্যতা ম্যাট্রিক্সে তালিকাভুক্ত সমস্ত প্রয়োজনীয় HALs প্রয়োগ করতে হবে। সামঞ্জস্য ম্যাট্রিক্স সম্পর্কে আরও তথ্যের জন্য, সামঞ্জস্য ম্যাট্রিক্স দেখুন।
এছাড়াও আপনি একটি নতুন HAL ইন্টারফেস তৈরি করতে পারেন, অথবা আপনার হার্ডওয়্যারের অনন্য ক্ষমতা সমর্থন করার জন্য HAL-এর ইন্টারফেস প্রসারিত করতে পারেন।
- হার্ডওয়্যার ইন্টারফেস সংজ্ঞা ভাষা (HIDL)
একটি ভাষা ইন্টারফেসকে এমনভাবে সংজ্ঞায়িত করতে ব্যবহৃত হয় যা ব্যবহৃত প্রোগ্রামিং ভাষার থেকে স্বাধীন। HIDL HAL ক্লায়েন্ট এবং HAL পরিষেবাগুলির মধ্যে যোগাযোগ সক্ষম করে৷
- একই প্রক্রিয়া (SP) HAL
মোড়ানো HAL এর একটি সীমাবদ্ধ সেট। সেটের সদস্যপদ Google দ্বারা নিয়ন্ত্রিত হয়। এসপি এইচএএলগুলির মধ্যে রয়েছে:
- স্থিতিশীল সি ম্যাপার 5 HAL
- ওপেনজিএল
- ভলকান
- android.hidl.memory@1.0 (অ্যান্ড্রয়েড সিস্টেম দ্বারা সরবরাহ করা, সর্বদা মোড়ানো)
- android.hardware.renderscript@1.0
- মোড়ানো HAL
একটি HAL পরিষেবা যা Android 8 এর আগে তৈরি করা হয়েছিল, কিন্তু Android 8 এবং উচ্চতর সংস্করণের সাথে কাজ করার জন্য একটি AIDL বা HIDL র্যাপারে মোড়ানো হয়েছে৷
এরপর কি?
- কিভাবে একটি HAL পরিষেবা বাস্তবায়ন করতে হয় তা জানতে, HAL-এর জন্য AIDL পড়ুন।
- কিভাবে একটি বিদ্যমান HAL তৈরি বা প্রসারিত করতে হয় তা জানতে, সংযুক্ত বর্ধিত ইন্টারফেস পড়ুন।