- Vx32
The VX32 virtual extension environment is an application-level virtual machine implemented as an ordinary user-mode library and designed to run native
x86 code. Applications can link with and use VX32 in order to create safe, OS-independent execution environments, in which to run untrusted plug-ins or other extensions written in any language that compiles to x86 code.From the host processor's viewpoint, plug-ins running under the VX32
virtual machine monitor run in the context of the application process itself, but the VX32 library usesdynamic recompilation to prevent the "guest" plug-in code from accessing memory or jumping to instructions outside its designated sandbox. The VX32 library redirects anysystem call s the plug-in makes to the application itself rather than to the host operating system, thereby giving the application exclusive control over the API and security environment in which the plug-in code executes.VX32 thus provides an application extension facility comparable in function to the
Java virtual machine or theCommon Language Runtime , but with less overhead and with the ability to run code written in "any" language, safe or unsafe. VX32's primary disadvantage is that it is more difficult to make it run on non-x86 host processors.Criticism
There are some disadvantages that have been proposed by critics of vx32:
*VX32 is closely tied to the IA-32 instruction set, which makes it difficult to use on non-x86 architectures
*The IA-32e (AMD64) mode cannot be used by guests (the host can still run in 64bit mode), because of the use of segmentation which is inherent to vx32's designExternal links
* [http://pdos.csail.mit.edu/~baford/vm/ The VX32 Virtual Extension Environment]
* [http://pdos.csail.mit.edu/papers/vx32:usenix08-abs.html Vx32: Lightweight User-level Sandboxing on the x86] - Paper presented at USENIX 2008
* [http://swtch.com/9vx/ 9vx] - A port ofPlan 9 from Bell Labs to vx32.
* [http://www.midnight-labs.org/vxwin32/ vx32 for Win32]
Wikimedia Foundation. 2010.