[virtmach] Query about virtual machines with hardware-level abstractions/support
Tue, 16 Nov 1999 08:39:05 -0500
The Short Version:
Can anybody point me at information, specifications, or
implementations for virtual machines that enable OS-level programs to
The Longer Version:
Disclaimer: I'm no virtual machine specialist -- I'm a systems
Background: I'm currently working on the freeware Java OS project at
www.jos.org. Our goal (no snickers, please) is to do as much as
possible in Java, and as little as possible in native code. We intend
for this to include paging for virtual memory. Current build targets
include UNIX, win32, and raw x86 PC iron. Status is such that device
drivers for keyboard, VGA display, and floppy (more or less) work.
Obviously, we are constrained to use the JVM specification. We are
confronting several issues, which I am attributing (perhaps
incorrectly) to the JVM specification.
(1) Given that the JVM contains no notions of interrupt-handling,
etc., we are forced to invent our own, out-of-band scheme (you might
not be so charitable as to call it a "scheme").
(2) Given that the JVM thread model is lacking a "permanent wait on
something" notion (unlike almost all of the RTOSes I have ever used),
our "scheme" is not consistent with the JVM in spirit (it's more like
The Problem: Say I wanted to implement a Poor Man's Lisp Machine,
where the virtual memory pager, interrupt handlers, gc, and all those
other kinds of things were written to the virtual machine (instead of
in "microcode," as I am given to understand the original MIT CONS/CADR
LispM was -- and maybe most subsequent ones were, too). My experience
with the JVM spec leads me to believe that the JVM spec isn't a good
The Question: So, posit that I had the luxury of starting from a blank
sheet of paper (with respect to a Virtual Machine specification). Can
anybody characterize such a VM for me? Are there any good examples?
==== John Morrison
==== MaK Technologies Inc.
==== 185 Alewife Brook Parkway, Cambridge, MA 02138
==== vox:617-876-8085 x115