We believe that a passive object model, in which the active entities or threads
migrate between passive objects, is more appropriate than an active object
model, as the basic structure of a microkernel-based operating system. A
passive object model provides enhanced performance and simplicity because it is
more closely matched to the basic nature of microprocessors and the
requirements of applications. It also provides more functionality by making the
flow of control between objects a first-class abstraction which can be
examined, manipulated, and used to carry information about the operation in
progress.