Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25637
  • 博文数量: 19
  • 博客积分: 559
  • 博客等级: 中士
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-09 15:58
文章分类
文章存档

2012年(19)

我的朋友
最近访客

分类: C/C++

2012-05-15 16:48:47

把软件放进自己的篮子——云端软件平台初探

喜欢“折腾”各种软件的朋友都知道,要用软件,首先要去网上搜,然后是下载、安装,最要命的是重装系统之后大部分软件都不能用了!噩梦还得再来一次……最近,一款名为“云端软件平台”(下面简称云端)的软件吸引了很多人的眼光,把工具软件安装到这个平台里,需要用软件时启动云端就可以了,不用时,关闭云端软件就都“卸载”了,即用即点,拷到优盘里就可以在其他电脑上使用自己的所有软件。非常方便,也非常“神奇”,其中有什么玄机呢?

首先,我们先来看看这个神奇的家伙,注册一个云端的账号后,依次单击“备份→上传软件列表”,单击“确定”后你的软件列表就保存到云端的服务器上了,免去下次搜索的麻烦),点击软件的“软件库”按钮,我们就在右边的浏览窗口中看到了很多软件列表,这些都是经过自动化处理后的软件。通过上面的搜索框我们可以搜索到需要的软件,例如我们搜索“WPS”,下面我们可以找到“WPS 2009中文版”,下载完之后,在云端软件里点击图标就可以直接运行了!虽然没有像以前那样安装到电脑里,但你打开对应的文件,WPS就自动调用了,和直接安装毫无区别。关闭云端,WPS就会立马消失,和没装过一样。如果你把云端软件和对应的“Cache”文件放在优盘上,当你重装系统或者更换电脑后,插上优盘,启动云端,所有的软件就又都有了。

体验云端的方便,你肯定想知道这是怎么实现的吧!其实云端采用的主要技术是“应用虚拟化技术”。众所周知,我们的计算机由硬件和软件组成,其中软件运行在一个“大软件”——操作系统中。我们可以简单地把硬件、操作系统和软件分别对应为桌子、桌布和我们的午餐。有人偏偏要换个方法吃午餐,比如在桌子上再摆一张桌子(硬件虚拟化,Machine Virtualization),或者再垫上一小块桌布(操作系统虚拟化,OS Virtualization)。如果仅仅是为了使得桌子更容易收拾,这样做还是很麻烦。聪明的你一定想到,何不将午餐放进一个大篮子里?想吃啥拿啥,吃完连篮子一起带走。这样,桌子可以一直保持干净,篮子还能带到别的桌上去吃。

“云端软件平台”就是这样一个篮子。它使用的是应用程序虚拟化技术,应用程序虚拟化技术是在操作系统上通过虚拟文件系统、注册表等技术,让在其中运行的程序如同运行在一个隔离的篮子中,也就是说我们的午餐(软件)不是真正存在于桌布(操作系统)上。

以我们刚才下载的WPS Office来说,在没有激活的状态下在“C:\Program Files\Kingsoft”目录下是看不到WPS的安装文件的,我们打开“云端软件平台”的缓存目录,例如:“D:\CloudCache\2316CDB4C24D2E6C6978CB4498FCBBCEBB7E5B25”,在这里我们可以看到一个ResourceID.ini的文件,打开可以看到WPS 2009中文版的字样,原来真正的WPS在这里呢!当我们双击WPS文字图标的时,WPS 2009自动激活了,在“Program Files\Kingsoft”目录中也可以看到WPS的目录了。整个过程我们可以用如图2所示的流程图来表示,当WPS 2009被云端虚拟化后,云端将WPS2009原本写到注册表系统的注册表项和写到文件系统的的文件分离出来,存储在WPS 2009的注册表缓存和文件缓存中,这些缓存数据存储在云端独有的缓存里(cloudcache)。当在云端中激活WPS 2009时,云端会将WPS 2009的注册表缓存投影到真实系统的注册表中,并不占用该物理位置空间。文件系统也是如此,云端会将文件缓存投影至真实的文件系统中,当系统访问这些文件中,系统认为访问了C:\Program Files\Kingsoft\WPS Office Personal的文件,其实访问的是C:\CloudCache\2316CDB4C24D2E6C6978CB4498FCBBCEBB7E5B25\0\##PROGRAM_FILES##\Kingsoft\WPS Office Personal下的文件。此时,安装在系统中的其他进程都可以看到WPS 2009的注册项和文件集合,并认为是真实的。他们对彼此的注册表项和文件集合的互相访问和使用都照常进行。当虚拟化停止时,投影将不存在,系统干干净净。所以云端对平台下的软件可以做到想显示就显示,想隐藏就隐藏!甚至还可以把软件还原到初始化状态,很神奇吧,这也就是应用程序虚拟化的实力!

当然这个篮子的能力不仅如此,当我们重装系统之后,系统就会快很多,为什么呢?这是因为我们安装的软件都在系统中写入了大量的注册表,安装了很多DLL等,而云端采用虚拟化技术,这些注册表和DLL都是注册在隔离的篮子里面,保证了系统不被拖慢。同时只要你指定的缓存目录不被破坏,那这些软件在重装系统之后仍可直接使用,解决了重装系统后需要安装大量软件的难题!

阅读(352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~