[TUHS] Harvard and Von Neumann Architectures and Unix

Paul Winalski paul.winalski at gmail.com
Wed Nov 29 05:45:19 AEST 2017


On 27 Nov 2017, at 16:11, Noel Chiappa <jnc at mercury.lcs.mit.edu> wrote:
>
> Along those lines, I was wondering about modern OS's, which I gather for
> security reasons prevent execution of data, and prevent writing to code.

They do by default, at least, in that modern linkers create executable
images where the executable program segments are read-only and
read/write segments (including the stack) are not executable.  But
modern OSes have system services for changing page protection, so an
application such as an interpreter or JIT can compose code and then
change the page protection to make it executable.

-Paul W.


More information about the TUHS mailing list