虚拟化软件如何运作?

时间:2009-09-01 23:48:33

标签: virtualization

我想知道VirtualBox或VMWare Workstation等虚拟化软件是如何工作的?他们如何创建一个由操作系统作为单独计算机的虚拟环境?我几乎可以肯定这个问题的答案非常深刻,但我对基本理论很满意。

3 个答案:

答案 0 :(得分:7)

答案 1 :(得分:1)

从最简单的意义上讲,虚拟化环境是指本地环境,解释性语言(如PHP,Javascript或Basic)是指C,C ++或汇编程序等编译语言。

当编译的二进制文件执行时,二进制机器代码将直接传递给CPU。但是,当解释语言运行时,语言应用程序会读入代码,然后它会决定这意味着什么,并执行二进制过程来反映这一点。

像Qemu这样的虚拟化软件,虽然编译运行,比如x86处理器,会读取二进制文件,用于Mac,它会解释它接收的二进制文件,将其从大端切换到小端,然后知道mac上的操作码X对应于x86上的操作码Y,而mac上的操作码A在x86上没有等效,因此需要在x86上调用函数B,依此类推。

真正聪明的一点是硬件解释,有人必须编写一个驱动程序,它将在x86上运行Qemu,但是会向Qemu的Mac面部提供一个接口,以使Mac应用程序认为它们是与Mac硬件交谈。

答案 2 :(得分:0)

从最基本的意义上讲,虚拟化软件将计算机放在另一台计算机中...... (这里有一个非常非常基本的链接:http://blog.capterra.com/virtualization-software

在更复杂的意义上,虚拟化软件(也称为管理程序)抽象了服务器的特征。这允许多个操作系统在单个物理服务器上运行。