云端软件平台的实现原理
未使用云端的系统系统环境:系统中有本地安装的软件A和其它系统进程。
当系统没有使用云端时,用普通方法在本地安装软件A后,在注册表系统中有软件A的注册表项集合,在文件系统中有软件A文件集合。同时,注册表系统和文件系统还有系统其它进程的注册表项和文件集合。
软件A和其它系统进程,一般都可对注册表系统和文件系统的任何位置访问,不管这个注册表项和文件集合是自己的还是别的进程的。所有写的操作的结果都会留在原始的物理位置上。
使用云端的系统:软件处于激活状态
使用了云端的PC:被虚拟化的软件B,处于激活状态系统环境:系统中有被虚拟化的软件B、本地安装的软件A和其它系统进程。
当软件B被云端虚拟化后,云端将软件B原本写到注册表系统的注册表项和写到文件系统的的文件分离出来,存储在软件B的注册表缓存和文件缓存中,这些缓存数据存储在云端独有的缓存里(cloudcache)。
当在云端中激活软件B时,云端会将软件B的注册表缓存投影到真实系统的注册表中,并不占用该物理位置空间;文件系统也是如此,会将文件缓存投影至真实的文件系统中,并不占物理空间。
此时,安装在系统中的软件A和其它进程都可以看到软件B的注册项和文件集合,并认为是真实的。他们对彼此的注册表项和文件集合的互相访问和使用都照常进行。
但对于软件B的注册表和文件的投影的写操作和读操作,其实都直接针对其缓存,而不是软件A和其它进程所看到的位置。
使用了云端:软件处于隐藏状态
使用了云端的PC:处于隐藏状态的软件B
系统环境:系统中有处于隐藏状态的软件B,本地安装的软件A和其它系统进程。
当将软件B被隐藏后,云端将取消软件B原来的注册表和文件的投影,软件A和其它系统进程也就看不到了。效果相当于软件B在系统中被卸载了。
2024-10-28 广告