[EMAIL PROTECTED] wrote:

>right about the shielding, but if you're talking about 'underlying hardware
>copying' then that's not Java, that's VMWARE or somesuch.

A virtual machine essentially provides an illusion of creating multiple processes
each executing on its own processor with its own virtual memory, plus some more.
The virtual machine is an interface identical to the underlying bare hardware,
with each process provided with a virtual copy of the underlying computer.

Popular examples of virtual machines include emulators (like SNES, PSx and arcade
emulators for the PC, as well as DOS and Mac emulators) as well as the advanced
VMware. An SNES emulator provides a virtual copy of the SNES architecture (so
you can play .smc files which are ripped off from an SNES cartridge). Same is
true with PSx and arcade machine emulators. DOS emulators provide a virtual
copy of the Intel architecture (which was quite popular among UNIX systems back
then, since they also have users who'd also wish to run their DOS programs on
their UNIX systems). Same is true with other OS emulators (since OS provides
an interface to the underlying hardware to hide machine-specific issues from
the user to make programming easier).

The Java virtual machine is also a good example of a virtual machine.
Consider the typical compilation-linking process using C. Source code is
compiled into machine readable object code, afterwhich it is linked to produce
a binary executable. The object code in itself is tied to the architecture
(thus OS can only be ported to other architectures once a port of the compiler
exists for the architecture to be ported to).

For java, source code is compiled into an architecture-independent bytecode,
which is then interpreted prior to execution. The Java virtual machine acts as
a virtual hardware, which interacts with low-level, hardware specific routines
(which is hidden from the user) thus giving the semblance of portability (as
java bytecode can run on any platform where exists a port of the Java virtual
machine). The java virtual machine copies the underlying hardware but hides
it from the user via its interface, thus the illusion of the JVM as a "soft"
hardware.

AFAIK, IBM pioneered in the area of researching about Virtual Machines, given
its security advantages and potential complete resource protection, though it's
inherently hard to program such.


Paolo Alexis Falcone

__________________________________
www.edsamail.com
_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]

To subscribe to the Linux Newbies' List: send "subscribe" in the body to 
[EMAIL PROTECTED]

Reply via email to