On 07/12/2016 18:46, Erik E. Fair wrote:
One imagines that many pointer mistakes (bugs) in
assembly or C were
discovered and squashed in that version, modulo the historical
unhappiness resulting from address zero containing a zero if
dereferenced ("NULL pointers") in process address space.
I remember Jan-Simon Pendry telling me in the 1980s, that the NULL
dereference check was first introduced in SunOS with much pain due to
the resulting crashes. In BSD Unix, which preceded it, the VAX MMU was
setup with a page in virtual address 0 that would contain the value 0 at
that address. (BSD Unix offered memory protection. I assume it had this
setup for backward compatibility.)