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. > > >