The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: fair-tuhs@netbsd.org (Erik E. Fair)
Subject: [TUHS] Unix & Memory Management Units (MMU)
Date: Wed, 07 Dec 2016 08:46:38 -0800	[thread overview]
Message-ID: <12385.1481129198@cesium.clock.org> (raw)

Which version of Unix first ran on a computer with virtual addressing (address translation) so that a process with non-position independent code (PIC) can be loaded anywhere in RAM that the kernel decided to put it, and memory protection such that no process could accidentally or deliberately access RAM not allocated to it by the kernel (or a SIGSEGV would be delivered to it)?

Put another way, when did Unix processes stop playing Core War with each other? (OK, so long as no more than one is resident at a time, they can't play Core War with each other, but there still needs to be a mechanism to protect the kernel from inadvertent (or advertent) pointer use).

Which is to say, when did Unix run on (and properly use) computers with memory management units (MMU)?

My guess from a quick look at the history of the DEC PDP-11 is that the target computer was likely a PDP-11/35 or PDP-11/40 with a KT11-D "memory management" module.

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.

What year did that come about?

By the time I got to Unix (2.8BSD on the Cory Hall DEC PDP-11/70), those features (virtual addresses, memory protection from the kernel) had apparently been part of Unix for a long time - certainly earlier than Version 6.

This is distinct from demand-paged virtual memory which so far as I know was developed on the DEC VAX-11.

	curious,

	Erik <fair at netbsd.org>


             reply	other threads:[~2016-12-07 16:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-07 16:46 Erik E. Fair [this message]
2016-12-07 17:31 ` Diomidis Spinellis
2016-12-07 18:49 ` Clem Cole
2016-12-07 17:10 Noel Chiappa
2016-12-07 17:51 Noel Chiappa
2016-12-07 20:12 Noel Chiappa
2016-12-07 21:00 ` Earl Baugh
2016-12-08 10:39   ` Joerg Schilling
2016-12-08  8:50 ` Paul Ruizendaal
     [not found] <mailman.13.1481217534.3779.tuhs@minnie.tuhs.org>
2016-12-08 18:11 ` Johnny Billquist
2016-12-08 19:24   ` Paul Ruizendaal
2016-12-08 19:32     ` Lars Brinkhoff
2016-12-08 19:44 Paul Ruizendaal
2016-12-08 20:38 Noel Chiappa
2016-12-08 22:39 ` Paul Ruizendaal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12385.1481129198@cesium.clock.org \
    --to=fair-tuhs@netbsd.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).