[kaffe] New application-level x86 virtual machine
Bryan Ford
baford at mit.edu
Thu Dec 22 10:52:04 PST 2005
Hi folks, I hope this announcement might be of interest to some of you as
being related to and in some respects complementary to Kaffe.
I've just released the first (very experimental) version of VX32, a new
x86-based application-level virtual environment. Unlike most x86-based virtual
machines such as QEMU and plex86, however, VX32 is more comparable in
function to Kaffe and other Java or CLR virtual machines. VX32 only
implements the user-mode portion of the x86 architecture rather than
emulating a whole machine including devices, and is intended for use by
applications to create lightweight, highly controllable execution
environments for safe application plug-ins and the like, rather than for
running whole operating systems. VX32 might be especially appropriate for
safely running Unix filter-like applications such as compressors,
decompressors, crypto software, or transcoders, where the legacy code bases
you often want to re-use are already written in C or other non-typesafe
languages. VX32 could also potentially provide the basis for a "safe native
method" facility for Kaffe and other Java VMs, if there is interest.
VX32 uses dynamic code rewriting techniques to sandbox guest code efficiently
on x86 host processors, typically costing less than 15% slowdown versus
native x86-32 execution. I'm also working on instruction set emulation and
binary translation to make the environment portable to other host
architectures, but of course I don't expect it to perform as well in such
situations.
The VX32 home page, including the first source release, is here:
http://pdos.csail.mit.edu/~baford/vm/
The home page for VXA (Virtual eXecutable Archives), a related project that
uses VX32 to turn ZIP files into "active archvies", is here:
http://pdos.csail.mit.edu/~baford/vxa/
Finally, a paper that discusses both VX32 and VXA can be found here:
http://www.brynosaurus.com/pub/os/vxa.pdf
I would appreciate any comments and feedback. Thanks for your time!
Bryan
More information about the kaffe
mailing list