VMM 开销是什么?

VMM 开销是什么?

我正在研究虚拟化。我遇到的第一个问题就是虚拟机监视器开销。我在某处读到:为什么不虚拟化 - 虚拟化开销。而且大多数情况下它都低于 5%。但基本上我想了解的是这个开销到底是什么?有适当的定义吗?我在谷歌上搜索过,但没有找到令人满意的答案。有人知道吗?

答案1

典型的操作系统分为内核和用户空间。内核可以直接访问硬件,而用户空间(程序运行的地方)则不能,必须通过内核。每个程序都在内核提供的用户空间“内”运行。(现代 CPU 有一个 MMU,可以物理阻止用户空间执行内核不允许的操作。)

如果用户空间可以直接访问硬件,而不是通过内核,速度会更快,但安全性会大大降低。因此,操作系统会引入一些开销。

虚拟机将这一概念进一步扩展。操作系统(包括内核及其用户空间)在虚拟机监视器 (VMM)(也称为虚拟机管理程序只有虚拟机管理程序才能真正直接访问硬件,而内核(虚拟机内部,即客户操作系统的内核)必须“通过”虚拟机管理程序才能访问硬件。通常,在虚拟机的设置方式中,内核甚至不知道它在虚拟机上运行。但是,由于内核必须经过另一层才能访问硬件(即使它不知道这一点),因此速度会慢一些。这是 VMM 开销。

较新的 CPU 支持硬件中的虚拟机,也支持虚拟机内的“重新映射”硬件(IOMMU),因此开销通常非常小。

相关内容