Is there something I'm missing? What might an ideal IPC API look like to you?
Is there something I'm missing? What might an ideal IPC API look like to you?
Erlang's internal IPC is doing it pretty well since before there was a Linux kernel. I don't know if that approach can be ported into the kernel and how complex they are behind the scenes, but spawn / send / receive are apparently simple concepts.
In Erlang: http://erlang.org/doc/getting_started/conc_prog.html#id68696
In Elixir: http://elixir-lang.org/getting-started/processes.html
Maybe I just don't understand the problem they are out to solve.
I can't answer that because I don't have a PhD related to IPC, and I haven't done the necessary research to fully understand the field. I have looked at how some other systems are doing it, but I know that is not a strong enough knowledge-base to build a good IPC system.
I do have enough understanding to know that when I look at a good IPC api, I will look at it and say, "wow, that's really nice."