في معمارية x86-64، كيف يمكن لنظام التشغيل ان يحدد اي صفحات لا يمكن ان تحتوي على كود قابل للتنفيذ؟
Context:بيت No-Execute او بيت NX (بيت 63 من مدخل جدول الصفحات) يسمح لنظام التشغيل بتحديد الصفحات من مساحة العناوين الافتراضية التي يمكن ان تحتوي على كود قابل للتنفيذ والتي لا يمكن. محاولة تنفيذ شفرة من صفحة تحمل علامة "لا تنفيذ" ستؤدي إلى انتهاك الوصول إلى الذاكرة، مشابه لمحاولة الكتابة إلى صفحة للقراءة فقط. هذا يجعله اكثر صعوبة للشفرة الخبيثة لتسيطر على النظام عن طريق هجمات "تجاوز المخزن المؤقت" او "خزن المؤقت غير المتحكم فيه". ميزه مشابهه كانت متاحه على معالجات x86 منذ 80286 كسمة من وصفات القطعه; ومع ذلك، هذا يعمل فقط على قطعه كاملة في وقت واحد.
يمكن لنظام التشغيل ان يضع علامة على صفحة من مساحة العناوين الافتراضية مع بت No-Execute او NX، وهو بت 63 من إدخال جدول الصفحة.