Difference between revisions of "Virtual machine"

From Computer History Wiki
Jump to: navigation, search
(A decent start)
 
(Give an example of a machine which cannot be virtualized)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
A '''virtual machine''', or '''virtualization''', refers to a technique in with the [[operating system]] on a particular machine, in cooperation with the machines [[Central Processing Unit|CPU]], provides to the [[process]]es running on it the illusion that they are alone on a bare machine.
+
A '''virtual machine''', or '''virtualization''', refers to a technique in which [[hypervisor]] [[software]] on a particular machine, in cooperation with the machine's [[Central Processing Unit|CPU]], provides to the [[process]]es running on it the illusion that they are alone on a bare machine.
  
Operating systems which provide the capability are called 'virtual machine' (VM) OSs; if the VM OS is properly designed and implemented, it is usually possible to run another copy of the VM OS inside a process running in the same VM OS, but on the 'bare' hardware. This capability can be useful for testing new versions of the VM OS, etc.
+
[[Operating system]]s which provide the capability are called 'virtual machine' (VM) OSs; if the VM OS is properly designed and implemented, it is usually possible to run another copy of the VM OS inside a process running in the same VM OS, but with the latter on the 'bare' hardware. This capability can be useful for testing new versions of the VM OS, etc.
  
Not all computers can be virtualized; it requires that the machine hardware be carefully designed so that any and all operations which could disrupt the overall operation of the machine (e.g. resetting all the I/O devices) can be preventing from happening, but instead result in a [[trap]] to the OS, so that it may simulate that action.
+
Not all computers can be virtualized; it requires that the machine hardware be carefully designed so that any and all operations which are reserved to the operating system are not only preventing from happening when a [[user]] tries to perform them, but instead result in a [[trap]] to the OS, so that it may simulate that action.
 +
 
 +
Some machines (such as the [[PDP-11]]) merely ignore operations which could disrupt the overall operation of the machine (e.g. resetting all the I/O devices) when a user tries them, making it impossible for the operating system to simulate them for virtualization purposes.
  
 
Some actions, such as device I/O, are simulated in a restricted way; e.g. attempts to read and write [[disk]]s may instead result in reads and writes to a file which has been configured (at the time the virtual machine was started) to represent the disk(s) attached to that virtual machine.
 
Some actions, such as device I/O, are simulated in a restricted way; e.g. attempts to read and write [[disk]]s may instead result in reads and writes to a file which has been configured (at the time the virtual machine was started) to represent the disk(s) attached to that virtual machine.
 +
 +
{{semi-stub}}
 +
 +
==See also==
 +
 +
* [[CP operating system]]
 +
 +
[[Category: OS Basics]]

Latest revision as of 13:46, 28 October 2024

A virtual machine, or virtualization, refers to a technique in which hypervisor software on a particular machine, in cooperation with the machine's CPU, provides to the processes running on it the illusion that they are alone on a bare machine.

Operating systems which provide the capability are called 'virtual machine' (VM) OSs; if the VM OS is properly designed and implemented, it is usually possible to run another copy of the VM OS inside a process running in the same VM OS, but with the latter on the 'bare' hardware. This capability can be useful for testing new versions of the VM OS, etc.

Not all computers can be virtualized; it requires that the machine hardware be carefully designed so that any and all operations which are reserved to the operating system are not only preventing from happening when a user tries to perform them, but instead result in a trap to the OS, so that it may simulate that action.

Some machines (such as the PDP-11) merely ignore operations which could disrupt the overall operation of the machine (e.g. resetting all the I/O devices) when a user tries them, making it impossible for the operating system to simulate them for virtualization purposes.

Some actions, such as device I/O, are simulated in a restricted way; e.g. attempts to read and write disks may instead result in reads and writes to a file which has been configured (at the time the virtual machine was started) to represent the disk(s) attached to that virtual machine.

See also