Yeah, the big changes in SunOS 4.0 were all around mmap and shared
libraries.
But I did a tiny subset of mmap - for mapping device registers only - in
SunOS 2 (or 3?). But I used the CSRG spec for mmap.
On Sun, Dec 15, 2024 at 12:25 PM Dan Cross <crossd(a)gmail.com> wrote:
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