From mboxrd@z Thu Jan 1 00:00:00 1970 From: dot at dotat.at (Tony Finch) Date: Wed, 19 Aug 2020 00:48:16 +0100 Subject: [COFF] [TUHS] Memory management in Dennis Ritchie's C Compiler In-Reply-To: References: <20200817192715.22D9518C09E@mercury.lcs.mit.edu> <20200817193050.GC11413@mcvoy.com> Message-ID: --> COFF Paul Winalski wrote: mmap() / $CRETVA > The VMS image activator (runtime loader in Unix-speak) used these > primitives to load program images into virtual memory. More than one > process can map the same region of a file. This is how sharing of > read-only program segments such as .text is implemented. > > I think Burroughs OSes had this concept even before VMS. Did MULTICS work the same way? The Manchester / Ferranti Atlas had virtual memory in 1962 but I don't know how much they used it for multiprogramming (and by implication shared text segments) - it didn't do timesharing until later, but AIUI virtual memory helped it to have an exceptionally good job throughput for the time. Perhaps their motivation was more to do with having a good shared implementation of overlays and paged IO. https://en.wikipedia.org/wiki/Single-level_store Tony. -- f.anthony.n.finch http://dotat.at/ reject all prejudice and discrimination based upon race, colour, religion, age, disability, gender, or sexual orientation