Process migration mechanisms have been implemented at two different levels:
- As part of the operating system, regardless of whether this is within
the kernel or as a user-level process executing outside a microkernel.
- Embedded in a compiler and runtime system.
Both approaches have benefits and limitations. For example, language based
migration mechanisms allow the system to use contextual information in an
intelligent way. However, they are based around a language which may not
be appropriate in given circumstances.