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