- 云端采用的应用虚拟化技术,与目前较为人熟知的硬件虚拟化(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.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。