অ্যান্ড্রয়েড ভার্চুয়ালাইজেশন ফ্রেমওয়ার্ক (AVF) ওভারভিউ

অ্যান্ড্রয়েড ভার্চুয়ালাইজেশন ফ্রেমওয়ার্ক (AVF) কোড নির্বাহ করার জন্য নিরাপদ এবং ব্যক্তিগত এক্সিকিউশন এনভায়রনমেন্ট প্রদান করে। নিরাপত্তা-ভিত্তিক ব্যবহারের ক্ষেত্রে AVF একটি আদর্শ সমাধান, যেখানে অ্যান্ড্রয়েডের অ্যাপ স্যান্ডবক্সের চেয়েও শক্তিশালী, এমনকি আনুষ্ঠানিকভাবে যাচাইকৃত, আইসোলেশন নিশ্চয়তার প্রয়োজন হয়। অ্যান্ড্রয়েড AVF বাস্তবায়নের জন্য প্রয়োজনীয় সমস্ত উপাদানের একটি রেফারেন্স ইমপ্লিমেন্টেশন প্রদান করে। AVF শুধুমাত্র ARM64 ডিভাইসে সমর্থিত। চিত্র ১-এ AVF-এর আর্কিটেকচার দেখানো হয়েছে:

এভিএফ স্থাপত্য

চিত্র ১. এভিএফ স্থাপত্য।

চিত্র ১-এর সবচেয়ে গুরুত্বপূর্ণ পরিভাষাগুলোর সংজ্ঞা নিচে দেওয়া হলো:

অ্যাপেক্সডি এবং জিপফিউজ
হোস্ট থেকে ইম্পোর্ট করা APEX এবং APK ফাইলগুলোকে নিরাপদে মাউন্ট করে।
authfs
অ্যান্ড্রয়েড এবং পিভিএম (হোস্ট ও গেস্ট)-এর মধ্যে একাধিক ফাইল নিরাপদে শেয়ার করার জন্য একটি ফিউজ ফাইল সিস্টেম।
বাইন্ডার
ভিএমগুলোর নিজেদের মধ্যে যোগাযোগের প্রধান মাধ্যম।
crosvm
রাস্ট ভাষায় লেখা একটি ভার্চুয়াল মেশিন মনিটর। crosvm ভিএম মেমরি বরাদ্দ করে, ভার্চুয়াল সিপিইউ থ্রেড তৈরি করে এবং ভার্চুয়াল ডিভাইসের ব্যাক-এন্ডগুলো বাস্তবায়ন করে।
জেনেরিক কার্নেল ইমেজ (GKI)
গুগল দ্বারা প্রত্যয়িত একটি বুট ইমেজ, যাতে অ্যান্ড্রয়েড কমন কার্নেল (ACK) সোর্স ট্রি থেকে নির্মিত একটি GKI কার্নেল থাকে এবং যা একটি অ্যান্ড্রয়েড ডিভাইসের বুট পার্টিশনে ফ্ল্যাশ করার জন্য উপযুক্ত। আরও তথ্যের জন্য, কার্নেল ওভারভিউ দেখুন।
হাইপারভাইজর
AVF দ্বারা ব্যবহৃত ভার্চুয়ালাইজেশন প্রযুক্তি, যা pKVM নামেও পরিচিত। এই হাইপারভাইজরটি এক্সিকিউটেড কোডের অখণ্ডতা এবং pVM-এর অ্যাসেটগুলোর গোপনীয়তা বজায় রাখে, এমনকি যদি হোস্ট অ্যান্ড্রয়েড বা অন্য কোনো pVM হ্যাক হয়েও যায়।
জাভা এপিআই
VirtualizationService জাভা এপিআইগুলো শুধুমাত্র AVF সমর্থনযুক্ত ডিভাইসগুলিতে উপস্থিত থাকে। এই এপিআইগুলো ঐচ্ছিক এবং thebootclasspath এর অংশ নয়।
মাইক্রোড্রয়েড
গুগল-প্রদত্ত একটি মিনি-অ্যান্ড্রয়েড ওএস যা একটি pVM-এ চলে।
মাইক্রোড্রয়েড ম্যানেজার
pVM-এর জীবনচক্র, pVM-এর অভ্যন্তর এবং ইনস্ট্যান্স ডিস্ক পরিচালনা করে।
নেটিভ এপিআই
অ্যান্ড্রয়েড নেটিভ ডেভেলপারস কিট (এনডিকে)-এর একটি উপসেট।
সুরক্ষিত কার্নেল-ভিত্তিক ভার্চুয়াল মেশিন (pKVM)
হাইপারভাইজর দেখুন।
pVM ফার্মওয়্যার ( pvmfw )
pVM-এ চালিত প্রথম কোড, pvmfw পেলোড যাচাই করে এবং প্রতিটি VM-এর জন্য গোপনীয় তথ্য তৈরি করে।
সুরক্ষিত ভার্চুয়াল মেশিন (pVM)

একটি পারস্পরিক অবিশ্বাসযুক্ত বিচ্ছিন্ন এক্সিকিউশন এনভায়রনমেন্ট ( গেস্ট ) যা মূল অ্যান্ড্রয়েড অপারেটিং সিস্টেমের ( হোস্ট ) পাশাপাশি চলে। pVM নিরাপত্তার একটি গুরুত্বপূর্ণ দিক হলো, হোস্ট হ্যাক হয়ে গেলেও, হোস্টের pVM-এর মেমরিতে অ্যাক্সেস থাকে না। pKVM হলো pVM চালানোর জন্য আদর্শ হাইপারভাইজর।

বিদ্যমান ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট (TEE)-এর তুলনায়, pVM একটি আরও সমৃদ্ধ পরিবেশ প্রদান করে, যার মধ্যে মাইক্রোড্রয়েড নামক একটি মিনি-অ্যান্ড্রয়েড ডিস্ট্রিবিউশন চালানোর সক্ষমতাও রয়েছে (যদিও মাইক্রোড্রয়েড একটি আনপ্রোটেক্টেড VM-এও চলতে পারে)। pVM ডায়নামিকভাবে ব্যবহার করা যায় এবং এটি একটি বিশ্বস্ত পরিবেশে স্ট্যান্ডার্ড API-এর একটি সেট প্রদান করে, যা সেগুলোকে সমর্থনকারী সমস্ত ডিভাইসে উপলব্ধ থাকে।

ভার্চুয়ালাইজেশন পরিষেবা

অ্যান্ড্রয়েড পরিষেবা যা pVM-গুলির জীবনচক্র পরিচালনা করে।

এরপর কী?

  • এভিএফ-এর প্রয়োজনীয়তা আরও ভালোভাবে বুঝতে চাইলে, ‘এভিএফ কেন?’ অংশটি দেখুন।
  • আইসোলেটেড কম্পাইলেশনের জন্য AVF কীভাবে ব্যবহার করা যায়, সে সম্পর্কে জানতে ইউজ কেসেস (Use cases) দেখুন।
  • আপনি যদি AVF রেফারেন্স ইমপ্লিমেন্টেশনের আর্কিটেকচার সম্পর্কে আরও বিশদ ব্যাখ্যা চান, তাহলে AVF architecture দেখুন।
  • আপনি যদি মাইক্রোড্রয়েড সম্পর্কে জানতে চান, তাহলে মাইক্রোড্রয়েড দেখুন।
  • AVF কীভাবে নিরাপত্তা পরিচালনা করে সে বিষয়ে আপনি আগ্রহী হলে, নিরাপত্তা অংশটি দেখুন।
  • ভার্চুয়ালাইজেশন সার্ভিসের ভূমিকা বুঝতে হলে VirtualizationService দেখুন।
  • AVF-এর সোর্স কোড অথবা এর প্রতিটি উপাদান সম্পর্কে বিস্তারিত ব্যাখ্যার জন্য AOSP রিপোজিটরি দেখুন।