[virtmach] Definition a virtual machine ?
Wed, 17 Nov 1999 17:36:25 -0000
Ehud Lamm said:
> This is a very intersting thread, since it contarsts two views of VMs. On
> the one hand a VM is one of the kinds of abstractions used when dealing
> with software construction, along things like processes, trees etc. On the
> other hand, many use the term to refer to a specific kind of VM, and
> usually have in mind a specific model. This kind of thinking usually
> results i thinking about a smaller class of VMs, which are much closer to
> actuall machines. They usually have a set of instrctions, possibly
> addressing, and the Vm is basically an interpreter.
My company did much of the architecture for the Europay Open
Terminal Architecture project (see www.europay.com in the smart-
card section), which uses a virtual machine to run payment
terminals. The point is to allow new services to be downloaded
to terminals without knowing what hardware is in use. OTA was in
turn derived from our SENDIT ESPRIT project.
The requirements of OTA are to provide a common transport
mechanism to the terminals. Consequently the VM definition and
coding reflect what is passed to the terminal. There is *no*
assumption that the transferred programs are interpreted,
although on small 8051 based terminals, that is almost always
In both SENDIT and OTA, the VM consists of definitions that
cover both programming and O/S access. We used a two stack
virtual machine derived from Forth with extensions for local
frames. We produced both C and Forth compilers for these
systems, and compilers were prototyped for BASIC and M2. The OTA
specifications are on the Europay web site.
We chose to use byte-codes in order to simplify implementation
on small systems, but much more sophisticated encodings have
been used. The ANDF specifications (Architecture Neutral
Distribution Format) are an example of this, but I don't have
the URL available.
Stephen Pelc, email@example.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 1703 631441, fax: +44 1703 339691