blob: 6bfdc5485a30b0e07ac47daf8b2c9261ff7a59b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# Virtual Machines
Virtual machines abstract the hardware of a single computer into several different execution environments.
VM's involve several components:
* host: hardware system that runs the VM's
* Virtual Machine Manager (VMM) aka hypervisor: creates an runs VM's
* guest: process provided with a virtual copy of the host.
```plaintext
|-----------| |------------------------------------|
| | | processes | | |
| | | | processes | |
| processes | | | | processes |
| | | | | |
| | |-----------|-----------|------------|
|-----------| | kernel | kernel | kernel |
| kernel | |-----------|-----------|------------|
|-----------| | VM1 | VM2 | VM3 |
| hardware | |------------------------------------|
|-----------| | hypervisor |
|------------------------------------|
| hardware |
|------------------------------------|
```
Hypervisor implementations vary:
* type 0 hypervisor: hardware based solutions that provide support at the firmware level.
* type 1 hypervisor: OS like software built to provide virtualization.
* type 2 hypervisor: are applications that run on other operating systems, which do not know that virtualization is taking place.
VCPU: virtual CPU. does not execute code but represents the state of the CPU as the guest machine believes it to be.
## Summary
Virtualization is a method of providing a guest with a duplicate of a system's underlying hardware.
Multiple guests can run on a given syste, each believing it is the native operating system in full control
of the system.
|