为什么 VM 软件需要知道 VM 内将运行哪个操作系统?

Mar*_*tin 21 operating-systems virtual-machine

当我创建一个新的 VM(使用 VirtualBox)时,它会询问我将在 VM 中运行什么操作系统。

为什么需要(或喜欢)知道这一点?它会带来更好的性能吗?有些事情会起作用/不起作用吗?(欢迎链接到技术细节!)

Jin*_*Jin 18

对于“操作系统类型”,选择稍后要安装的操作系统。支持的操作系统已分组;如果要安装未列出的非常不寻常的东西,请选择“其他”。根据您的选择,VirtualBox 将启用或禁用您的来宾操作系统可能需要的某些 VM 设置。这对于 64 位来宾尤其重要(请参阅“64 位来宾”一节)。因此,建议始终将其设置为正确的值。

来源

我注意到 VirtualBox 会根据您的操作系统选择建议默认内存和磁盘大小。还有其他提示,例如在安装前创建帐户(某些操作系统)以简化安装过程。

VirtualBox 还为受支持的操作系统提供来宾附加功能。对于整个列表,包括注意事项,请查看此处


nos*_*nos 7

这只是为了 VirtualBox 可以选择您创建的 VM 的最佳和支持的默认设置。之后您可以根据需要在“设置”中更改这些。有些操作系统对某些驱动程序有更好的支持,有些没有 3d 加速支持等等。


Zan*_*ynx 5

其中一些控制 VM 在了解操作系统时可以进行的优化。

我知道的一种非常有用的优化是自旋锁检测。当 Windows 进入一个 CriticalSection 或 Linux 进入一个 pthread_mutex_lock 时,CPU 使用率将在等待另一个 CPU 完成时短暂地达到 100%。如果 VM 知道这一点,它可以确保立即运行另一个 CPU 线程。

另一个优化是虚拟图形驱动程序。Linux 客户机将获得 OpenGL 虚拟卡,而 Windows 将获得 DX9 卡。