虚拟化通过提供灵活性、便捷性以及增强的IT基础设施鲁棒性,为IT带来了巨大的变革。与物理目标硬件相比,虚拟化为那些面向普通计算机的软件开发人员带来了更大的帮助,其中包括下列功能:
轻松地管理多种虚拟机配置(不同的OS版本、不同的内存容量等)。
在这些不同配置上测试/调试自己的软件。
在相互隔离的环境中进行测试/调试,不必担心自己的工作站会崩溃。
不过,软件开发社区的其他人员——那些开发运行在嵌入式设备、非PC/工作站/普通计算机、非x86架构上的软件的开发人员,那些试图去维护过时硬件上的旧版应用程序或运行在供应不足或尚未面世的硬件上的应用程序的开发人员——是否能从中受益呢?
全系统仿真
全系统仿真为这些开发人员甚至非PC硬件配置提供了虚拟化功能。顾名思义,全系统仿真提供了对整个系统进行仿真的能力,其中包括其微处理器、内存、I/O外设、磁盘驱动器、网络连接等。
不过,与其将全系统仿真看作是设备的集合,不如将其看作是最终系统,例如,新型飞机上的航空电子设备机架、通信基站、网络设备、汽车或工业发动机控制器、人造卫星或高端计算服务器。
利用全系统仿真,软件开发人员能够在自己的台式或笔记本电脑上运行整个系统的虚拟表现。开发人员使用标准源代码调试器、编译器和链接器在虚拟系统上加载软件的方式就像对实际目标硬件进行操作一样。不过,一项明显的不同在于,开发人员可以随身携带虚拟系统,这样,即使在旅途中也能够进行开发、调试和测试。
功能
与实际硬件相比,虚拟系统提供了更多的调试功能,这是因为它具有以下特性:逆向执行、保存和重新加载完整系统状态的功能以及窥视并控制虚拟系统设备的功能。这就为软件工程师的调试和测试工作额外提供了一个维度。与只能查看微处理器的寄存器和程序计数器状态的普通调试所不同的是,全系统仿真提供了查看在所有系统设备中所发生事件的功能。