2.8 KiB
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Purpose | true | 2022-01-17T15:10:53.963Z | markdown | 2021-11-12T15:31:30.659Z |
Purpose
Why would one prefers to use an operating system running in a virtual machine?
There are muliple reasons one would want to rely on virtual machines. Let's list some advantages, but also some limitations.
Advantages
A software-based/backed computer, or simply a virtual machine, has many advantages over a silicon-based computer:
- Cost: the cost of creating a virtual machine tends to zero. Virtual machines are made out of computer code, and it is basically free to copy or to duplicate them.
- Flexibility: a software-backed computer, alongside its operating system, can be migrated to new physical hosts. In other words, when a user acquires a new physical computer, the entire computing environment may be copy/pasted to the new machine.
- Compatibility: contrary to silicon-based computers, which tend to be optimized to work at most with only a handful operating systems, a virtual machine can be designed to work with most operating systems.
- Support: Adding a layer of abstraction between the operating system and the virtualization-friendly hardware allows for support of newer operating systems, beyond what the physical hardware can support. Windows 11 requires a Trusted Platform Module (TPM) to be present. By using a virtual machine alongside a virtual TPM on unsupported hardware, one could still run Windows 11.
Limitations
Alas, it also comes with limitations, including but not limited to :
-
Limited out-of-the box hardware support: hardware-assisted virtualization is available on many computers but rarely activated by default and not always correctly implemented. Users remain a the mercy of good platform firmware and may have to explicitly activate hardware-assisted virtualization in the BIOS/UEFI. Hardware components are often not correctly isolated in IOMMU groups.
- Offering first-class support for only a handful of curated computers might provide an answer, at the price of compatibility.
- When it comes to IOMMU groups, a workaround might have to be used for models that do not offer well-isolated IOMMU groups, a workaround that has security implications.
-
Reliance on devices or controllers passthrough to cover edge cases: virtual hardware do not cover all features a user may expect to have, including out of the box support for Bluetooth, wireless, or sound adapters. For those cases, USB or PCI Passthrough might be used.
- Again, offering first-class support for only a handful of curated computers might provide an answer, at the price of compatibility.
- New virtual hardware are expected, including paravirtualized sound cards, which will improve the situation.