The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Paul Ruizendaal <pnr@planet.nl>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] Paging code in SysV R2
Date: Tue, 29 Mar 2022 10:05:26 -0400	[thread overview]
Message-ID: <CAC20D2OAJPs6_K9BEYDttFrY66ULtTX-BL3PyNvQ7jFQqqapHA@mail.gmail.com> (raw)
In-Reply-To: <DE7DACF9-6EEA-4A9B-A72C-64EC557BDD20@planet.nl>

[-- Attachment #1: Type: text/plain, Size: 2637 bytes --]

Fascinating - thank you.

Have you figured out that path from here to the SVR4 code base that was
used for the x86 [which I think also went through a few more generations
after the SVR4 release]?

Clem

On Tue, Mar 29, 2022 at 7:22 AM Paul Ruizendaal via TUHS <
tuhs@minnie.tuhs.org> wrote:

>
> I did not have a lot of time to work on documenting the evolution of
> paging / virtual memory code in 32V, Sys III and early SysV in the past
> months, but I did get some more background information that seems worth
> sharing.
>
> My understanding of the virtual memory story at USG is now as follows:
>
> Somewhere in 1981/82 a project plan for Unix 5 / System V was made and
> evolving John Reiser’s virtual memory code for 32V-r3 was part of that
> plan. “Evolving” in this context meant making it more maintainable and more
> hardware independent. John’s code assumed a memory page, a disk block and a
> file block all to be the same size, and it needed to be more general. It
> was also designed around the VAX MMU and this too needed to be generalised.
> The person assigned to that job was Bob (Robert) Baron, reporting to Tom
> Raleigh. The project involved quite a bit of re-architecting and progress
> was slowish. On top of that Bob left for CMU to work on Mach. Tom Raleigh
> tried to pick up where Bob had left off, but progress remained slowish.
>
> In parallel, Keith Kelleman and Steve Burroff were working on Unix for the
> 3B20 Unix. They did paging code from scratch around the 3B20 MMU (which
> used a more or less ‘modern’ page table design) and developed their idea
> for the “regions” abstraction to support large, non-contiguous address
> spaces. It seems that they built on the main working set ideas/concepts in
> the Reiser/Baron/Raleigh code base, combined these with their “regions”
> idea, made it multi-processor capable and made it all work on the 3B20.
> Around that time Tom Raleigh seems to have transferred to Bellcore, and the
> VAX code base got orphaned.
>
> Two young engineers appear to have picked up the work on the VAX code
> base: Dean Jagels and Jim McCormick. My understanding is that they
> essentially back ported the 3B20 work to the VAX, falling back on the
> Reiser/Baron/Raleigh work where necessary. They got it working, and as far
> as I can tell, this is what got released in 1984 as part of SysV R2.4 for
> the VAX (the oldest surviving source code for this that I could find).
>
> This somewhat tortuous birth may in part explain why Research chose to use
> the 4BSD virtual memory code for 8th edition.
>
>
>

[-- Attachment #2: Type: text/html, Size: 3312 bytes --]

  parent reply	other threads:[~2022-03-29 14:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-29 11:21 Paul Ruizendaal via TUHS
2022-03-29 12:38 ` Rob Pike
2022-03-29 14:05 ` Clem Cole [this message]
2022-03-29 15:24   ` Paul Ruizendaal
2022-03-29 15:57     ` Dan Cross
2022-03-29 16:01     ` Larry McVoy

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=CAC20D2OAJPs6_K9BEYDttFrY66ULtTX-BL3PyNvQ7jFQqqapHA@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@minnie.tuhs.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).