3 ms·
It's a big topic, but in a nutshell: when you can make calls across processes, simply and efficiently, it opens a world of possibilities for interoperation betw
by extension 16y ago
It's a big topic, but in a nutshell: when you can make calls across processes, simply and efficiently, it opens a world of possibilities for interoperation between applications. You can't fake this with sockets, no matter what you layer on top.
Surprisingly, it was the legacy BlackBerry OS that made me realize this. It has seamless IPC too, but only as a side effect of a horrifically insecure and unstable memory model.
- glhaynes 16y agoDo you have any examples or links? I'm sorry, I'm really interested in what you're saying but I'm just having trouble imagining how it would affect my architecture or what I could do with it that I couldn't feasibly do without. Thanks. And, yeah, things were a whole lot easier back before all this silly security and memory protection, weren't they? :)
- extension 16y agoIt takes a bit of imagination, but think about replacing shared libraries, plugins, and socket IPC with services that live in their own process with their own lifecycle and security sandbox, but can still be accessed efficiently. Apps can be built from many such services, and services can be shared between apps. There have been many attempts to build this sort of capability into mainstream operating systems, but none have become popular due to the inescapable complexity of IPC. A recent example is D-Bus, which is supposed to be "lite" yet still involves XML interface descriptions and serialization. It's enough of a hassle to implement that nobody bothers, unless it's the only option or they are evangelizing the technology. QNX is built from the ground up to do everything this way. If it makes IPC easy enough, it could bring this type of software architecture to critical mass. I realize this is still pretty vague, but I can't think of a specific example at the moment. If you're interested, read up on QNX, or Coyotos, which is a more experimental OS that is based fundamentally on IPC.
- glhaynes 16y agoThanks very much for the reply. Yeah, that's interesting. I wonder how much Blackberry's new OS will leverage that, especially since they seem to be targeting the ability to write apps that run on OS 6 and the new Tablet OS. I suppose that's probably more at the UI level whereas services that can be cleanly separated could still perhaps use a separate service model on the QNX based OSes. And of course there could be some interesting implications for the OS' ability to manage these granular processes for maximizing battery life/etc.