[virtmach] Definition a virtual machine ?

James Powell james@advancedsw.com
Tue, 16 Nov 1999 11:00:09 -0700 (MST)

Laurent Martelli writes:
 > >>>>> "James" == James Powell <james@advancedsw.com> writes:
 >   > John Morrison writes:
 >   >> 
 >   >> Can anybody point me at information, specifications, or
 >   >> implementations for virtual machines that enable OS-level
 >   >> programs to be written/run?
 >   James> I think that the Mach microkernel at least partially solves
 >   James> this problem.
 >   James> It isn't really a virtual machine as Mach has no instruction
 >   James> set, only a C API.
 > How would you define a virtual machine ?
 > I'd say that any API can be considered a virtual machine. Having
 > byte-coded instructions is just an implementation issue of the VM
 > after all. 

I agree that byte-coded instructions are an implementation issue, but
I would disagree that any API can be considered a virtual machine in
the conventional sense of the term.  As far as I know, virtual
machines implemented in software always support general-purpose
programming (they are Turing machines).

I would agree that any API can be viewed as a virtual state machine,
but I think that `virtual machine' on its own implies support for
general purpose programming.