一种虚拟机操作系统的系统层构建方法

文档序号:6499338阅读:159来源:国知局
一种虚拟机操作系统的系统层构建方法
【专利摘要】本发明公开了一种虚拟机操作系统的系统层构建方法,该方法包括:获取本宿主系统文件及其注册表信息;修改所获取的文件及其注册表的相关权限;创建所获取的文件及其注册表的相关链接。采用本发明提供的方法创建虚拟机操作系统的系统层可从宿主系统分离出干净的系统文件,为虚拟机正常运转提供支撑服务。
【专利说明】一种虚拟机操作系统的系统层构建方法
【技术领域】
[0001]本发明涉及虚拟计算机【技术领域】,具体地说,涉及一种虚拟机操作系统的系统层构建方法。
【背景技术】
[0002]为了打造轻量级虚拟机、快捷的虚拟机、稳定的虚拟机、独立可携带的虚拟机,首先,轻量级就代表着我们的虚拟机占用的空间非常小,小巧方便。在一定前提条件下,在占用存储空间小于IOM的虚拟操作系统VOS可以虚拟出一个当前的操作系统,由于所有的系统文件需要使用本地资源,但是如果大量的使用本地资源就和之前定位的虚拟机特性发生冲突,具体如下:
[0003]第一、对于“稳定的虚拟机”,大量的共用本地资源,如果本地发生某些更改,会影响当前正在使用的用户,单说一项注册表就不可能实时同步到用户中去,这就造成了不可预知的影响,也就是不稳定。
[0004]第二、对于“可移植的虚拟机”,例如,机器PCl有运行库A,当VOS里安装某款软件,这款软件需要A的支持,但是其检测到本地有运行库A,所以安装时不会安装A,当移植到PC2后,因为系统层是动态模拟PC2创建的,而此时PC2并没有A,这时之前安装的那款软件就会出现问题,会弹出丢失某某运行库的错误。
[0005]第三、对于“快捷的虚拟机”,大量使用本地资源,同时还需要保证产生的一个干净的操作系统给用户,这样就需要大量的过滤配置档来指定某些目录的过滤文件,过滤文件的庞大,增加了 VOS运行时的压力,因为每一次三层合并的过程中都需要扫描相应的过滤文件,所以说过滤文件的增大,会影响VOS的运行速率。
[0006]如何克服上述冲突中的部分或全部是需要解决面前的问题。

【发明内容】

[0007]鉴于可构建多个相互独立的虚拟机的虚拟机系统中的情况,本发明提供一种虚拟机装置的系统层构建方法。
[0008]本发明提供的一种虚拟机操作系统的系统层构建方法,包括:
[0009]获取本宿主系统文件及其注册表信息;
[0010]修改所获取的文件及其注册表的相关权限;
[0011]创建所获取的文件及其注册表的相关链接。
[0012]采用本发明提供的方法创建虚拟机操作系统的系统层可从宿主系统分离出干净的系统文件,为虚拟机正常运转提供支撑服务。
【专利附图】

【附图说明】
[0013]图1是本发明提供的虚拟机操作系统的系统层构建方法流程图。【具体实施方式】
[0014]鉴于要打造打快捷的虚拟机、稳定的虚拟机、轻量级虚拟机、独立可携带的虚拟机,需要克服【背景技术】中所述的冲突中的部分或全部。因此本发明提出一种新的VOS系统层,就是一个支持独立模式的系统层,此系统层除了 Windows目录与WinSxs继续使用本地资源,其他的文件系统则完全独立出来,基于此以后还可完全独立。
[0015]所谓系统层就是虚拟机装置中最接近真实操作系统的一些系统基础文件,这些文件是从本地的操作系统中提取出来作为虚拟机装置的系统文件。比如,虚拟机装置启动之后桌面是什么、都包含哪些应用程序,这些都取决于系统层是如何获取的,可以把获取的这些文件理解为虚拟机操作系统的镜像。
[0016]通常,用户首先要求的是产品稳定与快捷,这是需要着重考虑并解决,至于轻量级和可携带在此基础上产品的特定和亮点,所以系统层的设计方向也就大体确定下来,那就是保证运行稳定的情况下,做到轻量级和可移植。
[0017]具体地说,稳定和独立是分不开的,既然要稳定那必须就得完全独立出来,尽量不依赖于本地资源,这样的话也解决了移植携带的问题,但是这样的弊端就是需要携带庞大的系统文件,可能对轻量级的定位产生了冲击,但是对于多用户同时使用的虚拟机系统而言,这种冲击就微乎其微,因其系统层是共用的,也就是说一个服务器100人共用同一个系统层,那即使具有一个庞大的系统层也是可以接受的。
[0018]参照图1,本发明提供的一种虚拟机操作系统的系统层构建方法,包括:
[0019]S01,获取本宿主系统文件及其注册表信息;
[0020]S02,修改所获取的文件及其注册表的相关权限;
[0021]S03,创建所获取的文件及其注册表的相关链接。
[0022]具体实施方案中,上述步骤S01-S03中的获取、创建或修改的步骤是通过系统数据库实现的。
[0023]获取系统层文件及其注册表是通过数据库来配置实现的,数据库包括关系数据库、内存数据库、XML、INI文件等。具体地,通过数据库,将系统必须使用到的一些系统运行库、驱动文件、系统服务组件、系统自带应用、主题、字体等相关的系统文件全部提取出来。
[0024]通过数据库,将系统必须使用到的一些系统运行库信息、驱动文件信息、系统服务组件信息、系统自带应用信息、等相关的系统信息全部提取出来。
[0025]实施例中,本宿主系统文件具体包括:
[0026]系统必须使用到的系统运行库、驱动文件、系统服务组件、系统自带应用、主题、字体;
[0027]所需获取的注册表信息具体包括:
[0028]系统运行库信息、驱动文件信息、系统服务组件信息、系统自带应用信息、等相关的系统信息。
[0029]具体实施例中,若所述虚拟机操作系统为视窗Windows系统,所述创建所获取的文件及其注册表的相关链接具体包括:
[0030]对所获取的文件创建的链接LINK为50个目录链接(Juction)路径和I个符号链接(symboliclink)路径。
[0031]具体实施例中,若所述虚拟机操作系统为64位操作系统,所述创建注册表的相关链接具体包括:
[0032]采用Link的方式对64位注册表视图的若干32位Key进行处理。
[0033]具体实施例中,修改所获取的文件及其注册表的相关权限具体为:
[0034]去除获取系统文件及注册表时用户的权限;
[0035]基于所述操作系统本身的权限和属性进行设置。
[0036]其中所述相关链接为硬链接、目录链接和/或符号链接。
[0037]在本发明的具体实施例中,虚拟机操作系统的系统层构建方法如下:
[0038]获取系统层文件及其注册表是通过数据库来配置实现的,数据库包括关系数据库、内存数据库、XML、INI文件等。
[0039]系统文件的提取:
[0040]通过数据库,将系统必须使用到的一些系统运行库、驱动文件、系统服务组件、系统自带应用、主题、字体等相关的系统文件全部提取出来。
[0041]注册表的提取:
[0042]通过数据库,将系统必须使用到的一些系统运行库信息、驱动文件信息、系统服务组件信息、系统自带应用信息、等相关的系统信息全部提取出来。
[0043]提取文件后,制作链接(Link)
[0044]以windows操作系统为例,windows操作系统自带的LINK为50个Juction路径和I个symboliclink路径,所以提取出的文件也需要对应做相应处理。
[0045]注册表:在64位操作系统上,64位注册表视图有很多32位Key也是采用Link的方式做的处理,所以在抓取后的注册表上也需要做对应的Link处理。
[0046]文件权限的设置
[0047]创建目录结构必须遵循操作系统本身的权限和属性,同时还需要去除获取系统层文件时,当前用户的权限,并将它的权限变更为任意用户(EveryOne),这样所得到的系统层就可以通用了。
[0048]在此需要进一步说明的是链接Link关系:
[0049]在VOS启动前,采用外部程序创建VOS文件目录的链接结构,系统层,模板层,用户层这三层都需要创建。以前并没有系统的查找遍历操作系统Junction,而是通过人工测试的方式发现的文件Junction,有的还不太准确,然后通过XML档模拟了 6个文件Junction,这样的话在虚拟环境制造了和本地文件系统Junction相似的一个假象。然而经过深入检查,文件连接远远多于之前所模拟的6个,而是50个目录链接Juction和I个符号链接symboliclink,但是自己的VOS文件系统里并不打算采用symboliclink,因为测试发现符号链接symboliclink虽然支持网络路径,但是不支持目录共享,这会对在网络路径上的用户层访问产生影响,而目录链接Juction虽然不支持网络路径,但是支持目录共享,这样的话换种方式可以实现之前需求。这样的话就可以用操作系统自己的方式来模拟相应的系统层,不然的话就得在XML中增加51条虚实对应关系了。
[0050]关于文件独立性
[0051]这个独立性主要体现在系统层,之前的做法是采用Junction或者symboliclink在一个空的目录下模拟出一个干净的系统层,而现在是完全将本地的应用拷贝出来作为自己的系统文件,这样的好处是:第一、符号链接对于网络路径会有隐患。第二、单纯的Link虽说系统层轻巧,但还是用的本地文件,这样的话还会经常出现像MediaPlay那种版本号问题。不如将文件直接复制出来稳健。
[0052]数据库优化
[0053]大大减少了 VOS的虚实路径对应关系数据库,加快了 VOS运行速度,在查找和安装应用时效果明显。
[0054]本发明虽然以示范性实施方案公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
[0055]本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
【权利要求】
1.一种虚拟机操作系统的系统层构建方法,其特征在于,包括: 获取本宿主系统文件及其注册表信息; 修改所获取的文件及其注册表的相关权限; 创建所获取的文件及其注册表的相关链接。
2.如权利要求1所述的系统层构建方法,其特征在于, 所述获取、创建或修改的步骤是通过系统数据库实现的。
3.如权利要求1所述的系统层构建方法,其特征在于, 所述本宿主系统文件具体包括: 系统必须使用到的系统运行库、驱动文件、系统服务组件、系统自带应用、主题、字体; 所需获取的注册表信息具体包括: 系统运行库信息、驱动文件信息、系统服务组件信息、系统自带应用信息、等相关的系统信息。
4.如权利要求1所述的系统层构建方法,其特征在于,当所述虚拟机操作系统为视窗Windows 系统, 所述创建所获取的文件及其注册表的相关链接具体包括: 对所获取的文件创建的链接为50个目录链接Juction路径和I个符号链接路径。
5.如权利要求1所述的系统层构建方法,其特征在于,当所述虚拟机操作系统为64位操作系统, 所述创建注册表的相关链接具体包括: 米用Link的方式对64位注册表视图的若干32位Key进行处理。
6.如权利要求1所述的系统层构建方法,其特征在于, 修改所获取的文件及其注册表的相关权限具体为 去除获取系统文件及注册表时用户的权限; 基于所述操作系统本身的权限和属性进行设置。
7.如权利要求1所述的系统层构建方法,其特征在于,所述相关链接为硬链接、目录链接和/或符号链接。
【文档编号】G06F9/455GK103970740SQ201310027790
【公开日】2014年8月6日 申请日期:2013年1月24日 优先权日:2013年1月24日
【发明者】不公告发明人 申请人:北京伸得纬科技有限公司, 国际伸得纬有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1