x86虚拟化指令集(VT-x,AMD-V)是否有其他用途?

时间:2014-08-20 02:42:14

标签: virtualization x86

硬件辅助虚拟化为在虚拟机管理程序上高效安全地运行客户操作系统提供了良好的途径。

这些指令集(例如Intel的VT-x,AMD的AMD-V和扩展页表扩展)是否为运行客户操作系统批发的场景其他提供了价值?例如,它们是否可以用于沙盒进程或防止内核模式代码执行它们不应该做的事情?

2 个答案:

答案 0 :(得分:8)

通过"Hardware assisted virtualization"上的英特尔自己的页面,他们提到了几个有趣的应用程序:

  

<强> 1。工业系统:虚拟化使系统能够实现   同时运行实时和通用操作系统,   每个都在英特尔®多核处理器的专用处理器内核上。

这与运行guest-OS不同。在这里,VT-x功能可用于并行运行两个不同的操作系统,因此我们可以结合两者的优点来实现我们的目标。例如,您需要非常高精度的实时数据监控,高速处理:在这种情况下,数据采集可以完全委托给在其中一个核上运行的RTOS而另一个则运行GPOS来处理数据。

  

<强> 2。医疗设备:保护应用程序和患者数据   对医疗诊断设备至关重要。需要的应用程序   使用Intel VT可以隔离更高级别的安全性   保护硬件中的内存空间,有助于防止攻击   恶意软件。因此,软件在安全分区中运行   只能访问自己的代码和数据区域,无法分页   在其内存边界之外,因为硬件排除了   未经授权的访问。

正如他们所提到的,VT中实现的内存空间保护允许软件仅运行自己的代码,并且只访问自己的内存空间。这在电子安全方面具有很大的潜力。

答案 1 :(得分:5)

  

这些指令集(例如英特尔的VT-x,AMD的AMD-V和扩展页表扩展)是否为运行客户操作系统批发以外的方案提供了价值?

虚拟化扩展的另一个用例是运行bare metal hypervisor(也称为类型1虚拟机管理程序)。除了能够在顶部运行多个操作系统之外,您还可以直接在虚拟机管理程序(不在客户操作系统实例内)常规虚拟化操作系统之上运行裸机应用程序。管理程序可以保证安全性,使这些应用程序可以运行医疗设备等关键系统。如果客户操作系统崩溃,管理程序将确保裸机应用程序不受影响。

  

例如,它们可以用于沙箱流程吗?

它们可用于沙箱流程,但这也是常规操作系统的功能。

  

或阻止内核模式代码执行他们不应该做的事情

这实际上是虚拟客户机操作系统尝试执行sensitive instructions时发生的情况,这些指令可以更改可以在架构的非特权模式。