[TUHS] Memory management in Dennis Ritchie's C Compiler

Arthur Krewat krewat at kilonet.net
Tue Aug 18 08:05:09 AEST 2020


On 8/17/2020 3:50 PM, Paul Winalski wrote:
> VAX/VMS had the equivalent of mmap(2) back in 1978.  You can specify a
> range of contiguous pages in virtual memory and associate that with a
> (page-aligned) range of blocks in a file.  The blocks in the file act
> as backing store for the virtual memory.
I, and my boss, took advantage of that while converting his database 
software from TOPS-10 to VMS.

His TOPS-10 implementation used various ways to optimize I/O from/to 
disk. On VMS, our benchmarks showed that as long as we understood the 
paging size, performance was about the same. RP06 vs. I think something 
bigger. Maybe RP07. But even still, it proved the operating system 
virtual memory system was up to the task.

I seem to remember there was a way to sync a page after you wrote it 
just to make sure it was committed to disk. It worked so well that I 
also seem to recall that we used some of that file space as heap.

art k.



More information about the TUHS mailing list