Commit 6191620

mo khan <mo@mokhan.ca>
2021-05-23 23:28:29
start notes on Virtual Machines
1 parent 302605e
Changed files (1)
doc/16.md
@@ -0,0 +1,33 @@
+# 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.
+