Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
NX bit
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== x86 === [[x86]] processors, since the [[80286]], included a similar capability implemented at the [[memory segment|segment]] level. However, almost all operating systems for the [[80386]] and later x86 processors implement the [[flat memory model]], so they cannot use this capability. There was no "Executable" flag in the page table entry (page descriptor) in those processors, until, to make this capability available to operating systems using the flat memory model, AMD added a "no-execute" or NX bit to the page table entry in its [[AMD64]] architecture, providing a mechanism that can control execution per [[page (computer memory)|page]] rather than per whole segment. Intel implemented a similar feature in its [[Itanium]] (''Merced'') processor—having [[IA-64]] architecture—in 2001, but did not bring it to the more popular x86 processor families ([[Pentium]], [[Celeron]], [[Xeon]], etc.). In the x86 architecture it was first implemented by AMD, as the ''NX bit'', for use by its [[AMD64]] line of processors, such as the [[Athlon 64]] and [[Opteron]].<ref name="SimpsonNovak2017">{{cite book|author1=Ted Simpson|author2=Jason Novak|title=Hands on Virtual Computing|url=https://books.google.com/books?id=CZZXDgAAQBAJ&pg=PA8|date=24 May 2017|publisher=Cengage Learning|isbn=978-1-337-10193-6|pages=8β9}}</ref> After AMD's decision to include this functionality in its AMD64 instruction set, Intel implemented the similar XD bit feature in x86 processors beginning with the [[Pentium 4]] processors based on later iterations of the Prescott core.<ref>{{cite web | url = http://h10032.www1.hp.com/ctg/Manual/c00387685.pdf | title = Data Execution Prevention | year = 2005 | access-date = 2014-03-23 | publisher = Hewlett Packard }}</ref> The NX bit specifically refers to bit number 63 (i.e. the most significant bit) of a 64-bit entry in the [[page table]]. If this bit is set to 0, then code can be executed from that page; if set to 1, code cannot be executed from that page, and anything residing there is assumed to be data. It is only available with the long mode (64-bit mode) or legacy [[Physical Address Extension]] (PAE) page-table formats, but not x86's original 32-bit page table format because page table entries in that format lack the 64th bit used to disable and enable execution. Windows XP SP2 and later support [[Data Execution Prevention]] (DEP).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)