docs: update virt/lexicon
This commit is contained in:
parent
db2f50c666
commit
e69199084f
@ -2,28 +2,25 @@
|
|||||||
title: Lexicon
|
title: Lexicon
|
||||||
description:
|
description:
|
||||||
published: true
|
published: true
|
||||||
date: 2021-11-13T18:47:23.476Z
|
date: 2022-01-12T15:43:12.102Z
|
||||||
tags:
|
tags:
|
||||||
editor: markdown
|
editor: markdown
|
||||||
dateCreated: 2021-11-13T11:58:43.776Z
|
dateCreated: 2021-11-13T11:58:43.776Z
|
||||||
---
|
---
|
||||||
|
|
||||||
> Section under construction.
|
# Key terms related to virtualization
|
||||||
{.is-warning}
|
|
||||||
|
|
||||||
## Terms related to virtualization
|
## Emulator
|
||||||
|
|
||||||
### Emulator
|
|
||||||
|
|
||||||
Emulators or virtualizers are software that provide material components
|
Emulators or virtualizers are software that provide material components
|
||||||
similar to physical hardware, but that are made of computer code instead
|
similar to physical hardware, but that are made of computer code instead
|
||||||
of silicon, -- virtual hardware --, such as virtual floppy disks.
|
of silicon, -- virtual hardware --, such as virtual floppy disks.
|
||||||
|
|
||||||
QEMU[^6] is a popular emulator that can act as a simulator or virtual
|
QEMU is a popular emulator that can act as a simulator or virtual
|
||||||
machine monitor. In the latter case, it can leverage hardware
|
machine monitor. In the latter case, it can leverage hardware
|
||||||
acceleration,
|
acceleration,
|
||||||
|
|
||||||
### Hardware-assisted virtualization
|
## Hardware-assisted virtualization
|
||||||
|
|
||||||
Hardware-assisted virtualization is a feature of certain computer
|
Hardware-assisted virtualization is a feature of certain computer
|
||||||
hardware made to take advantage of virtualization.
|
hardware made to take advantage of virtualization.
|
||||||
@ -34,12 +31,12 @@ In other words, hardware-assisted virtualization translates into better
|
|||||||
performance for virtualized workloads, significantly reducing the gap in
|
performance for virtualized workloads, significantly reducing the gap in
|
||||||
performance between a virtual machine and a physical one.
|
performance between a virtual machine and a physical one.
|
||||||
|
|
||||||
### Nested-virtualization
|
## Nested-virtualization
|
||||||
|
|
||||||
Nested-virtualization refers to the ability to run a virtual machine
|
Nested-virtualization refers to the ability to run a virtual machine
|
||||||
inside another virtual machine.
|
inside another virtual machine.
|
||||||
|
|
||||||
### Virtualization
|
## Virtualization
|
||||||
|
|
||||||
Most computers are made of hardware and software. By analogy, the brain
|
Most computers are made of hardware and software. By analogy, the brain
|
||||||
that animates the cells to control a body can be thought as the
|
that animates the cells to control a body can be thought as the
|
||||||
@ -53,12 +50,12 @@ machines.
|
|||||||
|
|
||||||
There are roughly three types of virtualization:
|
There are roughly three types of virtualization:
|
||||||
|
|
||||||
- **Simulation or emulation**: when a computer is fully emulated and
|
* **Simulation or emulation**: when a computer is fully emulated and
|
||||||
can be made to look like any device to an operating system
|
can be made to look like any device to an operating system
|
||||||
- **Partition**: when computer resources are split such that each
|
* **Partition**: when computer resources are split such that each
|
||||||
operating system can only see a subset of available hardware
|
operating system can only see a subset of available hardware
|
||||||
resources
|
resources
|
||||||
- **Paravirtualization**: when both hardware and software-assisted
|
* **Paravirtualization**: when both hardware and software-assisted
|
||||||
virtualization is being used. In this case, the guest is aware that
|
virtualization is being used. In this case, the guest is aware that
|
||||||
it is running in the virtualized environment, and acts accordingly.
|
it is running in the virtualized environment, and acts accordingly.
|
||||||
|
|
||||||
@ -68,7 +65,7 @@ better use of resources through consolidation. For instance, with
|
|||||||
virtualization, multiple operating systems can run concurrently on a
|
virtualization, multiple operating systems can run concurrently on a
|
||||||
physical machine.
|
physical machine.
|
||||||
|
|
||||||
### Hypervisor
|
## Hypervisor
|
||||||
|
|
||||||
A hypervisor is an operating system or firmware that is designed to run
|
A hypervisor is an operating system or firmware that is designed to run
|
||||||
guest systems: it handles scheduling, execution of hyper privileged
|
guest systems: it handles scheduling, execution of hyper privileged
|
||||||
@ -86,56 +83,51 @@ virtual hardware.
|
|||||||
As of 2021, there are two major open-source hypervisor that are both are
|
As of 2021, there are two major open-source hypervisor that are both are
|
||||||
able to leverage hardware-assisted virtualization:
|
able to leverage hardware-assisted virtualization:
|
||||||
|
|
||||||
- Xen (2003)[^7].
|
- Xen (2003)
|
||||||
- Kernel-based Virtual Machine (KVM) module for Linux (2007)[^8].
|
- Kernel-based Virtual Machine (KVM) module for Linux (2007)
|
||||||
|
|
||||||
### Device
|
## Device
|
||||||
|
|
||||||
Devices are computer components that can be attached to machines. They
|
Devices are computer components that can be attached to machines. They
|
||||||
can be classified in two ways : physical or emulated.
|
can be classified in two ways : physical or emulated.
|
||||||
|
|
||||||
+--------+-------------------+----------------+------------------------+
|
| | Physical hardware | Emulated: model-based | Emulated: paravirtual |
|
||||||
| | Physical hardware | Emulated : | Emulated : paravirtual |
|
| :- | :-: | :-: | :-: |
|
||||||
| | | | |
|
| *Design* | Specific | Specific | Generic |
|
||||||
| | | model-based | |
|
| *Type* | Silicon-based | Software-based | Software-based |
|
||||||
+--------+-------------------+----------------+------------------------+
|
|
||||||
| Design | Specific | Specific | Generic |
|
|
||||||
+--------+-------------------+----------------+------------------------+
|
|
||||||
| Type | Silicon-based | Software-based | Software-based |
|
|
||||||
+--------+-------------------+----------------+------------------------+
|
|
||||||
|
|
||||||
- Physical
|
* Physical
|
||||||
|
|
||||||
- Physical components refer to devices that can be attached to a
|
* Physical components refer to devices that can be attached to a
|
||||||
system. For instance, a dedicated physical graphics card
|
system. For instance, a dedicated physical graphics card
|
||||||
attached to a physical system can be directly attached to a
|
attached to a physical system can be directly attached to a
|
||||||
virtual machine, which then becomes responsible for managing it,
|
virtual machine, which then becomes responsible for managing it,
|
||||||
a technique called *passthrough*. The PCI-SIG standards provide
|
a technique called *passthrough*. The PCI-SIG standards provide
|
||||||
IOMMU-related specifications to allow a host operating system to
|
IOMMU-related specifications to allow a host operating system to
|
||||||
not have a driver for a particular device[^9] and passthrough
|
not have a driver for a particular device and passthrough
|
||||||
the device to the guest. The guest will have a device with
|
the device to the guest. The guest will have a device with
|
||||||
nearly native performance, and use the standard vendor's drivers
|
nearly native performance, and use the standard vendor's drivers
|
||||||
for the device.
|
for the device.
|
||||||
- The PCI-SIG standards also provide a way to partition compatible
|
* The PCI-SIG standards also provide a way to partition compatible
|
||||||
devices using so-called Virtual Functions (VFs). In this case,
|
devices using so-called Virtual Functions (VFs). In this case,
|
||||||
the host manages the way a physical device is used by the guest.
|
the host manages the way a physical device is used by the guest.
|
||||||
Both host and guest must have specific device drivers. It offers
|
Both host and guest must have specific device drivers. It offers
|
||||||
nearly native performance.
|
nearly native performance.
|
||||||
|
|
||||||
- Emulated
|
* Emulated
|
||||||
|
|
||||||
- Model-based
|
* Model-based
|
||||||
|
|
||||||
- Model-based emulated hardware are designed after real
|
* Model-based emulated hardware are designed after real
|
||||||
devices, but are made out of computer code, not silicon. The
|
devices, but are made out of computer code, not silicon. The
|
||||||
i440fx and Q35[^10] chipsets are both instances of emulated
|
i440fx and Q35 chipsets are both instances of emulated
|
||||||
hardware. This is the slowest (but most compatible) way to
|
hardware. This is the slowest (but most compatible) way to
|
||||||
provide a device to a guest. An emulated GPU is not going to
|
provide a device to a guest. An emulated GPU is not going to
|
||||||
be fast enough in an emulated mode to do 3D rendering.
|
be fast enough in an emulated mode to do 3D rendering.
|
||||||
|
|
||||||
- Paravirtual
|
* Paravirtual
|
||||||
|
|
||||||
- Paravirtual hardware, also known as paravirtualized Virtual
|
* Paravirtual hardware, also known as paravirtualized Virtual
|
||||||
I/O devices or simply virtio, are also made out of computer
|
I/O devices or simply virtio, are also made out of computer
|
||||||
code. Contrary to emulated hardware, they function as a
|
code. Contrary to emulated hardware, they function as a
|
||||||
generic piece of software-based hardware which doesn't
|
generic piece of software-based hardware which doesn't
|
||||||
@ -145,7 +137,7 @@ can be classified in two ways : physical or emulated.
|
|||||||
|
|
||||||
Paravirtualization refers to the emulation practice of letting an
|
Paravirtualization refers to the emulation practice of letting an
|
||||||
operating system running in a virtualized environment know that it is
|
operating system running in a virtualized environment know that it is
|
||||||
running in such an environment[^11].
|
running in such an environment.
|
||||||
|
|
||||||
Under this configuration, more efficient communication methods are
|
Under this configuration, more efficient communication methods are
|
||||||
available between the host and the guest, including VirtIO devices
|
available between the host and the guest, including VirtIO devices
|
||||||
|
Loading…
x
Reference in New Issue
Block a user