Yes this is what I was referring to.
The
QNX Neutrino Micro Kernel supports symmetric multiprocessor affinity called
bound multiprocessing. It's used to improve cache hitting among other things.
You could install a run time like the javascript virtual machine and even your own drivers into the boot image. Communication with the kernel is done by a process manager.
I think it copies (not sure though as the documentation I read may have meant move) messages from their address space to that of the receiving process, and if receiver is waiting, control of the CPU is transferred over at the same time.
Part of this architecture is why the hub has been so great, it's easier to leverage hardware accelerated features using markup as a user interface, and faster to transfer data as typed arrays over the network.
Android, on BB10, is an embedded machine, rather a virtual machine somewhat like the browsers javascript engine.
Posted via CB10