Monthly Archives: November 2014

IPCs don’t make good APIs

In embedded systems, we tend to use a lot of threads. Not for computational efficiency, but for coping with a complex environment. They are useful for interacting with the parallel operating HW parts, different external parties (incl. user) we are communicating with etc.

To coordinate our multiple threads, we need to use a good deal of IPCs [1]Inter-process communication, I’ll use this term to refer to all kinds of synchronization primitives in this post, whether inter-process or intra-process., e.g. mutex locks, events, semaphores, shared memory regions.

These IPCs offer tempting division points in our system, and thereby sometimes become the interface between the subsystems. However, in fact they are not well-suited for this purpose for a number of reasons: Continue reading IPCs don’t make good APIs

Footnotes

Footnotes
1 Inter-process communication, I’ll use this term to refer to all kinds of synchronization primitives in this post, whether inter-process or intra-process.

Hello world!

Hi there,

I’m a software architect working on embedded systems, but generally interested in all kinds of software-intensive systems.

Please stay tuned for thoughts and experiences about software architecture practices. And feel free to respond, I’d love to get in touch.

Dogan