1. [الويكي](https://feex.it/wiki/)
2. [العتاد](https://feex.it/wiki/hardware/)
3. [الأنظمة والمعمارية](https://feex.it/wiki/hardware/system/)
4. تعطيل التنفيذ (NX)

# تعطيل التنفيذ (NX)

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

تتيح ميزة Execute Disable، والتي تُسمى أيضًا NX أو XD في مصطلحات x86، لجداول الصفحات وضع علامة على الذاكرة تفيد بأنها غير قابلة للتنفيذ. وهي لبنة بناء عتادية تُستخدم بواسطة سياسات حماية التنفيذ في نظام التشغيل.

## ما تحتاج إلى معرفته

تتيح ميزة Execute Disable، والتي تُسمى أيضًا NX أو XD في مصطلحات x86، لجداول الصفحات وضع علامة على الذاكرة تفيد بأنها غير قابلة للتنفيذ. وهي لبنة بناء عتادية تُستخدم بواسطة سياسات حماية التنفيذ في نظام التشغيل.

## كيف يعمل

عند تمكينها في بيئة تقسيم الصفحات المعنية، فإن جلب التعليمات من صفحة محددة بأنها غير قابلة للتنفيذ يؤدي إلى حدوث خطأ (fault) بدلاً من تنفيذ وحدات البايت الخاصة بها. وتفصل أذونات الصفحات بين التنفيذ والوصول إلى البيانات؛ ويكون البرنامج مسؤولاً عن تعيين الأذونات المناسبة ومعالجة عمليات الانتقال للتعليمات البرمجية المولدة المشروعة.

## مواضع فائدتها

يمكن لنظام التشغيل تعيين مخزن مؤقت للبيانات دون إذن تنفيذ، بحيث لا تؤدي كتابة بايتات لغة الآلة في هذا المخزن إلى جعله صفحة تعليمات برمجية قابلة للتنفيذ. وتستخدم بيئات تشغيل JIT واجهات برمجة تطبيقات موثقة لإدارة الذاكرة وسياسات أذونات مخصصة للتعليمات البرمجية المولدة.

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

تُعدد البت 20 في CPUID.80000001H:EDX إمكانية تعطيل التنفيذ لبنية x86 بموجب تعريف المورد المعني. ويعتمد التنفيذ الفعلي أيضًا على وضع تقسيم الصفحات وتمكين نظام التشغيل. افحص حالة الحماية الموثقة لنظام التشغيل بدلاً من استنتاجها من طراز وحدة المعالجة المركزية.

يجب التحقق من القدرة والتمكين وفرض السياسة كل على حدة. يمكن للمعالج أن يدعم حماية معينة بينما لا يفعّلها نظام التشغيل أو التطبيق أو سياسة الآلة الافتراضية. ولا يُعد حقل الدعم في قاعدة البيانات إثباتًا على حالة نظام قيد التشغيل.

## ما لا تثبته هذه الميزة

لا تثبت NX أن الملف القابل للتنفيذ آمن، ولا تمنع كل هجمات إعادة استخدام التعليمات البرمجية، ولا تثبت أهلية تشغيل نظام Windows. وتظل البيانات قابلة للقراءة أو الكتابة وفقًا لأذونات منفصلة. ولا تعني راية الميزة أن كل تعيين للذاكرة يتبع سياسة كتابة/تنفيذ صارمة.

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

حافظ على تحديث نظام التشغيل والبرامج الثابتة وبيئة التشغيل المعنية. وإذا تسببت إحدى ميزات الحماية في مشكلة توافق، فاستخدم أولاً أدوات تشخيص الشركة المصنعة وتحديثاتها المدعومة. إن التبديل الشامل للحماية يمكن أن يؤثر على تطبيقات غير معنية، ويجب أن يتبع سياسة نشر واسترداد واضحة.

## قائمة عملية للتحقق

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

## إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها

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

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

## الميزات ذات الصلة والفروق المفيدة

[OS Guard وSMEP](https://feex.it/wiki/l/ar/hardware/system/os-guard/) · [SMAP](https://feex.it/wiki/l/ar/hardware/system/smap/) · [Control-flow Enforcement (CET)](https://feex.it/wiki/l/ar/hardware/system/cet/)

## مصادر ونطاق هذا التوضيح

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

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

## ذات صلة

ترتبط هذه الكيانات بهذه المقالة. يتم عرض النوع في كل رابط.

[OS Guard وSMEP: مرجع المعمارية](https://feex.it/wiki/l/ar/hardware/system/os-guard/)[SMAP: مرجع المعمارية](https://feex.it/wiki/l/ar/hardware/system/smap/)[Control-flow Enforcement (CET): مرجع المعمارية](https://feex.it/wiki/l/ar/hardware/system/cet/)

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

الملكية التحريرية: 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 عناصر التحكم في الحالة والترقيم الصفحي وVMX والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.

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

يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.

حقائق سريعة

الهوية المختصرة لهذه الصفحة. تظل المواصفات والمصادر والقصة الكاملة داخل المقالة.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/ar/hardware/system/execute-disable/)

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