--- title: Purpose description: published: true date: 2022-01-17T15:10:53.963Z tags: editor: markdown dateCreated: 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. --- *[**Go back to parent page**](https://wiki.phyllo.me/)*