Date: Thu, 17 Sep 2015 13:29:34 -0400
From: toby at telegraphics.com.au
To: General at
classiccmp.org; classiccmp.org:On-Topic and Off-Topic Posts cctalk at
classiccmp.org; General at
classiccmp.org
Subject: Immutability - was Re: ENIAC programming Was: release dates of early
microcomputer operating systems, incl. Intel ISIS
On 2015-09-17 12:44 PM, Jon Elson wrote:
From:
Dave Wade
to me a "computer" without
self-modifying code is a programmable
calculator even if it has index registers...
Most modern computer languages run with the executable instructions in a
"pure code" section, which is set to be NOT writeable by the program.
This avoids a LOT of simple mistakes and REALLY hard to find program
crashes.
This is true of MS, Linux/Unix and the VMS program environment that I
have used for about 40 years. I think you have to go back to maybe
Windows 95 or RT-11 to not have that protection.
Modern languages extend this "protection" further, to the programmer
model, with immutable bindings and data structures, shunning variables
entirely.
--Toby
Jon
If working on a newer X86 processor, this is necessary, not to protect the
code but because the code is cashed and my not be updated in time for
it to be executed.
Write through is expensive and only provided on the data side, if at all.
Dwight