The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Paul Ruizendaal via TUHS <tuhs@minnie.tuhs.org>
To: TUHS main list <tuhs@minnie.tuhs.org>
Subject: [TUHS] Evolution of Unix (demand) paging 1980-1985
Date: Sat, 1 May 2021 12:07:54 +0200	[thread overview]
Message-ID: <61A97237-FBF7-4401-8971-266CE8E4A010@planet.nl> (raw)

As an offshoot of looking more closely at 32V, SysIII and 8th Edition I got interested in how each managed memory.

I’ve not deep-dived into the code yet, but from cursory inspection and searching past posts on this list, I get to the following summary:

- As has been documented widely, 32V essentially retained the V7 swapping architecture, merely increasing the maximum process size a bit versus the PDP-11 version.

- SysIII appears to have retained this, just cleaning up the source code a bit. I assume that all the V7/SysIII derivatives of the early 80’s were swapping systems.

- John Reiser further developed 32V memory management into a (reportedly elegant) demand paging system in 1980-1981, but this code appears lost.

- 3BSD/4BSD/4.1BSD developed 32V memory management into a full demand paging setup as well. This code base was dominant in the 1980-1985 era.

- 8th Edition pulled in the BSD VM code and is essentially identical to that in 4.1BSD. This choice was made because it was not a research interest and using a maintained code base freed up scarce time.

- SysV R1 appears to have retained the SysIII memory system.

- SysV R2 (floating about on the net, eg. here https://github.com/ryanwoodsmall/oldsysv) seems to have used a new implementation.


Questions:

Is that about correct, or am I missing major elements?

Several places mention that there was also a setup that was still swapping in nature, but did not require allocations in core to be contiguous (“scatter paging”). Did this get used much in the era?

At first glance, the SysV R2 code seems shorter and cleaner than the early BSD code (~2000 vs. ~3000 sloc). Is this implementation perhaps a derivative of John Reiser’s work?

             reply	other threads:[~2021-05-01 10:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01 10:07 Paul Ruizendaal via TUHS [this message]
2021-05-01 14:42 ` Clem Cole
2021-05-02 11:47   ` Paul Ruizendaal via TUHS

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=61A97237-FBF7-4401-8971-266CE8E4A010@planet.nl \
    --to=tuhs@minnie.tuhs.org \
    --cc=pnr@planet.nl \
    /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).