Extended Page Tables (EPT)
VT-x with EPT নামেও পরিচিত
EPT, বা Extended Page Tables, Intel ভার্চুয়াল মেশিনের জন্য মেমরি অনুবাদের দ্বিতীয় পর্যায় সরবরাহ করে। VT-x with EPT লেবেলটি ভার্চুয়ালাইজেশন এবং এই অতিরিক্ত অনুবাদ সুবিধা উভয়কেই বোঝায়।
আপনার যা জানা প্রয়োজন
EPT, বা Extended Page Tables, Intel ভার্চুয়াল মেশিনের জন্য মেমরি অনুবাদের দ্বিতীয় পর্যায় সরবরাহ করে। VT-x with EPT লেবেলটি ভার্চুয়ালাইজেশন এবং এই অতিরিক্ত অনুবাদ সুবিধা উভয়কেই বোঝায়।
এটি যেভাবে কাজ করে
গেস্টের পেজ টেবিলগুলি গেস্ট ভার্চুয়াল অ্যাড্রেসকে গেস্ট ফিজিক্যাল অ্যাড্রেসে অনুবাদ করে; হাইপারভাইজারের নিয়ন্ত্রণে EPT গেস্ট ফিজিক্যাল অ্যাড্রেসকে হোস্ট ফিজিক্যাল অ্যাড্রেসে অনুবাদ করে। EPT এন্ট্রিগুলির নিজস্ব অনুমতি রয়েছে এবং কোনো ম্যাপিং বা অ্যাক্সেস অননুমোদিত হলে তা EPT লঙ্ঘন সৃষ্টি করতে পারে। অনুবাদের ক্যাশে এবং ইনভ্যালিডেশন নিয়মগুলি নির্ভুলতার অংশ হিসেবে বজায় থাকে।
যেখানে এটি কার্যকর
একটি হাইপারভাইজার প্রতিটি VM-এর গেস্ট-ফিজিক্যাল মেমরিকে তার নির্ধারিত হোস্ট পেজের সাথে ম্যাপ করতে পারে এবং একই সাথে গেস্টকে তার নিজস্ব ভার্চুয়াল অ্যাড্রেস স্পেস পরিচালনা করার অনুমতি দেয়। এটি পুরোনো শ্যাডো-পেজ-টেবিল প্রযুক্তির ওপর নির্ভরতা কমাতে পারে, তবে প্রকৃত ওয়ার্কলোড খরচ এখনও অনুবাদের ক্যাশিং এবং অ্যাক্সেস প্যাটার্নের ওপর নির্ভর করে।
সাপোর্ট এবং সক্ষমতা কীভাবে পরীক্ষা করবেন
হাইপারভাইজার বা বিশেষ সুবিধাপ্রাপ্ত প্ল্যাটফর্ম টুলিংয়ের মাধ্যমে VMX কন্ট্রোল এবং EPT সক্ষমতার তথ্য যাচাই করুন। শুধুমাত্র VT-x-এর CPUID বিট যথেষ্ট নয়। EPT-কে একটি একক সার্বজনীন মোড হিসেবে বিবেচনা না করে ডিপ্লয়মেন্টের জন্য প্রয়োজনীয় সুনির্দিষ্ট কন্ট্রোল এবং পেজের আকার নিশ্চিত করুন।
একটি ভার্চুয়ালাইজড স্থাপনার বেশ কয়েকটি স্তর রয়েছে: শারীরিক ক্ষমতা, ফার্মওয়্যার অনুমতি, সক্রিয় হোস্ট হাইপারভাইজার, উন্মুক্ত গেস্ট ক্ষমতা এবং গেস্ট OS সমর্থন। যে স্তরে অপারেশনটি প্রকৃতপক্ষে চলে তা পরীক্ষা করুন, প্রাসঙ্গিক হলে নেস্টেড ভার্চুয়ালাইজেশন সহ।
এই বৈশিষ্ট্যটি যা নিশ্চিত করে না
EPT এবং VT-d এক নয়: CPU থেকে শুরু হওয়া গেস্ট মেমরি অনুবাদ এবং ডিভাইসের DMA রিম্যাপিং সম্পূর্ণ ভিন্ন পথ। EPT সমর্থনের অর্থ এই নয় যে প্রতিটি EPT পেজের আকার, এক্সিকিউট-কন্ট্রোল এক্সটেনশন বা নেস্টেড-ভার্চুয়ালাইজেশন কনফিগারেশন সমর্থিত।
বাস্তবে সামঞ্জস্য এবং কর্মক্ষমতা
CPU এক্সিকিউশন, গেস্ট মেমরি ট্রান্সলেশন এবং ডিভাইস DMA রিম্যাপিং আলাদা সুবিধা। একটি ভার্চুয়ালাইজেশন ক্ষেত্র থেকে পাসথ্রু বা বিচ্ছিন্নতা অনুমান করবেন না। হাইপারভাইজারের সমর্থিত ডায়াগনস্টিকস এবং সঠিক প্ল্যাটফর্ম/ডিভাইসের প্রয়োজনীয়তা ব্যবহার করুন।
একটি ব্যবহারিক যাচাইকরণ চেকলিস্ট
- সংশ্লিষ্ট সুনির্দিষ্ট প্রসেসর বা প্ল্যাটফর্ম মডেল এবং অ্যাপ্লিকেশন, OS ও রানটাইম সংস্করণগুলি রেকর্ড করুন। প্রকৃত ত্রুটি বা প্রয়োজনীয়তার সঠিক শব্দচয়ন সংরক্ষণ করুন।
- সেই নির্দিষ্ট মডেলের জন্য প্রস্তুতকারকের রেফারেন্স পরীক্ষা করুন, তারপর প্রোগ্রামটি যে পরিবেশে চলে সেখানে কার্যকর সক্ষমতা এবং সক্রিয় অবস্থা পর্যবেক্ষণ করুন।
- নির্বাচিত বাইনারি বা ব্যাকএন্ডের প্রতিটি প্রয়োজনীয়তা তুলনা করুন। একই নামের কোনো বৈশিষ্ট্য, উপনাম বা বিস্তৃত প্রযুক্তির লেবেলই যথেষ্ট নয়।
- অ্যাপ্লিকেশনটি কাঙ্ক্ষিত বাস্তবায়ন নির্বাচন করেছে কিনা তা নিশ্চিত করুন। প্রয়োজনীয়তা পূরণ না হলে এর নথিভুক্ত ডায়াগনস্টিকস এবং একটি সমর্থিত ফলব্যাক ব্যবহার করুন।
- একবারে একটি সমর্থিত পরিবর্তন করুন এবং একই কাজের চাপ পুনরাবৃত্তি করুন। মূল কনফিগারেশন এবং পুনরুদ্ধারের পথ উপলব্ধ রাখুন।
যদি বৈশিষ্ট্যটি তালিকাভুক্ত থাকে কিন্তু সফটওয়্যার এটি ব্যবহার করতে না পারে
নির্দিষ্ট ব্যর্থ উপাদানটি দিয়ে শুরু করুন। একটি হার্ডওয়্যার ডাটাবেস সংরক্ষিত সক্ষমতা বর্ণনা করে; অপারেটিং সিস্টেম বা হাইপারভাইজর একটি ভিন্ন কার্যকর পরিবেশ প্রকাশ করতে পারে। একটি অবৈধ-নির্দেশনা (illegal-instruction) ত্রুটির ক্ষেত্রেও প্রকৃত ত্রুটিপূর্ণ নির্দেশনা এবং বাইনারি বিল্ড তদন্ত করা প্রয়োজন, কারণ ডেটা ক্ষতি বা সম্পর্কহীন কোনো অসমর্থিত নির্দেশনাও একই রকম লক্ষণ তৈরি করতে পারে।
নির্দিষ্ট প্ল্যাটফর্মের জন্য সমর্থিত অ্যাপ্লিকেশন, ড্রাইভার বা রানটাইম সংস্করণ ইনস্টল করুন এবং প্রয়োজনে ভেন্ডরের নথিভুক্ত বেসলাইন বা ফলব্যাক বিল্ড ব্যবহার করুন। একটি সফটওয়্যার আপডেট এমন কোনো নির্দেশনা তৈরি করতে পারে না যা প্রসেসরে নেই। ফার্মওয়্যার এবং নিরাপত্তা-নীতি পরিবর্তনগুলি একটি সাধারণ অপ্টিমাইজেশন রেসিপির পরিবর্তে সিস্টেম প্রস্তুতকারকের পদ্ধতি এবং একটি পুনরুদ্ধার পরিকল্পনা অনুসরণ করা উচিত।
এই ব্যাখ্যার উৎস এবং পরিধি
Intel 64 and IA-32 Architectures Software Developer's Manual
এই রেফারেন্সগুলি আর্কিটেকচারাল আচরণ এবং সফটওয়্যার প্রয়োজনীয়তা স্থাপন করে। এগুলি একটি লিঙ্কযুক্ত হার্ডওয়্যার মডেল পৃষ্ঠার প্রতিটি বৈশিষ্ট্যের মান স্বাধীনভাবে যাচাই করে না। মডেল সাপোর্টের জন্য, সেই পৃষ্ঠার প্রস্তুতকারকের প্রমাণ ব্যবহার করুন এবং কার্যকর সিস্টেম কনফিগারেশন পরীক্ষা করুন। এই নিবন্ধটি কোনো বেঞ্চমার্ক, সার্টিফিকেশন বা স্বাধীন পর্যালোচনার তারিখ সরবরাহ করে না।
উৎস এবং যাচাইকরণ
সম্পাদকীয় মালিকানা: Feex। কোনো স্বাধীন পর্যালোচনার তারিখ রেকর্ড করা নেই। আমরা কীভাবে গবেষণা করি.
- Intel 64 and IA-32 Architectures Software Developer's Manual · ভলিউম 1 এবং 2 নামযুক্ত নির্দেশিকা পরিবার এবং CPUID বর্ণনা করে; ভলিউম 3 স্টেট, পেজিং, VMX এবং সুরক্ষা নিয়ন্ত্রণ বর্ণনা করে। আর্কিটেকচার ডকুমেন্টেশন কোনো নির্দিষ্ট মডেলের জন্য সাপোর্ট নিশ্চিত করে না।
এই নিবন্ধটি কি দরকারী ছিল?
একটি হ্যাঁ বা না-ই যথেষ্ট। আপনি চাইলে একটি কারণ বেছে নিন, বা একটি ছোট মন্তব্য যোগ করুন।
ধন্যবাদ। এটি আমাদের এই পৃষ্ঠাটি উন্নত করতে সহায়তা করে।