[comp.sys.apollo] IPC vs SOCKET

avenger@runx.ips.oz (Troy Rollo ) (04/23/89)

> Are there any comments on the relative merits of working
> with Apollo C socket calls and/or Apollo IPC calls?  Any
> good or horror stories?  Why are both supported?  Thanks for
> the info.

	I found that the Apollo ipc_$ calls were easier to manage. The
BSD socket calls require a lot of mucking about with protocols, and if
you are a mortal user working with the network you really need to convince
your admin to put a line in /etc/services on each host for you.
	With ipc_$ calls, you don't much about with socket and port numbers,
just socket handles and file names. I named my sockets for receiving as
//node/sys/node_data/tmp/sock_name, where node is the destination node if
I knew which node I was sending to, or was a known node which everybody used
for this purpose if I didn't (the file server).
	The help files for ipc_$ calls say that messages are not guaranteed
to arrive in order, only once or even at all, but I have never seen a message
fail to arrive at all (I have seen them arrive out of order and multiple
times however).
	The disadvantage with ipc_$ calls is that if the data must get to
its destination, and must get there in order and without duplicates, you
have to add your own protocol, but a simple ack/nak with block numbers
as per TFTP should do the job.

	----------------------------------------------------------------
Internet: avenger@runx.ips.oz.au
UUCP: uunet!runx.ips.oz.au!avenger

Watch out for gobbledocks -
They'll steal all your silicon Chippies

joshua@athertn.Atherton.COM (Flame Bait) (04/26/89)

Someone (at falcon.engin.umich.edu?) wrote:
>> Are there any comments on the relative merits of working
>> with Apollo C socket calls and/or Apollo IPC calls?  Any
>> good or horror stories?  Why are both supported?  Thanks for
>> the info.

To which avenger@runx.ips.oz (Troy Rollo ) wrote:
[ A few well written paragraphs on why the Apollo stuff is better than 
  sockets.]

I just finished writing some IPC code.  It took me a half day to write
and a half day to test.  I used neither sockets nor the Apollo stuff,
but rather UNIX's msgget, msgsnd, msgrcv, and mscgcnt routines.  They
were exactly what I wanted, and very easy to use.  (I do not use Apollos
anymore, so I do not know if these routines are part of SR 10.  I'm just
assuming that since SR 10 is real UNIX, that it includes these routines.
There is book called "Advanced UNIX Programming" by Marc J. Rochkind 
(Prentice-Hall Software series) which explans how all this works.)

The msg* routines send messages from process to process.  There are also
shm* routines to handle shared memory, and sem* routines to handle semifors
(sp?).

Joshua Levy
--------                Quote: "If you haven't ported your program, it's not
Addresses:                      a portable program.  No exceptions."  
joshua@atherton.com OR         
sun!athertn!joshua  OR                 
{backbone}!{decwrl!hpda}!athertn!joshua  work:(408)734-9822 home:(415)968-3718

GBOPOLY1@NUSVM.BITNET (fclim) (05/16/89)

Hi,
    In article <433d2c3d.10b48@apollo.COM> weber_w%apollo%ulowell%mailrus.uucp
@tut.cis.ohio-state.edu  (Walt Weber) writes

>In article <8905150141.AA08887@umix.cc.umich.edu> GBOPOLY1@NUSVM.BITNET(fclim)
> writes:
>>The book by Maurice Bach, "Design of the Unix Operating System", is a
>>good place to look into these system calls.
>
>We (software support) have given Marc Rochkind's book as a reference, since
>it covers SysV FIFO's, semaphores, queues, and shared memory, which many other
>books do not address. For your convenience, here's the info you need to order:
>"Advanced UNIX Programming", by Marc J. Rochkind ; Prentice-Hall, paperback
>ISBN is 0-13-011800-1.

Rochkind's book is excellent.  It's next to Kernighan & Pike's "The Unix
Programming Environment" on my bookshelf.
However, I must disagree; Bach's book covers all those stuff that Walt says
other books don't address in *addition* to BSD Sockets.  Furthermore,
Bach's book was published after Rochkind's; and it goes deeper into UNIX's
internals than does "Advanced Unix Programming".

Both books address mostly SysV stuff and very little on BSD4.x.  I heard
on the grapevine that John Quarterman (?) is coming out with a book on
the internal of BSD UNIX.  Has anybody any info on this?

fclim          --- gbopoly1 % nusvm.bitnet @ cunyvm.cuny.edu
computer centre
singapore polytechnic
dover road
singapore 0513.

ced@apollo.COM (Carl Davidson) (05/16/89)

From article <8905160332.AA25183@umix.cc.umich.edu>, by GBOPOLY1@NUSVM.BITNET (fclim):
> 
> I heard
> on the grapevine that John Quarterman (?) is coming out with a book on
> the internal of BSD UNIX.  Has anybody any info on this?
> 

I believe the book you have in mind is "The Design and Implementation of
the 4.3BSD UNIX Operating System", by Leffler, McKusick, Karels, and
Quarterman, c1989, Addison-Wesley, ISBN 0-201-06196-1.

-- 
  Carl Davidson            "A strange game.
  Apollo Computer Inc.      The only winning move is not to play.
  Chelmsford, MA 01824      How about a nice game of chess?"           
  ced@apollo.com