gpt4 book ai didi

operating-system - 完全虚拟化、半虚拟化和硬件辅助虚拟化之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 05:36:39 24 4
gpt4 key购买 nike

我正在研究虚拟化主题,我完全沉迷于理解基本概念,维基百科确实提供了一些相关信息,但它不足以让我理解基本概念。这个概念有 2 到 3 行,但我在网上和书上都找不到它们。

如果有人能让我对这三种类型有基本的了解,我会很高兴。我对虚拟化很了解,也很了解,但这三种类型...

最佳答案

  • Paravirtualization 是一种虚拟化,其中 guest 操作系统(被虚拟化的操作系统)知道自己是 guest ,因此具有驱动程序,这些驱动程序不发出硬件命令,而是直接向主机操作系统发出命令。这还包括内存和线程管理,这通常需要处理器中不可用的特权指令。

  • Full Virtualization 是虚拟化,其中 guest 操作系统不知道自己处于虚拟化环境中,因此硬件由主机操作系统虚拟化,以便 guest 可以向它认为是实际硬件的设备发出命令,但实际上是只是由主机创建的模拟硬件设备。

  • Hardware Assisted Virtualization 是一种完全虚拟化,其中微处理器架构具有特殊指令来帮助硬件虚拟化。这些指令可能允许设置虚拟上下文,以便 guest 可以直接在处理器上执行特权指令而不影响主机。这样的功能集通常称为管理程序。如果所述指令不存在,完全虚拟化仍然是可能的,但是必须通过软件技术来完成,例如动态重新编译,其中主机动态重新编译 guest 中的特权指令,以便能够在 guest 中运行主机上的非特权方式。

  • 还有一种半虚拟化和完全虚拟化的组合,称为混合虚拟化,其中部分 guest 操作系统对某些硬件驱动程序使用半虚拟化,而主机对其他功能使用完全虚拟化。这通常可以在客户端上产生卓越的性能,而不需要客户端完全半虚拟化。举个例子: guest 对内核中的特权指令使用完全虚拟化,而对 IO 请求则使用 guest 中的特殊驱动程序进行半虚拟化。这样, guest 操作系统不需要完全半虚拟化,因为这有时不可用,但仍然可以通过为 guest 实现特殊驱动程序来享受一些半虚拟化功能。

关于operating-system - 完全虚拟化、半虚拟化和硬件辅助虚拟化之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21462581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com