A small footprint device can securely run multiple programs from unrelated
vendors by the inclusion of a context barrier isolating the execution of
the programs. The context barrier performs security checks to see that
principal and object are within the same namespace or memory space and to
see that a requested action is appropriate for an object to be operated
upon. Each program or set of programs runs in a separate context. Access
from one program to another program across the context barrier can be
achieved under controlled circumstances by using a global data structure.