DrawBridge
Drawbridge was a Microsoft research project (prototype?) that investigated new forms of virtualization for application sandboxing in order to reduce the virtualization resource overhead incurred when hosting many Virtual Machines on the same hardware.
The research explored two ideas
Picoproces | A process-based isolation container with a minimal kernel API surface which consists of an empty address space, a monitor process that interacts with the host operating system on behalf of the picoprocess, and a kernel driver that allows a driver to populate the address space at startup and implements a host Application Binary Interface (ABI) that allows the picoprocess to interact with the host. |
A Library OS (LibOS) | A user-mode version of the NT kernel (informally referred toas NTUM) that implements a subset of the 1500+ Win32 and NT ABIs so as run efficiently within a picoprocess. (The rest of the calls are simply stubst that either succeed or fail, depending on the type of call) |
In addition to NTUM, Drawbridge includes a version of the Win32 subsystem that runs as a user-mode library within the picoprocess.