[发明专利]一种虚拟机载入器在审
申请号: | 201310025410.7 | 申请日: | 2013-01-23 |
公开(公告)号: | CN103064718A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 李瑞平 | 申请(专利权)人: | 北京伸得纬科技有限公司;国际伸得纬有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100028 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 载入器 | ||
技术领域
本发明涉及虚拟计算机技术领域,具体地说,涉及一种虚拟机载入器。
背景技术
现有技术中,随着计算机技术的不断发展,计算机的功能越来越强大,虽然移动存储设备或存储服务器给用户带来了很多方便,使用户能够在不同的计算机上工作,但是,由于不同计算机的工作环境以及安装的应用软件大相径庭,因此给用户带来极大的困扰。为了解决上述问题,虚拟操作系统(VOS,VirtualOperating System)技术孕育而生。VOS可以让使用者在本机的操作系统上使用其他的操作系统,每个虚拟操作系统都可以有自己的系统配置、文档、应用程序。虚拟操作系统之间彼此独立,不会互相干扰。使用者可以在一个操作系统上同时准备多个虚拟操作系统,每个虚拟操作系统可以具有不同的用途,例如,游戏、办公、艺术创作等。
现有技术中创建虚拟操作系统的一种方式是通过重量级的虚拟机器(HWVM,HeavyWeight VirtualMachine)建立多个隔离式虚拟操作系统。如果要在虚拟机(VM,Virtual Machine)上安装并运行应用程序,必须先在VM上重新安装一套操作系统(即子操作系统,Guest OS),然后才能正常的安装并运行应用程序。由于VM是需要模拟一个空的机器,因此,在VM里中运行的应用程序在需要调用硬件资源时(例如,读写文件、显示窗体等),下达的每一个指令都必须透过层层转换与传达才能正确运行。
在一种虚拟机系统中,可构建多个相互独立的虚拟机,供若干用户同时使用,各虚拟机中的操作系统、应用程序、用户数据等都是各自独立进行处理的,操作数据和文件分别存放在各自的单元中,这样的架构,可以很好地实现虚拟机的备份/恢复功能,但如何协调好各虚拟机的资源分配、各自的逻辑模块运行是需要解决的一个问题!
发明内容
本发明提供一种虚拟机载入器,可使得虚拟机系统顺畅地启动和运行。
本发明提供的一种虚拟机载入器,包括:
内存分配模块,用于分配内存空间给相应进程;
连接模块,用于处理动态库之间的相互关联;
重定位模块,调整与内存空间大小、位置,使得基于所分配内存可执行相关进程;
载入模块,用于载入虚拟机自身的逻辑模块。
其中,内存分配模块分配内存空间给相应进程,具体包括:
为初始进程及其后续子进程预先分配内存空间。
更适宜地,其中连接模块处理动态库之间的相互关联,具体为:
基于所分配的内存建立子进程并暂停新建立的子进程;
取代子进程的环境控制表与函数入口点;
激活子进程。
其中虚拟机自身的逻辑模块包括虚拟机运行时模块和/或虚拟机逻辑模块。
本发明提供一种虚拟机载入器,通过设置用于分配内存空间给相应进程的内存分配模块,用于处理动态库之间的相互关联的连接模块,调整与内存空间大小、位置,使得基于所分配内存可执行相关进程的重定位模块,以及用于载入虚拟机自身的逻辑模块的载入模块,可使得该虚拟机系统顺畅地启动和运行。
附图说明
图1为本发明实施例中提供的虚拟机系统架构示意图;
图2是本发明提供的虚拟及载入器的软件模块构成示意图;
图3为本发明实施例中提供的在虚拟环境下接管应用程序的详细处理的流程图;
图4为本发明提供的一种虚拟机操作系统运行子进程的流程;
图5为本发明实施例中提供的VOS主模块的运行步骤。
具体实施方式
鉴于虚拟机系统启动和运行所面临的问题,本发明提供的一种虚拟机载入器,可接受目的程序,并将这些目的程序连接成一個可以让虚拟机执行的程序。
本发明所提供的载入器和一般广义上的载入器功能、用法相近,但是针对性不同,本发明的载入器基于一种虚拟机系统,参照图2,该系统中可构建两个以上相互独立的虚拟机,供若干用户同时使用,各虚拟机中的操作系统、应用程序、用户数据等都是各自独立进行处理的,操作数据和文件分别存放在各自的单元中的架构。针对此种虚拟机而设计的。具体实现方案中,每个载入器有各自的逻辑,但是大体流程相通,所以同传统的载入器工作模式大致相同,本发明提供的载入器具有分配、连接、重定位、载入四大功能。
参照图2,本发明提供的一种虚拟机载入器200,包括:
内存分配模块21,用于分配内存空间给相应进程;
连接模块22,用于处理动态库之间的相互关联;
重定位模块23,调整与内存空间大小、位置,使得基于所分配内存可执行相关进程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京伸得纬科技有限公司;国际伸得纬有限公司,未经北京伸得纬科技有限公司;国际伸得纬有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310025410.7/2.html,转载请声明来源钻瓜专利网。