-
Virtual app
-
Virtual machine
-
Virtual reality
-
Virtual OS
EXPLANATION
A virtual machine (VM) is a type of container you can assign
resources to, like processing cores, memory, and storage. You can
install an operating system in a VM and the OS will behave as if it's
actually running on a physical computer.
Virtual machines
Another form of virtual machine is one that allows us to run multiple operating
systems concurrently, sharing access to the physical machine resources. With
this for of virtual machine, we can partition one computer to act like several
computers, each with its own operating system (and IP address on the network).
We can also migrate an entire OS (along with all of its applications) from one
machine to another.
To understand how this form of virtualization works, we need to consider what an
operating system does. Basically, it provides a set of interfaces (system calls)
that applications use to access system resources (file system, network, semaphores, etc.).
The operating system is just a program. It spends its time doing table look-ups, copying
blocks of data, formatting network packet headers, and other mundane tasks. Every once
in a while, however, it needs to access system hardware: to configure the memory management unit,
set a timer, set the task register, and perform certain types of input and output.
These instructions are called
privileged instructions, in contrast to
all the other instructions on the processor, which are
unprivileged.
To execute them, the operating system kernel runs in privileged, or
supervisor
mode, while regular processes do not. If a regular application attemts to execute a
privileged instruction, it will generate a
trap on many architectures.