Originally Posted by idrougge
Yeah, is there any reason that won't work?
There can be many.
If you pass a message to another app, then any data in your message needs to be in shared memory, which may involve extra data copying, buffer allocation for strings, etc.
Exec itself has many linked lists, in which items can be located anywhere (new tasks, interrupts, etc, can be in memory allocated by any task). But most of it runs in user mode. And programs walking these lists also do. Because it's much faster this way.