From: Ersek, Laszlo on
On Thu, 8 Apr 2010, Rainer Weikusat wrote:

> doors are not 'a higher level of abstraction than IPC' because the very
> idea behind them is to hide the IPC-part away

I'm certainly quoting out of context, but a higher level abstraction is
usually there so you can, in exchange for less flexibility, use some
feature in a more straightforward way. Sometimes you do not wish to care
about all those flexible knobs and switches. Cf. "write()" to a regular
file vs. "outsb()" to a disk controller or some such. Trading some
expressive power for ease of use is not *indiscriminately* wrong.

.... I kind of see my point vindicated by the other thread about meddling,
from user code, with the OS' affairs of scheduling and with the CPU's
affairs of caching. (No flamebait intended.)

lacos
From: Rainer Weikusat on
"Ersek, Laszlo" <lacos(a)caesar.elte.hu> writes:
> On Thu, 8 Apr 2010, Rainer Weikusat wrote:
>> doors are not 'a higher level of abstraction than IPC' because the
>> very idea behind them is to hide the IPC-part away
>
> I'm certainly quoting out of context, but a higher level abstraction
> is usually there so you can, in exchange for less flexibility, use
> some feature in a more straightforward way.

If anything, RPC (including LPC) resides at a lower level of
abstraction than IPC because it [conceptually] ties parts of the
implementations of different processes together: The basic idea is no
longer that independently acting entities cooperate by exchanging
messages in some abstract format (conforming to some abstract
protocol) but that a xPC client process takes control of a xPC server
process and forces that to execute a specific procedure/ subroutine
(/function): Conceptually, the xPC server is just a subroutine
library with a 'weird' interface.
From: Bill Cunningham on

"Barry Margolin" <barmar(a)alum.mit.edu> wrote in message news:barmar-
[snip]

> I think there's some mention of them in the book, because they use the
> same API, but 90% of it is about network programming.

I guess I am going to need PF_INET and AF_INET. the AF is for passing
data to struct types members. I am going to have to use pointers and ** and
struct types it looks like. But I don't do typedefs, +=, ?: or pointers
unless I have too. I'll be having fun when I get the book.

--
"Using USENET means you have too much time on your hands."


From: Ian Collins on
On 04/ 9/10 07:38 AM, Rainer Weikusat wrote:
> "Ersek, Laszlo"<lacos(a)caesar.elte.hu> writes:
>> On Thu, 8 Apr 2010, Rainer Weikusat wrote:
>>> doors are not 'a higher level of abstraction than IPC' because the
>>> very idea behind them is to hide the IPC-part away
>>
>> I'm certainly quoting out of context, but a higher level abstraction
>> is usually there so you can, in exchange for less flexibility, use
>> some feature in a more straightforward way.
>
> If anything, RPC (including LPC) resides at a lower level of
> abstraction than IPC because it [conceptually] ties parts of the
> implementations of different processes together: The basic idea is no
> longer that independently acting entities cooperate by exchanging
> messages in some abstract format (conforming to some abstract
> protocol) but that a xPC client process takes control of a xPC server
> process and forces that to execute a specific procedure/ subroutine
> (/function): Conceptually, the xPC server is just a subroutine
> library with a 'weird' interface.

So it's a specialisation, you're right. But it is a higher layer.

Can you cite an example where "independently acting entities cooperate
by exchanging messages in some abstract format"? All practical IPC
involves one process asking another to do some work. There's very
little difference between a process that creates a socket then spawns a
thread to wait on that socket and a process that creates a door (which
spawns a thread which waits on a call). One difference is when creating
a door, the kernel manages the threads, which simplifies (and reduces
the chance of bugs in) the design.

I agree that this specialised, or higher layer approach requires less
specialised knowledge to use. But I don't agree that they are only
applicable to those who don't understand the fundamentals of IPC. I
understand (and used to work in!) machine code, but I choose not to use it.

I'm curios where the gulf in communication here originates, which is
amusing considering the topic!

--
Ian Collins