Editing Category:Virtual Machines
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | ||
+ | The pages grouped under this category provide information about Virtual Machines used in academic or professional environments as the target of some compilers. | ||
+ | |||
+ | A Virtual Machine (VM) is a program that simulates the behavior of a real CPU. | ||
+ | |||
+ | The program uses data structures to implement the blocks that compose the machine architecture like the ''decoder'', | ||
+ | the ''controller'', the ''registers'', the ''stack'', the ''data'' and ''program memories'', the ''input/output ports'', etc. | ||
+ | |||
+ | It accepts as input a ''list of instructions'' (the machine code), written in the style of an Assembly language (operator followed by zero or | ||
+ | more operands), and interprets (recognizes and | ||
+ | executes) them sequentially from the first to the last or until finding one that halts the execution. | ||
+ | |||
+ | In this way, the VM simulates the execution of the program (defined by that list of instructions) on a real CPU. | ||
+ | |||
+ | The biggest advantage of using a VM as the target of a Compiler is the possibility to run a program independently of the hardware. | ||
+ | The most famous example is JVM, Java Virtual Machine, used by the Java Compiler -- in this way the same java byte-code can be executed in any hardware platform where a JVM is installed. | ||
+ | |||
+ | _________________________________________________________ | ||
+ | |||
+ | Click [{{fullurl:{{FULLPAGENAMEE}}|action=pdfbook}} here] to download this selection of articles as a PDF book. | ||
+ | |||
+ | _________________________________________________________ |