首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


NX位元

维库,知识与思想的自由文库

跳转到: 导航, 搜索

NX,全名為“No eXecute”,即「禁止執行」,是應用在CPU的一種技術,用作把記憶體區域分隔為只供儲存處理器指令集,或只供數據使用。任何使用NX技術的記憶體,代表僅供數據使用,因此處理器的指令集並不能在這些區域儲存。這種技術可防止大多數的緩衝滿溢攻擊,即一些惡意程式,把自身的惡意指令集放在其他程式的數據儲存區並執行,從而把整台電腦控制。

[编辑] 背景

類似的技術其實早已應用在SPARCDEC AlphaIBMPowerPC、甚至是英特爾IA-64架構處理器Itanium上,但NX這個名稱最先在AMDAthlon 64Opteron等支援AMD64的處理器上使用,並成為這些技術的代名詞。

x86處理器的頁表索引中,NX位元置於63號的位置(以0作第一位),即64位中的最後一位,如果NX位元的數值是0(關閉),在頁表內的指令集可正常執行,但如果是1(啟動)的話則不能執行頁表的指令集,並會把頁表的一切皆當作數據。在格式上,頁表需為PAE格式,而非x86傳統的格式。

2001年,英特爾在自家的Itanium處理器加入這種技術,但未有在Pentium、Celeron、Xeon等x86處理器上使用。在AMD把NX應用在AMD64之後,英特爾也為Prescott版本的Pentium 4處理器加入類似技術,並以“XD”(eXecute Disable)的名義推出市場。在功能上,AMD的“NX”和Intel的“XD”完全相同,只是名稱不同。

其它语言
AD Links