সরাসরি মূল বিষয়ে যান

Second-Level Address Translation

আর্কিটেকচার রেফারেন্সFeex

Second-Level Address Translation, SLAT, হলো গেস্ট ফিজিক্যাল থেকে হোস্ট ফিজিক্যাল অ্যাড্রেসে হার্ডওয়্যার-সহায়তাপ্রাপ্ত অনুবাদের একটি সাধারণ পরিভাষা। Intel EPT এবং AMD NPT ভেন্ডর-নির্দিষ্ট বাস্তবায়ন সরবরাহ করে।

আপনার যা জানা প্রয়োজন

Second-Level Address Translation, SLAT, হলো গেস্ট ফিজিক্যাল থেকে হোস্ট ফিজিক্যাল অ্যাড্রেসে হার্ডওয়্যার-সহায়তাপ্রাপ্ত অনুবাদের একটি সাধারণ পরিভাষা। Intel EPT এবং AMD NPT ভেন্ডর-নির্দিষ্ট বাস্তবায়ন সরবরাহ করে।

এটি যেভাবে কাজ করে

একটি গেস্টের নিজস্ব পেজ টেবিল তার ভার্চুয়াল মেমোরি বর্ণনা করে। হাইপারভাইজর দ্বারা নিয়ন্ত্রিত একটি দ্বিতীয় ম্যাপিং প্রাপ্ত গেস্ট ফিজিক্যাল অ্যাড্রেসগুলোকে হোস্ট মেমোরি এবং অ্যাক্সেস পারমিশনের সাথে যুক্ত করে। প্রসেসর আর্কিটেকচারের ট্রান্সলেশন এবং ক্যাশিং নিয়মের অধীনে এই পর্যায়গুলোকে একত্রিত করে।

যেখানে এটি কার্যকর

একটি হাইপারভাইজর শ্যাডো পেজ টেবিলের কিছু রূপ বজায় রাখা এড়াতে পারে এবং পরিবর্তে হার্ডওয়্যারকে ধাপে ধাপে ওয়াক সম্পন্ন করতে দিতে পারে। অবশিষ্ট ওভারহেড পেজের আকার, নেস্টেড-ওয়াক ক্যাশিং, TLB আচরণ এবং গেস্ট মেমোরি লোকালিটির ওপর নির্ভর করে।

সাপোর্ট এবং সক্ষমতা কীভাবে পরীক্ষা করবেন

প্রসেসর ভেন্ডর শনাক্ত করুন এবং হাইপারভাইজরের সমর্থিত ডায়াগনস্টিকসের মাধ্যমে সংশ্লিষ্ট EPT বা NPT সক্ষমতা পরীক্ষা করুন। ফার্মওয়্যার এবং OS সাপোর্টসহ ডিপ্লয় করা ফিচারের সম্পূর্ণ প্রয়োজনীয়তা পরীক্ষা করুন।

একটি ভার্চুয়ালাইজড স্থাপনার বেশ কয়েকটি স্তর রয়েছে: শারীরিক ক্ষমতা, ফার্মওয়্যার অনুমতি, সক্রিয় হোস্ট হাইপারভাইজার, উন্মুক্ত গেস্ট ক্ষমতা এবং গেস্ট OS সমর্থন। যে স্তরে অপারেশনটি প্রকৃতপক্ষে চলে তা পরীক্ষা করুন, প্রাসঙ্গিক হলে নেস্টেড ভার্চুয়ালাইজেশন সহ।

এই বৈশিষ্ট্যটি যা নিশ্চিত করে না

SLAT কোনো আলাদা সার্বজনীন CPUID বিট নয়, IOMMU-এর বিকল্প নয় বা কোনো নির্দিষ্ট OS ভার্চুয়ালাইজেশন পণ্যের সমর্থনের প্রমাণও নয়। একটি সাধারণ SLAT ফিল্ডের ভেন্ডর-নির্দিষ্ট ব্যাখ্যা প্রয়োজন এবং এটি প্রতিটি উন্নত ট্রান্সলেশন ফিচার প্রতিষ্ঠা করে না।

বাস্তবে সামঞ্জস্য এবং কর্মক্ষমতা

CPU এক্সিকিউশন, গেস্ট মেমরি ট্রান্সলেশন এবং ডিভাইস DMA রিম্যাপিং আলাদা সুবিধা। একটি ভার্চুয়ালাইজেশন ক্ষেত্র থেকে পাসথ্রু বা বিচ্ছিন্নতা অনুমান করবেন না। হাইপারভাইজারের সমর্থিত ডায়াগনস্টিকস এবং সঠিক প্ল্যাটফর্ম/ডিভাইসের প্রয়োজনীয়তা ব্যবহার করুন।

একটি ব্যবহারিক যাচাইকরণ চেকলিস্ট

  1. সংশ্লিষ্ট সুনির্দিষ্ট প্রসেসর বা প্ল্যাটফর্ম মডেল এবং অ্যাপ্লিকেশন, OS ও রানটাইম সংস্করণগুলি রেকর্ড করুন। প্রকৃত ত্রুটি বা প্রয়োজনীয়তার সঠিক শব্দচয়ন সংরক্ষণ করুন।
  2. সেই নির্দিষ্ট মডেলের জন্য প্রস্তুতকারকের রেফারেন্স পরীক্ষা করুন, তারপর প্রোগ্রামটি যে পরিবেশে চলে সেখানে কার্যকর সক্ষমতা এবং সক্রিয় অবস্থা পর্যবেক্ষণ করুন।
  3. নির্বাচিত বাইনারি বা ব্যাকএন্ডের প্রতিটি প্রয়োজনীয়তা তুলনা করুন। একই নামের কোনো বৈশিষ্ট্য, উপনাম বা বিস্তৃত প্রযুক্তির লেবেলই যথেষ্ট নয়।
  4. অ্যাপ্লিকেশনটি কাঙ্ক্ষিত বাস্তবায়ন নির্বাচন করেছে কিনা তা নিশ্চিত করুন। প্রয়োজনীয়তা পূরণ না হলে এর নথিভুক্ত ডায়াগনস্টিকস এবং একটি সমর্থিত ফলব্যাক ব্যবহার করুন।
  5. একবারে একটি সমর্থিত পরিবর্তন করুন এবং একই কাজের চাপ পুনরাবৃত্তি করুন। মূল কনফিগারেশন এবং পুনরুদ্ধারের পথ উপলব্ধ রাখুন।

যদি বৈশিষ্ট্যটি তালিকাভুক্ত থাকে কিন্তু সফটওয়্যার এটি ব্যবহার করতে না পারে

নির্দিষ্ট ব্যর্থ উপাদানটি দিয়ে শুরু করুন। একটি হার্ডওয়্যার ডাটাবেস সংরক্ষিত সক্ষমতা বর্ণনা করে; অপারেটিং সিস্টেম বা হাইপারভাইজর একটি ভিন্ন কার্যকর পরিবেশ প্রকাশ করতে পারে। একটি অবৈধ-নির্দেশনা (illegal-instruction) ত্রুটির ক্ষেত্রেও প্রকৃত ত্রুটিপূর্ণ নির্দেশনা এবং বাইনারি বিল্ড তদন্ত করা প্রয়োজন, কারণ ডেটা ক্ষতি বা সম্পর্কহীন কোনো অসমর্থিত নির্দেশনাও একই রকম লক্ষণ তৈরি করতে পারে।

নির্দিষ্ট প্ল্যাটফর্মের জন্য সমর্থিত অ্যাপ্লিকেশন, ড্রাইভার বা রানটাইম সংস্করণ ইনস্টল করুন এবং প্রয়োজনে ভেন্ডরের নথিভুক্ত বেসলাইন বা ফলব্যাক বিল্ড ব্যবহার করুন। একটি সফটওয়্যার আপডেট এমন কোনো নির্দেশনা তৈরি করতে পারে না যা প্রসেসরে নেই। ফার্মওয়্যার এবং নিরাপত্তা-নীতি পরিবর্তনগুলি একটি সাধারণ অপ্টিমাইজেশন রেসিপির পরিবর্তে সিস্টেম প্রস্তুতকারকের পদ্ধতি এবং একটি পুনরুদ্ধার পরিকল্পনা অনুসরণ করা উচিত।

এই ব্যাখ্যার উৎস এবং পরিধি

Intel 64 and IA-32 Architectures Software Developer's Manual · AMD64 Architecture Programmer's Manual, Volume 2: System Programming

এই রেফারেন্সগুলি আর্কিটেকচারাল আচরণ এবং সফটওয়্যার প্রয়োজনীয়তা স্থাপন করে। এগুলি একটি লিঙ্কযুক্ত হার্ডওয়্যার মডেল পৃষ্ঠার প্রতিটি বৈশিষ্ট্যের মান স্বাধীনভাবে যাচাই করে না। মডেল সাপোর্টের জন্য, সেই পৃষ্ঠার প্রস্তুতকারকের প্রমাণ ব্যবহার করুন এবং কার্যকর সিস্টেম কনফিগারেশন পরীক্ষা করুন। এই নিবন্ধটি কোনো বেঞ্চমার্ক, সার্টিফিকেশন বা স্বাধীন পর্যালোচনার তারিখ সরবরাহ করে না।

উৎস এবং যাচাইকরণ

সম্পাদকীয় মালিকানা: Feex। কোনো স্বাধীন পর্যালোচনার তারিখ রেকর্ড করা নেই। আমরা কীভাবে গবেষণা করি.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · ভলিউম 1 এবং 2 নামযুক্ত নির্দেশিকা পরিবার এবং CPUID বর্ণনা করে; ভলিউম 3 স্টেট, পেজিং, VMX এবং সুরক্ষা নিয়ন্ত্রণ বর্ণনা করে। আর্কিটেকচার ডকুমেন্টেশন কোনো নির্দিষ্ট মডেলের জন্য সাপোর্ট নিশ্চিত করে না।
  • AMD64 Architecture Programmer's Manual, Volume 2: System Programming · সিস্টেম প্রোগ্রামিং, SVM এবং নেস্টেড অনুবাদ, সংস্করণ 3.46। বর্তমান ডকুমেন্টেশন ভিউয়ারের জন্য JavaScript প্রয়োজন; পুরানো নথি URLগুলি বাতিল করা হতে পারে।

এই নিবন্ধটি কি দরকারী ছিল?

একটি হ্যাঁ বা না-ই যথেষ্ট। আপনি চাইলে একটি কারণ বেছে নিন, বা একটি ছোট মন্তব্য যোগ করুন।

এই নিবন্ধটি কি দরকারী ছিল?