虚拟化是一个广义的术语,,,,,,在盘算机方面通常是指盘算元件在虚拟的基础上而不是真实的基础上运行。。。。。。虚拟化手艺可以扩大硬件的容量,,,,,,简化软件的重新设置历程。。。。。。CPU的虚拟化手艺可以单CPU模拟多CPU并行,,,,,,允许一个平台同时运行多个操作系统,,,,,,并且应用程序都可以在相互自力的空间内运行而互不影响,,,,,,从而显著提高盘算机的事情效率。。。。。。
虚拟化手艺与多使命以及超线程手艺是完全差别的。。。。。。多使命是指在一个操作系统中多个程序同时并行运行,,,,,,而在虚拟化手艺中,,,,,,则可以同时运行多个操作系统,,,,,,并且每一个操作系统中都有多个程序运行,,,,,,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;;;;;;而超线程手艺只是单CPU模拟双CPU来平衡程序运行性能,,,,,,这两个模拟出来的CPU是不可疏散的,,,,,,只能协同事情。。。。。。
虚拟化手艺也与VMware Workstation等同样能抵达虚拟效果的软件差别,,,,,,是一个重大的手艺前进,,,,,,详细体现在镌汰软件虚拟机相关开销和支持更普遍的操作系统方面。。。。。。
纯软件虚拟化解决计划保存许多限制。。。。。。“客户”操作系统许多情形下是通过VMM(Virtual Machine Monitor,,,,,,虚拟机监视器)来与硬件举行通讯,,,,,,由VMM来决议其对系统上所有虚拟机的会见。。。。。。在纯软件虚拟化解决计划中,,,,,,VMM在软件套件中的位置是古板意义上操作系统所处的位置,,,,,,而虚拟化手艺将种种资源虚拟出多台主机操作系统的位置是古板意义上应用程序所处的位置。。。。。。
虚拟化手艺是一套解决计划。。。。。。完整的情形需要CPU、主板芯片组、BIOS和软件的支持,,,,,,例如VMM软件或者某些操作系统自己。。。。。。纵然只是CPU支持虚拟化手艺,,,,,,在配合VMM的软件情形下,,,,,,也会比完全不支持虚拟化手艺的系统有更好的性能。。。。。。
两大CPU巨头Intel和AMD都想方想法在虚拟化领域中占得先机,,,,,,可是AMD的虚拟化手艺在时间上要比Intel落伍几个月。。。。。。Intel自2005年尾最先便在其处置惩罚器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化手艺。。。。。。
而AMD方面也已经宣布了支持AMD Virtualization Technology(AMD VT)虚拟化手艺的一系列处置惩罚器产品,,,,,,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,,,,,,并且绝大大都的AMD下一代主流处置惩罚器,,,,,,包括即将宣布的Socket F接口的Opteron都将支持AMD VT虚拟化手艺。。。。。。
虚拟机是对真实盘算情形的笼统和模拟,,,,,,VMM 需要为每个虚拟机分派一套数据结构来治理它们状态,,,,,,包括虚拟处置惩罚器的全套寄存器,,,,,,物理内存的使用情形,,,,,,虚拟装备的状态等等。。。。。。VMM 调理虚拟机时,,,,,,将其部分状态恢复到主机系统中。。。。。。并非所有的状态都需要恢复,,,,,,例如主机 CR3 寄存器中存放的是 VMM 设置的页表物理地点,,,,,,而不是 Guest OS 设置的值。。。。。。主机处置惩罚器直接运行 Guest OS 的机械指令,,,,,,由于 Guest OS运行在低特权级别,,,,,,当会见主机系统的特权状态(如写 GDT寄存器)时,,,,,,权限缺乏导致主机处置惩罚器爆发异常,,,,,,将运行权自动交还给 VMM。。。。。。别的,,,,,,外部中止的到来也会导致 VMM 的运行。。。。。。
VMM 可能需要先将 该虚拟机的目今状态写回到状态数据结构中,,,,,,剖析虚拟机被挂起的缘故原由,,,,,,然子女表 Guest OS 执行响应的特权操作。。。。。。最简朴的情形,,,,,,如Guest OS 对 CR3 寄存器的修改,,,,,,只需要更新虚拟机的状态数据结构即可。。。。。。一样平常而言,,,,,,大部分情形下,,,,,,VMM 需要经由重大的流程才华完成原本简朴的操作。。。。。。最后 VMM 将运行权还给 Guest OS,,,,,,Guest OS 从上次被中止的地方继续执行,,,,,,或处置惩罚 VMM “塞”入的虚拟中止和异常。。。。。。这种经典的虚拟机运行方法被称为 Trap-And-Emulate,,,,,,虚拟机关于 Guest OS 完全透明,,,,,,Guest OS 不需要任何修改,,,,,,可是 VMM 的设计会较量重大,,,,,,系统整体性能受到显着的损害。。。。。。
