​I do not remember the BBN share memory code, but the Columbus shared memory and semaphore changes were certainly known in 1978 and 1979.   I remember seeing a man page for them from one of the OYOC types - Phil Karn maybe, but its possible it was tjk.   As quick scan of my paper archives, did not turn anything up; and I do not remember any system at CMU that had the code, only looking at a hard copy of the man pages. 

My memory is that the API changed a little by the time they became the System V API; as I remember thinking that the IPC was "new" when I first saw it in a system that had all three.

On Wed, Feb 1, 2017 at 11:21 AM, Mary Ann Horton <mah@mhorton.net> wrote:
I*'m not sure what you mean by CB3, but these features (shared memory, semaphores, IPC) were added to CB-UNIX (Bell Labs, Columbus) precisely because they were needed in real time telco systems and not preset in the versions from New Jersey.  This would have been in the early 1980s.  When I got there in 1981 I think CB-UNIX was already well established and had these features.  (These would show up, ironically, in /usr/ucb, which did not stand for Berkeley.)

    Mary Ann



On 02/01/2017 06:18 AM, Paul Ruizendaal wrote:
The presence of some sort of shared memory facility in the
BBN V6 Unix kernel got me thinking about the origins of
shared memory on Unix.

I had a vague recollection that primordial versions were present
in either PWB or CB3, but a quick glance at the source indicates
that this is not correct.

What are the origins of shared memory on Unix, i.e. what came
before mmap() and SysV IPC? Was the BBN kernel the first to
implement such a facility on Unix?

Paul