Vx32

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 uses dynamic recompilation to prevent the "guest" plug-in code from accessing memory or jumping to instructions outside its designated sandbox. The VX32 library redirects any system calls 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 the Common 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 design

External 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 of Plan 9 from Bell Labs to vx32.
* [http://www.midnight-labs.org/vxwin32/ vx32 for Win32]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Vx32 — L environnement d extension virtuelle VX32 est une machine virtuelle de niveau applicatif implémentée sous la forme d une librairie en espace utilisateur (libvx32.a) et conçue pour exécuter du code natif x86. Une application peut utiliser VX32 en …   Wikipédia en Français

  • Virtual machine — A virtual machine (VM) is a completely isolated guest operating system installation within a normal host operating system .[1] Modern virtual machines are implemented with either software emulation or hardware virtualization or (in the most… …   Wikipedia

  • Dynamic recompilation — In computer science, dynamic recompilation (sometimes abbreviated to dynarec or the pseudo acronym DRC) is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling… …   Wikipedia

  • Comparison of application virtual machines — This article lists some software virtual machines that are typically used for allowing application bytecode to be portably run on many different computer architectures and operating systems. The application is usually run on the computer using an …   Wikipedia

  • Comparison of open source operating systems — These tables compare the various free software / open source operating systems. Where not all of the non EOL versions support a feature, the first version which support it is listed. Contents 1 General information 2 Supported architectures 3… …   Wikipedia

  • Liste des asteroides (58001-59000) — Liste des astéroïdes (58001 59000) Voici la liste des astéroïdes numérotés de 58001 à 59000. Les astéroïdes sont numérotés lorsque leur orbite est confirmée, ce qui peut parfois se produire longtemps après leur découverte. Ils sont classés ici… …   Wikipédia en Français

  • Liste des asteroides (84001-85000) — Liste des astéroïdes (84001 85000) Voici la liste des astéroïdes numérotés de 84001 à 85000. Les astéroïdes sont numérotés lorsque leur orbite est confirmée, ce qui peut parfois se produire longtemps après leur découverte. Ils sont classés ici… …   Wikipédia en Français

  • Liste des astéroïdes (58001-59000) — Voici la liste des astéroïdes numérotés de 58001 à 59000. Les astéroïdes sont numérotés lorsque leur orbite est confirmée, ce qui peut parfois se produire longtemps après leur découverte. Ils sont classés ici par leur numéro et donc… …   Wikipédia en Français

  • Liste des astéroïdes (84001-85000) — Voici la liste des astéroïdes numérotés de 84001 à 85000. Les astéroïdes sont numérotés lorsque leur orbite est confirmée, ce qui peut parfois se produire longtemps après leur découverte. Ils sont classés ici par leur numéro et donc… …   Wikipédia en Français

  • Máquina virtual — Arquitectura típica de una máquina virtual. VirtualBox …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”