Path: utzoo!utgpu!water!watmath!orchid!kgschlueter From: kgschlueter@orchid.waterloo.edu (Kevin Schlueter) Newsgroups: comp.sys.amiga.tech Subject: Re: An alternative IPC system Message-ID: <12390@orchid.waterloo.edu> Date: 24 Apr 88 04:34:41 GMT References: <2783@crash.cts.com> <12379@orchid.waterloo.edu> <1833@sugar.UUCP> <12388@orchid.waterloo.edu> <9132@agate.BERKELEY.EDU> Reply-To: kgschlueter@orchid.waterloo.edu (Kevin Schlueter) Organization: U. of Waterloo, Ontario Lines: 43 In article <9132@agate.BERKELEY.EDU> pete@violet.berkeley.edu.UUCP (Pete Goodeve) writes: > >There have been a couple of postings recently advocating Cheriton et al's >"V kernel" as a basis for our IPC standard <12379@orchid.waterloo.edu> ><1135@sbcs.sunysb.edu> <12388@orchid.waterloo.edu>. > >Much as I admire the "V" system, its origin and rationale are quite >different from the environment that we expect to be working in, so the >protocols and primitives it uses aren't appropriate for us. A distributed >environment has very different constraints from the multi-process/common- >memory box we have in front of us now. It is terribly important to plan ahead for the future when designing standards. Add a network card to the Amiga and you've got all the hardware you need for a distributed system. Add an MMU to a machine and run each process in its own address space and you've got the analogue of a distributed system, at least as far as message passing primitives are concerned (ie shared memory is potentially no longer available). I don't think the either of the above two scenarios are that far off for the Amiga. Hence, failure to take them into account would needlessly cripple IPC. There is no doubt that message copying is less efficient than the current scheme of passing messages by reference (well, you know what I mean!). Fine. Use EXEC primitives to communicate between the tasks (or processes) that make up ONE PROGRAM. Use IPC to communicate across programs. I think that this gives us the best of both worlds. Granted, it makes no sense for some services to be provided by a remote machine (display of IFF files, for example). Perhaps servers should specify whether their services are available across machines when they register with the name server. However, it will make sense to allow for servers and clients to be on different machines in most cases. This is alot like saying that multitasking is indispensible to someone who has never used multitasking. >> We shouldn't reinvent the wheel if we don't have to. [.....] > Yes, but you don't want to put a tractor wheel on a bike... I think we've really got a tractor with bike wheels. Let's go all the way and push the Amiga back into the leading edge of computing.