[virtmach] Query about virtual machines with hardware-level abstractions/support

David Chase chase@world.std.com
Tue, 16 Nov 1999 13:57:19 -0500


>>>>>> "John" == John Morrison <jm@mak.com> writes:
>  John> Can anybody point me at information, specifications, or
>  John> implementations for virtual machines that enable OS-level
>  John> programs to be written/run?

At 03:02 PM 11/16/99 +0100, Laurent Martelli wrote:
>It looks like what you want is not a virtual machine, but a real
>machine. Virtual machines are usually specified in order to abstract
>low-level details. 

Yes, but -- eventually you must implement the virtual machine,
and at that point what he asks for makes sense.  Having "unsafe"
features available within a virtual machine often simplifies
the design and efficiency of your runtime, and may even increase
the overall portability of the system, because the costs of 
traversing the "virtual"-"real" boundary are reduced, so you
can write the code in the "best" way, rather than shoving
the virtual/real boundary around to get the desired efficiency.

(Someone else made the point that there's virtual machines and
there's virtual machines, and I think I am talking more about
something along the lines of a JVM or INTCODE interpreter with
extensions to simplify the writing of low-level facilities and
reduce the number of places where you simply must punt to platform
code.)

I will consult my colleagues to see how much of our experience
doing this I may make public.  Lacking that information, you would
be well-served to read about Modula-3 and about SPIN.  Two useful
URLs are:

http://www.research.digital.com/SRC/modula-3/html/

http://www.cs.washington.edu/research/projects/spin/www/

David Chase
chase@naturalbridge.com
chase@world.std.com