On Sun, Dec 15, 2024 at 2:12 PM Luther Johnson
<luther.johnson(a)makerlisp.com> wrote:
I don't know where mmap showed up in vanilla BSD
distributions, but it
was in SunOS 4.0, I used it.
kern_mman.c shows up in 4.1c, but is behind an #ifdef; I gather it
wasn't fully implemented. It was described in 4.2, as mentioned, but
wasn't "fully functional" until Net/2 (according to mmap(2), anyway).
Sun's version was an independent implementation.
As mentioned by Chet, the interface is modeled after the PMAP call on
TENEX/TOPS-20. The virtual memory system on TENEX, in turn, was at
least partially influenced by Multics, so there is some Multics
intellectual DNA (perhaps mutated :-)) in mmap(), though it's
indirect.
- Dan C.
To the other points, the Multics
"one-level-store" idea was very powerful, and was an important influence
in Apollo Domain/OS, and it was probably there in Prime Computer's OS too.
On 12/15/2024 12:02 PM, Chet Ramey via TUHS wrote:
On 12/15/24 4:43 AM, G. Branden Robinson wrote:
At 2024-12-15T07:22:29+0000, Lars Brinkhoff
wrote:
Maybe I would, in fact, hate using Multics. But
I can't forget that
well after Unix had fledged, its developers at CSRC found it necessary
and/or desirable to borrow back a Multics concept: they named it mmap().
I think it was primarily inspired by TENEX/TOPS-20, and it was the CSRG
who proposed it. The concepts are described in CSRG TR/4 and mmap()
ended up described in the 4.2BSD manual, but not implemented.
I don't think Reiser's VM system at the Labs included mmap(), but I think
it did have something similar. Of course, that never really saw the light
of day.