1. [الويكي](https://feex.it/wiki/)
2. [هاردوير](https://feex.it/wiki/hardware/)
3. [الانظمة والمعمارية](https://feex.it/wiki/hardware/system/)
4. Mode-Based Execute Control

# Mode-Based Execute Control

مرجع المعمارية: Feex

ميزة Mode-Based Execute Control هي إمكانية في Intel EPT بتسمح للـ hypervisor إنه يفرق بين أذونات تنفيذ التعليمات في الـ user-mode والـ supervisor-mode الخاصة بالـ guest. هي خاصية تحكم في الـ virtualization، ومش تعليمة عادية للتطبيقات.

## اللي محتاج تعرفه

ميزة Mode-Based Execute Control هي إمكانية في Intel EPT بتسمح للـ hypervisor إنه يفرق بين أذونات تنفيذ التعليمات في الـ user-mode والـ supervisor-mode الخاصة بالـ guest. هي خاصية تحكم في الـ virtualization، ومش تعليمة عادية للتطبيقات.

## بيشتغل إزاي

مع تفعيل الـ VM-execution control المناسب، دلالات أذونات الـ EPT بتفرق بين أوضاع تشغيل الـ guest. ده بيخلي الـ hypervisor يقدر يطبق سياسات بتتعامل مع تنفيذ كود الـ user والـ kernel بشكل مختلف في مرحلة الترجمة التانية. لازم الـ hypervisor يحدد ويظبط عناصر التحكم دي صح.

## المجالات المفيدة فيها

تصميمات الحماية المعتمدة على الـ virtualization تقدر تستعمل أذونات التنفيذ المتمايزة دي كعنصر أساسي. نظام تشغيل الـ guest وسياسة الـ host بيفضلوا هما اللي بيحددوا إيه اللي بيتحمي وإزاي الأعطال بتتعالج؛ الميزة لوحدها مبتشغلش منتج حماية.

## طريقة فحص الدعم والتمكين

افحص عناصر تحكم إمكانيات VMX الموثقة في الـ SDM وواجهة الإمكانيات/الحالة المدعومة من الـ hypervisor. اتأكد من إعدادات EPT والمنصة بشكل منفصل. لستة ميزات CPUID لتطبيق عادي متقدرش توصف سياسة الـ hypervisor النشطة بالكامل.

النشر الافتراضى فيه طبقات متعددة: الإمكانية المادية، وسماح الـ firmware، والـ hypervisor النشط على المضيف، وإمكانيات الضيف المعروضة، ودعم نظام تشغيل الضيف. افحص الطبقة اللى بتشتغل فيها العملية فعلياً، بما فى ده المحاكاة الافتراضية المتداخلة لو كانت موجودة.

## اللى الميزة مش بتثبته

الميزة دي مش هي نفسها NX أو SMEP، ووجود وصف عام منقول ميثبتش السلوك الدقيق للبديل بتاعه في AMD. كمان مبتثبتش إن الحماية القائمة على الـ virtualization متفعلة أو إن الجهاز مستوفي كل متطلبات ميزة معينة في نظام التشغيل.

## التوافق والأداء فى الممارسة العملية

تنفيذ المعالج، وترجمة ذاكرة الضيف، وإعادة تعيين DMA للأجهزة هى إمكانيات منفصلة. متستنتجش التمرير او العزل من حقل محاكاة افتراضية واحد. استخدم أدوات التشخيص المدعومة فى الـ hypervisor ومتطلبات المنصة/الجهاز الدقيقة.

## قائمة تحقق عملية للتأكد

1. سجل الموديل الدقيق للمعالج او المنصة وإصدارات التطبيق ونظام التشغيل وبيئة التشغيل المشاركة. احتفظ بنص الخطأ او المتطلب الفعلى زى ما هو.
2. راجع مرجع الشركة المصنعة للموديل الدقيق ده، وبعدين افحص الإمكانية الفعلية وحالة التمكين فى البيئة اللى شغال فيها البرنامج.
3. قارن كل متطلب للملف الثنائى (binary) او الواجهة الخلفية (backend) المختارة. وجود ميزة باسم شبه كده او اسم مستعار او تصنيف تقنى عام مش كفاية.
4. اتأكد ان التطبيق اختار التنفيذ المطلوب. استخدم أدوات التشخيص الموثقة والبديل الاحتياطى المدعوم لما المتطلبات متتحققش.
5. اعمل تغيير واحد مدعوم فى المرة الواحدة وكرر نفس عبء العمل. احتفظ بالإعداد الأصلى ومسار الاسترجاع متاحين.

## لو الميزة مدرجة بس البرمجيات مش قادرة تستخدمها

ابدأ بالمكون اللى فشل بالتحديد. قاعدة بيانات العتاد بتوصف الإمكانية المسجلة؛ لكن نظام التشغيل او الـ hypervisor ممكن يعرضوا بيئة فعلية تانية. خطأ التعليمة غير الصالحة (illegal-instruction) بيحتاج برضه فحص للتعليمة الفعلية اللى سببت العطل والنسخة المبنية من الثنائى، علشان التلف او وجود تعليمة تانية غير مدعومة ممكن ينتج عنهم نفس العرض.

ثبت إصدار التطبيق او برنامج التشغيل او بيئة التشغيل المدعومة للمنصة بالتحديد، واستخدم بنية الأساس (baseline) او البنية الاحتياطية الموثقة من الشركة المصنعة لو لزم الأمر. تحديث البرامج مش هيخلق تعليمة المعالج نفسه بيفتقدها. تغييرات الـ Firmware وسياسات الأمان لازم تتبع إجراءات الشركة المصنعة للنظام وخطة استرجاع بدل اتباع وصفة تحسين عامة.

## ميزات مرتبطة واختلافات مفيدة

[Extended Page Tables (EPT)](https://feex.it/wiki/l/arz/hardware/system/ept/) · [VT-x](https://feex.it/wiki/l/arz/hardware/system/vt-x/) · [Execute Disable (NX)](https://feex.it/wiki/l/arz/hardware/system/execute-disable/) · [OS Guard وSMEP](https://feex.it/wiki/l/arz/hardware/system/os-guard/)

## المصادر ونطاق الشرح ده

[Intel 64 and IA-32 Architectures Software Developer's Manual](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)

المراجع دى بتحدد السلوك المعمارى ومتطلبات البرمجيات. هى مش بتتحقق بشكل مستقل من كل قيمة ميزة فى صفحة موديل العتاد المربوطة. لدعم الموديل، استخدم أدلة الشركة المصنعة فى الصفحة دى وافحص إعدادات النظام الفعلية. المقال ده مش بيقدم تقييم أداء، او شهادة اعتماد، او تاريخ مراجعة مستقلة.

## ذات صلة

العناصر دي مرتبطة بالمقالة دي. النوع موضح على كل رابط.

[Extended Page Tables (EPT): مرجع المعمارية](https://feex.it/wiki/l/arz/hardware/system/ept/)[VT-x: مرجع المعمارية](https://feex.it/wiki/l/arz/hardware/system/vt-x/)[Execute Disable (NX): مرجع المعمارية](https://feex.it/wiki/l/arz/hardware/system/execute-disable/)[OS Guard وSMEP: مرجع المعمارية](https://feex.it/wiki/l/arz/hardware/system/os-guard/)

## المصادر والتحقق

حقوق التحرير: Feex. مفيش تاريخ مراجعة مستقل متسجل. [إزاي بنعمل أبحاثنا](https://feex.it/wiki/research/).

- [Intel 64 and IA-32 Architectures Software Developer's Manual ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· المجلدان 1 و 2 بيوصفوا عائلات التعليمات المحددة و CPUID؛ المجلد 3 بيوصف الحالة، وتقسيم الذاكرة (paging)، و VMX، وضوابط الحماية. وثائق المعمارية مش بتثبت الدعم لموديل معين.

## هل المقالة دي كانت مفيدة؟

مجرد نعم أو لأ كفاية. اختار سبب لو تحب، أو اكتب ملاحظة سريعة.

حقائق سريعة

نبذة تعريفية سريعة عن الصفحة دي. المواصفات، والمصادر، والتفاصيل الكاملة موجودة في المقالة.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/arz/hardware/system/mode-based-execute-control/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
