docs: update virt/history

This commit is contained in:
lukas 2022-01-18 09:35:04 +00:00
parent 28f8d631c3
commit 39003995f8

View File

@ -2,7 +2,7 @@
title: A very short history of virtualization
description:
published: true
date: 2022-01-17T20:30:10.094Z
date: 2022-01-18T09:35:02.581Z
tags:
editor: markdown
dateCreated: 2022-01-17T20:30:10.094Z
@ -12,7 +12,11 @@ dateCreated: 2022-01-17T20:30:10.094Z
## The prehistory of virtualization
Virtualization as a computer-related technology is rather old: its foundations date back as early as the 60s.
Virtualization[^1] as a computer-related technology is rather old: its foundations date back as early as the 60s[^2].
[^1]: When we refer to virtualization, we talk about full virtualization, also known as machine, system or platform-level virtualization (i.e. virtual machines or guest systems), not operating-system virtualization (i.e. containers).
[^2]: See for instance a “[Timeline of Virtualization Development.](https://en.wikipedia.org/wiki/Timeline_of_virtualization_development)” on Wikipedia
At that time, computers generally werent available outside of the academia or other well-funded circles.
@ -20,25 +24,35 @@ At that time, computers generally werent available outside of the academia or
For many countries, the democratization of general purpose and personal computers happened between the 80s and the 90s.
At that time, many architectures and operating systems were in competition with one another. At the turn of the millennium, however, a consolidation happened: computers based on the x86 instruction set architecture came to dominate the consumer market.
At that time, many architectures and operating systems were in competition with one another. At the turn of the millennium, however, a consolidation happened: computers based on the x86 instruction set architecture came to dominate the consumer market[^3].
[^3]: In the 1990s, Intel was, and still is, as of 2021, the main provider of x86-based CPUs. AMD comes in distant second.
## Hardware-assisted virtualization
In 2005, a new set of specialized CPU features for the x86 architecture was introduced, providing hardware-assisted virtualization.
In 2005, a new set of specialized CPU features for the x86 architecture was introduced, providing hardware-assisted virtualization[^4].
[^4]: Intel Virtualization, abbreviated Intel VT-x, first appeared in 2005. AMD Virtualization, abbreviated AMD-V, was introduced in 2010, and is similar to its Intel counterpart. It was originally referred to as AMD SVM, for Secure Virtual Machine.
This may be considered the first generation of virtualization-specific features for the x86 architecture.
This first generation of CPU features specific to virtualization was followed just before 2010s by the introduction of another set of features, which pushed the technology further, implementing a so-called InputOutput Memory Management Unit (IOMMU) for virtualization.
This first generation of CPU features specific to virtualization was followed just before 2010s by the introduction of another set of features, which pushed the technology further, implementing a so-called InputOutput Memory Management Unit (IOMMU) for virtualization[^5].
[^5]: Intel Virtualization Technology for Directed I/O, abbreviated Intel VT-d, was first introduced in 2011. AMD I/O Virtualization Technology, abbreviated AMD-Vi, was also introduced in 2011, and is similar to its Intel counterpart. They are both IOMMU-based.
Through IOMMU, which is available for other architectures as well, guest machines can access the physical hardware directly and in a safer way, significantly reducing the overhead for most workloads while retaining certain security properties.
In summary, the second generation of virtualization-specific CPU technologies for the x86 architecture improved the performance as well as the security of running virtualized workloads.
In summary, the second generation of virtualization-specific CPU technologies for the x86 architecture improved the performance as well as the security of running virtualized workloads[^6].
[^6]: Although IOMMU only provides security and performance benefits if a device is being passthroughed, it also provides security enhancements for the host in general if configured correctly.
## The commodification of hardware-assisted virtualization
For hardware-assisted virtualization to be useful to the general public, it would still need to be widely available, which means that most CPUs and platforms would have to be supported, regardless of the market segment they target: low to high-end, consumer- or professional-grade hardware.
In this regard, the latter part of 2010 marks a turning point, at least when it comes to the first generation of CPU extensions: general-purpose hardware-assisted virtualization is now widely available in most if not all x86-based computing hardware sold to the public.
In this regard, the latter part of 2010 marks a turning point, at least when it comes to the first generation of CPU extensions: general-purpose hardware-assisted virtualization is now widely available in most if not all x86-based computing hardware sold to the public[^7].
[^7]: Most recent ARM64-based chips also support hardware-assisted virtualization.
As of 2021, the year in which this paper is being written, the commodification of hardware-assisted virtualization is already well underway.