[net.unix-wizards] Special versions of execl

mdc (04/05/83)

c R&V*[
Are there any known versions of execl that allow children
to share parental d-space?  Our goal is to allow multiple
asynchronous processes to communicate through shared external
variables.  Other, lesser, operating systems seem to be able
to perform this feat -- how about UNIX ?

rbk (04/06/83)

Check out 4.2bsd and Bell System V...  They both allow sharing of
memory space, and don't require common ancestry.  Now all you have
to do is get 4.2 or System V!

					Bob Beck
					Sequel Computer Systems
					...teklabs!ogcvax!sequel!rbk

johnl (04/08/83)

#R:rdin:-26600:ima:20400004:000:561
ima!johnl    Apr  7 12:41:00 1983

	Are there any known versions of execl that allow children
	to share parental d-space?  Our goal is to allow multiple
	asynchronous processes to communicate through shared external
	variables.

System V has provision for shared "named" read/write memory segments.
(I say "named" because the names are 32-bit numbers, making the name
space kind of small.)  It also has counting semaphores and message queues.
What's more, unlike 4.2BSD, it's available right now.

John Levine, decvax!yale-co!jrl, ucbvax!cbosgd!ima!johnl,
{research|alice|rabbit|amd70}!ima!johnl

guy (04/09/83)

Yup, there are two operating systems that support this; they are called
4.2BSD UNIX, and USG UNIX 5.0 (d/b/a "System V").  10,000 other people
have probably also added shared memory primitives to UNIX (along with
multiple-device spoolers, inter-process message mechanisms, etc.), which
indicates that such a thing probably belonged there early on....  As
more and more people use UNIX for applications more sophisticated than
"grep" and "nroff", you will probably find its functionality grow to
encompass stuff that greasier operating systems did years ago.  It's too
bad that to get the relative cleanliness of UNIX you have to sacrifice
a lot of functionality or add on private extensions.

One of the early USENIX distribution tapes had a shared-memory facility
for V6 UNIX; it didn't happen through "exec" (and most of the others don't
either), but by attaching to and detaching from a shared-memory segment.

					Guy Harris
					RLG Corporation
					{seismo,mcnc,we13}!rlgvax!guy