As we have seen above,
Xinu processes all execute in the same address space,
and do not incur the overhead of switching to the
kernel address space during context switching.
Such processes are called lightweight processes ( lwps),
since they have little associated state and share memory with each other and
the process manager,
making context switches, process creation, and interprocess
communication relatively inexpensive.
These processes are to contrasted with Unix-like heavyweight processes
( hwps),
which run in separate address spaces and switch to the kernel address space
on context switches.
Lightweight and heavyweight processes are complementary concepts in that one
can run multiple lightweight processes inside a heavyweight process.
In fact,
your assignments will be doing exactly this,
creating Xinu lwps within a Unix hwp.