VCPU(Virtual CPU,虚拟CPU)是采用一种虚拟方法,实现将CPU核虚拟成两个核:“虚数据核”、“虚系统核”,两核通过时间片调度机制独立运行。虚数据核实现数据快速转发处理,虚系统核实现操作系统以及协议栈等控制管理平面处理。
在单核CPU系统,VCPU实现数据和管理控制分离。虚数据核:运行快转数据平面类线程,处理快转平面的业务模块,处理快转平面数据报文,与多核中其它数据核平等;虚系统核:运行操作系统的相关处理,包括控制平面和管理面的处理,进程的数据处理等。虚数据核和虚系统核实际上在一个独立的核上运行,通过软件控制虚拟出两个独立的核。在单核系统中,两个虚核一个运行快转数据平面,一个运行控制管理平面。
Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。