CN101645019A - 虚拟操作系统创建方法 - Google Patents
虚拟操作系统创建方法 Download PDFInfo
- Publication number
- CN101645019A CN101645019A CN200810117733A CN200810117733A CN101645019A CN 101645019 A CN101645019 A CN 101645019A CN 200810117733 A CN200810117733 A CN 200810117733A CN 200810117733 A CN200810117733 A CN 200810117733A CN 101645019 A CN101645019 A CN 101645019A
- Authority
- CN
- China
- Prior art keywords
- suspension member
- opetrating system
- virtual opetrating
- virtual
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Abstract
本发明提供一种虚拟操作系统创建方法。该方法包括获取载入虚拟操作系统的指令消息,指令消息中包括所要载入的虚拟操作系统对应的应用程序的标识信息;在虚拟环境数据库中,获取执行标识信息对应的应用程序所需的虚拟操作系统挂件的配置信息;根据配置信息,将执行应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,并载入使用者模式内存空间中。本发明以资源为单位形成虚拟操作系统挂件,实现资源共享,将独立功能的挂件独立出来,需要时进行组合调用灵活有弹性,便于后续虚拟操作系统的动态更新及升级,让每个应用程序都有自己专属的虚拟操作系统,而且可以根据要求动态地调整虚拟操作系统的能力,实现个性化修改。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟操作系统创建方法。
背景技术
随着计算机技术的不断发展,计算机的功能越来越强大,已经涵盖了人们生活的方方面面,包括了学习、娱乐、办公以及购物等。虽然移动存储设备或存储服务器给用户带来的方便,使用户能够在不同的计算机上工作,但由于不同计算机的工作环境以及安装的应用软件大相径庭,因此给用户带来极大的困扰,虚拟操作系统(Virtual Operating System;简称:VOS)可以解决这样的困扰。虚拟操作系统是基于虚拟机运行的主机操作系统创建了一个虚拟层,用来虚拟主机的操作系统。虚拟操作系统运行于操作系统之上,应用程序之下,虚拟操作系统提供用户不同于一般的操作环境,并将上面执行的应用程序进行修改,以符合当时的需求。现有技术中载入内存空间的虚拟操作系统是一个整体,对于虚拟环境中的所有应用程序均加载相同的虚拟操作系统,因此不能根据应用程序的实际需要加载相适应的虚拟操作系统,无法动态调整所加载的虚拟操作系统,适应能力差。
发明内容
本发明提供一种虚拟操作系统创建方法,用以解决现有技术中载入的虚拟操作系统适应能力差的缺陷,提高虚拟操作系统的适应能力。
本发明提供一种虚拟操作系统创建方法,包括:
获取载入虚拟操作系统的指令消息,所述指令消息中包括所要载入的虚拟操作系统对应的应用程序的标识信息;
在虚拟环境数据库中,获取执行所述标识信息对应的应用程序所需的虚拟操作系统挂件的配置信息;
根据所述配置信息,将执行所述应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,并载入使用者模式内存空间中。
本发明提供的虚拟操作系统创建方法,以资源为单位形成虚拟操作系统挂件,实现资源共享,由于并不是每个应用程序都有相同的资源需求,将独立功能的资源挂件独立出来,需要时进行组合调用,灵活有弹性;由于虚拟操作系统以资源挂件的形式进行调用资源,修改应用程序,因此便于后续虚拟操作系统的动态更新及升级;让每个应用程序都有自己专属的虚拟操作系统,而且可以根据要求动态地调整虚拟操作系统的能力,实现个性化修改。
附图说明
图1为本发明虚拟环境组成示意图;
图2为本发明虚拟操作系统实现示意图;
图3为本发明虚拟操作系统创建方法流程图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
虚拟操作系统的实现给人们的工作生活带来了极大的方便。虚拟操作系统能够模拟出用户习惯的操作界面,使用户能够在异地使用到以自己习惯的操作方式和用户界面进行配置的操作系统;能够携带软件,在异地主机没有安装软件的环境下,用户可以使用虚拟操作系统虚拟出所需的软件进行相应的编辑;可以存储在移动存储设备或存储服务器中,使用户不需要携带沉重的笔记本电脑即可在不同的地方使用同一个熟悉的系统环境。虚拟操作系统不是真正的操作系统,而是一个特殊程序,负责拦截应用程序的行为,并根据需求,改变应用程序的行为。虚拟操作系统在应用程序和操作系统之间扮演中介的角色。
图1为本发明虚拟环境组成示意图,如图1所示,所创建的虚拟环境(VE)连接一虚拟环境服务器(VES),VES负责该VE的综合管理;VE为使用者提供用户交互界面(UI),使用者在UI中进行操作如同在实际的操作系统中进行操作。在VE中为使用者提供多个应用程序(APP),每个APP被执行时均会生成专属于该APP的虚拟操作系统,虚拟操作系统负责修改APP调用操作系统的接口,使其转向调用虚拟操作系统本身,完成APP的执行。VE还连接有一个虚拟环境数据库(DB),在DB中存储有执行该VE中的APP所要涉及的虚拟操作系统配置信息。
本发明提供的虚拟操作系统创建方法,将载入到使用者内存空间的虚拟操作系统分成两部分,一部分是虚拟操作系统核心部分,另一部分是虚拟操作系统挂件,其中虚拟操作系统核心部分是执行所有APP均要涉及到的程序部分,属于各个APP的共性部分需维持不变动,其主要功能为接收外部给予虚拟操作系统的指令,并进行相对应的处理;虚拟操作系统挂件(以下简称:挂件)是执行不同的APP所可能涉及到的、为实现某一个相对独立的功能而单独划分出来的一部分程序,当执行某一APP时若需要完成某一功能时,可以将能够实现该功能的挂件连接到虚拟操作系统核心部分上,APP在执行时调用该挂件实现对应功能,满足执行该APP的个性化需求。上述的虚拟操作系统核心部分和虚拟操作系统挂件均可以动态链接库文件的形式存在,按照需求将文件程序载入内存以备调用。图2为本发明虚拟操作系统实现示意图,如图2所示,为执行某一应用程序而载入到使用者模式内存空间中的虚拟操作系统分为两部分,虚拟操作系统核心部分与应用程序链接,在虚拟操作系统核心部分下挂接有多个虚拟操作系统挂件,末端的虚拟操作系统挂件再与底层的操作系统链接。以下详细介绍虚拟操作系统的创建方法,图3为本发明虚拟操作系统创建方法流程图,如图3所示,该方法包括如下步骤:
步骤100,获取载入虚拟操作系统的指令消息,所述指令消息中包括所要载入的虚拟操作系统对应的应用程序的标识信息;
在虚拟环境中执行一个应用程序时,虚拟环境服务器可以根据执行所述应用程序的指令消息,在所述使用者模式内存空间中为所述应用程序分配内存空间,并将所述应用程序的执行代码载入所分配的使用者模式内存空间中。具体地,虚拟环境服务器在接收到在虚拟环境中执行一应用程序的操作命令后,将会在使用者模式内存空间中为该应用程序分配一块内存空间,用于存放执行该应用程序的执行代码,虚拟环境服务器所分配的内存空间对于应用程序而言是独占的;在划分完内存空间后,虚拟环境服务器将执行应用程序所用的执行代码即执行程序载入该内存空间中。在载入应用程序所用的执行代码之后,要载入虚拟操作系统,虚拟环境服务器在通过虚拟环境中例如双击应用程序等操作获取载入虚拟操作系统的指令消息,得知要载入与所要执行的应用程序所对应的虚拟操作系统,虚拟环境服务器可通过指令消息中包括的标识信息获知所要执行哪个应用程序。
步骤101,在虚拟环境数据库中,获取执行所述标识信息对应的应用程序所需的虚拟操作系统挂件的配置信息;
虚拟环境服务器查找虚拟环境中的虚拟环境数据库,从中查找与载入虚拟操作系统的指令消息中包括的标识信息所对应的应用程序的配置信息,通过该配置信息获知执行该应用程序需要在虚拟操作系统核心部分下挂接哪些虚拟操作系统挂件,并将虚拟操作系统核心部分和虚拟操作系统挂件组成虚拟操作系统载入使用者内存空间。
步骤102,根据配置信息,将执行所述应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,并载入使用者模式内存空间中。
在获知要加载哪些挂件后,还要进一步在从虚拟环境数据库中的存储的配置信息中获知所需加载的挂件之间的链接关系,和与虚拟操作系统核心部分的链接方式,然后将各个挂件按照配置信息中所描述的链接关系钩挂在虚拟操作系统核心部分下层,组成虚拟操作系统。根据配置信息,将执行应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,可以是根据配置信息,将具有同类功能的、执行所述应用程序所需的虚拟操作系统挂件组成挂件串;将挂件串与虚拟操作系统核心部分建立链接;将完成链接的虚拟操作系统核心部分和挂件串载入使用者模式内存空间中。在上述组成挂件串的过程中,还要根据配置信息,将具有同类功能的、执行所述应用程序所需的虚拟操作系统挂件,按照设定的排列次序组成挂件串。
一个虚拟操作系统核心可以有多个挂件串,挂件串的组合是以挂件的功能为依据将具有同类功能的挂件划分在同一挂件串中,挂件的功能例如网络功能类、档案系统功能类和字型功能类等,每个挂件串都属于同一类功能,具体参见图2,图中具有同类功能的A1、A2和A3组成档案系统功能类挂件串A,具有同类功能的B1和B2组成网络功能类挂件B,具有同类功能的C1和C2组成字型功能类挂件串C等等;而且各个挂件串之间无次序性,也就是说虚拟操作系统要调用挂件串A时,无需先通过挂件串B或挂件串C,同理当虚拟操作系统要调用挂件串B时,也无需先通过挂件串A或挂件串C等,每个挂件串均是独立地与虚拟操作系统核心部分链接的。进一步地,挂件串内的各个挂件是有先后次序的,挂件次序也会影响系统运作的方式。第一次载入虚拟操作系统时,从虚拟环境数据库取得要加载的挂件有哪些,以及它们的次序,将虚拟操作系统核心部分和这些挂件串接起来,载入使用者模式内存空间中。
应用程序运行过程中,虚拟操作系统核心部分可以接受来自虚拟环境服务器的指令消息,并对指令消息进行解析,得知关于虚拟操作系统挂件的更改需求即需要如何动态地改变挂件,包括设定挂件叁数、加载挂件、卸载挂件和挂件次序调动等。虚拟操作系统核心部分根据更改挂件的指令消息,动态更改与所述虚拟操作系统核心部分虚链接的操作系统挂件:若需求为设定挂件叁数时,虚拟操作系统会对挂件做正确的设定以改变挂件行为;若需求为加载挂件时,虚拟操作系统核心部分根据加载挂件的指令消息,在对应的挂件串中、对应的位置上动态挂接所要加载的虚拟操作系统挂件;若需求为卸载挂件时,虚拟操作系统核心部分根据卸载挂件的指令消息,在对应的挂件串中动态删除所要卸载的虚拟操作系统挂件;若需求为调动挂件次序时,虚拟操作系统核心部分根据调动挂件次序的指令消息,在对应的挂件串中,按照调动挂件次序的要求动态调动虚拟操作系统挂件的挂接次序。
以下以加载挂件为例对动态更改载入挂件进行详细描述。在虚拟操作系统核心部分中有一指令接收器,对指令进行侦听、解析和执行。虚拟操作系统对指令进行侦听,并接收发给虚拟操作系统的指令;对接收到的指令进行解析,得知修改需求,并根据修改需求获得所需资源挂件;调用资源挂件,实现对APP的修改。例如在运行“Word”软件时,若发现异常需要断开“Word”与网络的连接时,虚拟环境向虚拟操作系统发送网络断开指令;虚拟操作系统侦听过程中接收该指令,并对其进行解析;得知需要断开运行的“Word”与网络的连接,查找并调用网络连接挂件,通过该资源挂件修改“Word”与网络的连接状态即断开网络连接。整个过程并不影响虚拟环境内其它应用程序的运行。
本发明提供的虚拟操作系统创建方法,以资源为单位形成虚拟操作系统挂件,实现资源共享,由于并不是每个应用程序都有相同的资源需求,将独立功能的资源挂件独立出来,需要时进行调用,灵活有弹性;由于虚拟操作系统以资源挂件的形式进行调用资源,修改应用程序,因此便于后续虚拟操作系统的动态更新及升级;让每个应用程序都有自己专属的虚拟操作系统,而且可以根据要求动态地调整虚拟操作系统的能力,实现个性化修改。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1、一种虚拟操作系统创建方法,其特征在于包括:
获取载入虚拟操作系统的指令消息,所述指令消息中包括所要载入的虚拟操作系统对应的应用程序的标识信息;
在虚拟环境数据库中,获取执行所述标识信息对应的应用程序所需的虚拟操作系统挂件的配置信息;
根据所述配置信息,将执行所述应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,并载入使用者模式内存空间中。
2、根据权利要求1所述的虚拟操作系统创建方法,其特征在于所述根据所述配置信息,将执行所述应用程序所需的虚拟操作系统挂件与虚拟操作系统核心部分建立链接,并载入使用者模式内存空间中包括:
根据所述配置信息,将具有同类功能的、执行所述应用程序所需的虚拟操作系统挂件组成挂件串;
将所述挂件串与所述虚拟操作系统核心部分建立链接;
将完成链接的所述虚拟操作系统核心部分和所述挂件串载入所述使用者模式内存空间中。
3、根据权利要求2所述的虚拟操作系统创建方法,其特征在于所述根据所述配置信息,将具有同类功能的、执行所述应用程序所需的虚拟操作系统挂件组成挂件串包括:
根据所述配置信息,将具有同类功能的、执行所述应用程序所需的虚拟操作系统挂件,按照设定的排列次序组成挂件串。
4、根据权利要求1或2或3所述的虚拟操作系统创建方法,其特征在于还包括:所述虚拟操作系统核心部分根据更改挂件的指令消息,动态更改与所述虚拟操作系统核心部分链接的虚拟操作系统挂件。
5、根据权利要求4所述的虚拟操作系统创建方法,其特征在于所述虚拟操作系统核心部分根据更改挂件的指令消息,动态更改与所述虚拟操作系统核心部分链接的虚拟操作系统挂件包括:
所述虚拟操作系统核心部分根据设定挂件参数的指令消息,修改对应的挂件串中挂接的虚拟操作系统挂件的参数;或
所述虚拟操作系统核心部分根据加载挂件的指令消息,在对应的挂件串中、对应的位置上动态挂接所要加载的虚拟操作系统挂件;或
所述虚拟操作系统核心部分根据卸载挂件的指令消息,在对应的挂件串中动态删除所要卸载的虚拟操作系统挂件;或
所述虚拟操作系统核心部分根据调动挂件次序的指令消息,在对应的挂件串中,按照调动挂件次序的要求动态调动虚拟操作系统挂件的挂接次序。
6、根据权利要求5所述的虚拟操作系统创建方法,其特征在于所述虚拟操作系统核心部分根据更改挂件的指令消息之前包括:
所述虚拟操作系统核心部分接收指令消息,并对所述指令消息进行解析,得知关于虚拟操作系统挂件的更改需求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810117733A CN101645019A (zh) | 2008-08-04 | 2008-08-04 | 虚拟操作系统创建方法 |
US12/267,997 US20100031256A1 (en) | 2008-08-04 | 2008-11-10 | Method for establishing virtual operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810117733A CN101645019A (zh) | 2008-08-04 | 2008-08-04 | 虚拟操作系统创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101645019A true CN101645019A (zh) | 2010-02-10 |
Family
ID=41609667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810117733A Pending CN101645019A (zh) | 2008-08-04 | 2008-08-04 | 虚拟操作系统创建方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100031256A1 (zh) |
CN (1) | CN101645019A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880499A (zh) * | 2012-10-10 | 2013-01-16 | 京信通信系统(中国)有限公司 | Wlan无线接入控制方法及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516455B2 (en) * | 2011-06-14 | 2013-08-20 | International Business Machines Corporation | Dynamic loading of kernel extensions |
US8910138B2 (en) * | 2012-05-23 | 2014-12-09 | Oracle International Corporation | Hot pluggable extensions for access management system |
US9972300B2 (en) * | 2015-06-11 | 2018-05-15 | Genesys Telecommunications Laboratories, Inc. | System and method for outlier identification to remove poor alignments in speech synthesis |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2102883A1 (en) * | 1993-02-26 | 1994-08-27 | James W. Arendt | System and method for lazy loading of shared libraries |
US6842856B2 (en) * | 2001-05-11 | 2005-01-11 | Wind River Systems, Inc. | System and method for dynamic management of a startup sequence |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
US7673308B2 (en) * | 2002-11-18 | 2010-03-02 | Symantec Corporation | Virtual OS computing environment |
GB2415066A (en) * | 2004-06-09 | 2005-12-14 | Symbian Software Ltd | Selecting most suitable plug-in |
US7823152B2 (en) * | 2006-06-06 | 2010-10-26 | International Business Machines Corporation | System and method for collaborative hosting of applications, virtual machines, and data objects |
US8161477B2 (en) * | 2008-02-21 | 2012-04-17 | Oracle International Corporation | Pluggable extensions to virtual machine monitors |
US8522237B2 (en) * | 2008-04-09 | 2013-08-27 | The Boeing Company | Virtualizing embedded systems |
US8543998B2 (en) * | 2008-05-30 | 2013-09-24 | Oracle International Corporation | System and method for building virtual appliances using a repository metadata server and a dependency resolution service |
-
2008
- 2008-08-04 CN CN200810117733A patent/CN101645019A/zh active Pending
- 2008-11-10 US US12/267,997 patent/US20100031256A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880499A (zh) * | 2012-10-10 | 2013-01-16 | 京信通信系统(中国)有限公司 | Wlan无线接入控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20100031256A1 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111199381B (zh) | 一种基于流程引擎实现的智能工单审批方法 | |
CN101192165B (zh) | 主从式多处理器系统以及软件版本加载方法 | |
CN106250199B (zh) | 一种多语言云编译的动态微服务调用方法及装置 | |
CN103455381B (zh) | 用于将源软件组件的源对象的表示解序列化为目标软件组件的方法和系统 | |
CN100552629C (zh) | 实现基于数据兼容性的版本计划 | |
CN100407659C (zh) | 一种软件版本升级的实现方法 | |
US8191080B2 (en) | System and method for dynamic version management of applications | |
CN106933570A (zh) | 一种基于插件技术的航天测发控软件平台 | |
CN103677921B (zh) | 一种Android系统兼容wifi芯片的方法及系统 | |
US6754848B1 (en) | Method, system and program products for operationally migrating a cluster through emulation | |
CN106227611A (zh) | 一种多语言云编译的动态微服务调用方法及装置 | |
CN101645020A (zh) | 虚拟操作系统创建方法 | |
EP4049131B1 (en) | Modifying program modules in running applications | |
CN109087004A (zh) | 一种基于领域模型的公共工作流引擎系统 | |
CN107357571A (zh) | 设备组件程序的维护方法、系统及组件服务器 | |
CN101645019A (zh) | 虚拟操作系统创建方法 | |
CN103036855A (zh) | 一种权限管理的实现设备和方法 | |
CN106990987A (zh) | 基于karaf_agent端的插件/业务组件自动化管理装置及方法 | |
CN110516000A (zh) | 一种支持复杂工作流结构的工作流管理系统 | |
CN107943504B (zh) | 一种嵌入式系统中软件模块的动态升级方法 | |
CN102023857A (zh) | 基于ServiceOS的多平台应用程序服务管理方法及系统 | |
CN101963933A (zh) | 仪器测试中适应多通信协议的仪器静态匹配方法 | |
CN117032118A (zh) | 基于工业物联网的软plc系统 | |
CN108334374A (zh) | 组件动态加载与执行的方法和装置 | |
CN100428151C (zh) | 大规模并发联机交易中基于版本的c/c++组件热插拔方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20100210 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |