<p>I'm looking for suggestions on possible IPC mechanisms that I can implement in my self-made OS for an AVR32 board. </p>

<p>My current choice is implementing the massage passing mechanism described in the books written by Tanenbaum. </p>

<p>Is this a good choice? Are there easier way to implement IPC?</p>

<p>Thanks </p>

My suggestion is to review the message passing primitives that QNX RTOS (www.qnx.com) supports before making any decisions.  I spent several years programming a complex multi-process system in that environment, and it stands out as the best message-based O/S I have ever encountered.
Some specific points that spring to mind (it's been a while now):
Message data copied between process memory space by the kernel so that a bug in one process cannot affect another.
Ability to send and block for a reply.
Ability to drop a message on a queue and move on immediately.
Ability to send a message an block indefinitely until the receiver responds; the receiver may receive and process other messages in the meantime - this is way more valuable than you at first think it will be.