云端采用的应用虚拟化技术,与目前较为人熟知的硬件虚拟化(machine Virtualization,如VMware、Virtual PC等)、操作系统虚拟化(OS Virtualization, 如Virtuozzo等)不同,云端的应用虚拟化更轻量级,更适用于桌面和应用程序等的虚拟化,为PC领域带来更好的桌面和软件使用的体验。
实现原理
下面以云端的隐藏与激活的功能为例,简要说明下云端应用虚拟化的实现原理。
未使用云端的PC 系统环境:系统中有本地安装的软件A和其它系统进程。 当系统没有使用云端时,用普通方法在本地安装软件A后,在注册表系统中有软件A的注册表项集合,在文件系统中有软件A文件集合。同时,注册表系统和文件系统还有系统其它进程的注册表项和文件集合。
件A和其它系统进程,一般都可对注册表系统和文件系统的任何位置访问,不管这个注册表项和文件集合是自己的还是别的进程的。所有写的操作的结果都会留在原始的物理位置上。
使用了云端的PC:被虚拟化的软件B,处于激活状态 系统环境:系统中有被虚拟化的软件B、本地安装的软件B和其它系统进程。 当软件B被云端虚拟化后,云端将软件B原本写到注册表系统的注册表项和写到文件系统的的文件分离出来,存储在软件B的注册表缓存和文件缓存中,这些缓存数据存储在云端独有的缓存里(cloudcache)。
当在云端中激活软件B时,云端会将软件B的注册表缓存投影到真实系统的注册表中,并不占用该物理位置空间;文件系统也是如此,会将文件缓存投影至真实的文件系统中,并不占物理空间。
此时,安装在系统中的软件A和其它进程都可以看到软件B的注册项和文件集合,并认为是真实的。他们对彼此的注册表项和文件集合的互相访问和使用都照常进行。
但对于软件B的注册表和文件的投影的写操作和读操作,其实都直接针对其缓存,而不是软件A和其它进程所看到的位置。
使用了云端的PC:处于隐藏状态的软件B 系统环境:系统中有处于隐藏状态的软件B,本地安装的软件A和其它系统进程。 S当将软件B被隐藏后,云端将取消软件B原来的注册表和文件的投影,软件A和其它系统进程也就看不到了。效果相当于软件B在系统中被卸载了。
来源:http://www.yunduan.cn