|Newer page:||version 4||Last edited on Wednesday, April 14, 2004 6:11:26 am||by AristotlePagaltzis|
|Older page:||version 3||Last edited on Saturday, February 15, 2003 3:25:45 pm||by GlynWebster||Revert|
@@ -1,16 +1,16 @@
''virtual machine'' is a
program that executes ObjectCode designed for a different type of computer than the virtual machine is running on. The [JVM] virtual machine for [Java] is the most widely used, just about every WebBrowser has one
+A program that executes .
Virtual machines are used
+ for :
; Compatibility : Virtual machines
are simple, compilers are complicated. Object code
from one compiler can
run on any type of machine
, with any type
of [ CPU
], providing someone'
machine for it
+ are from run on, of [ ], s a machine .
; Safety : A virtual machine can limit what the object code it is running does. In theory that Java program your web browser automatically downloaded from a webserver in Estonia and started to run won't write anything to your disk, because the JVM won't let it.
; Novelty : Programming languages implicitly define what a computer ''is''. If that computer is far different from a Von Neumann Machine (the basis of most modern CPU designs), then you may as well write a virtual machine
for your imaginary computer, and have your compiler create code for that machine. The result probably won't be much less efficient than a native code compiler, and will be far easier to attain.
: A virtual machine can monitor what the ObjectCode it is running does. You can break out of a programming that is running on a virtual machine at any point and examine everything about the machine's state. [Bochs | http://bochs.sourceforge.net/] is [ia32] emulator for Linux for this purpose.
-; Emulation : I get to play my favourite ZX Spectrum video game on my PC. Whee!
+ Emulation : I get to play my favourite ZX Spectrum video game on my PC. Whee!
 [Ant Attack | http://sandywhite.co.uk/fun/ants/]! [http://www.wave.co.nz/~glyn/AALogo001.gif]