Virtual Machine
A virtual machine (VM) is a software program that enables a computer to run multiple independent execution environements in parallel by created an abstracted simulation of the hardware components. This enables many different programs to run in isolated environments on shared hardware, or virtualized hardware like in a distributed system. Ultimately, these are abstract programs designed to maintain resource states and compute state transitions, forming what is known as a state machine.
In cloud computing, virtual machines are used to maximize the usage of hardware resources to avoid occupying additional devices. Virtual machines also provide protection to host hardware when running an unfamiliar or unstable program. This virtualization can be especially useful when testing how a program would run on different operating systems.
In distributed ledger technology, virtual machines are used to execute programs called smart contracts using the distributed virtualized hardware provided by the network nodes. Some distributed ledgers opt to move the virtual machine off-chain to reduce the computational burden placed on the consensus protocol.
To learn more about how Notoros can run all types of VM interoperably and in parallel check out this page. If you are interested in implementing your own VM on Notoros start here.