[TUHS] Paging code in SysV R2

Clem Cole clemc at ccc.com
Wed Mar 30 00:05:26 AEST 2022


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 at 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.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20220329/73aeb18e/attachment.htm>


More information about the TUHS mailing list