CN101334751A - 虚拟机监视器识别客户操作系统中进程的方法及装置 - Google Patents
虚拟机监视器识别客户操作系统中进程的方法及装置 Download PDFInfo
- Publication number
- CN101334751A CN101334751A CNA2007101181860A CN200710118186A CN101334751A CN 101334751 A CN101334751 A CN 101334751A CN A2007101181860 A CNA2007101181860 A CN A2007101181860A CN 200710118186 A CN200710118186 A CN 200710118186A CN 101334751 A CN101334751 A CN 101334751A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- current operation
- machine monitor
- identification information
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种虚拟机监视器识别客户操作系统中进程的方法及装置,其中,该方法包括:步骤101,客户操作系统进行进程切换时,虚拟机监视器纪录待运行进程的页表信息;步骤102,虚拟机监视器获取当前运行进程的标识信息;步骤103,虚拟机监视器存储上轮记录的待运行进程页表信息和当前运行进程的标识信息的对应关系。本发明的方法和装置,通过存储进程页表信息和进程的标识信息的对应关系,实现了虚拟机监视器对GOS中的运行进程的定位和监控,将虚拟机监视器对GOS的管理力度提高为进程级。
Description
技术领域
本发明涉及进程监控技术,特别是一种虚拟机监视器识别客户操作系统中运行进程的方法及装置。
背景技术
在虚拟环境下,VMM(Virtual Machine Monitor,虚拟机监视器)中只能看到其上GOS(Guest Operation System,客户操作系统)的整体运行情况,如GOS的资源占用情况,运行状态情况等,但难以识别和定位GOS中运行进程。
但定位和监控GOS中的运行进程又具有非常重要的作用,如对GOS系统负载监视、对GOS系统进程资源使用情况监控、对GOS系统进程死锁检测和解锁、对GOS中给定进程打补丁等都需要定位GOS中的运行进程。
因此,有必要开发一种识别客户操作系统中运行进程的方法及装置,以定位和监控GOS中的运行进程。
发明内容
本发明的目的是提供一种虚拟机监视器识别客户操作系统中进程的方法及装置,定位和监控GOS中的运行进程。
为了实现上述方法,本发明提供了一种虚拟机监视器识别客户操作系统中进程的方法,包括:
步骤101,客户操作系统进行进程切换时,虚拟机监视器纪录待运行进程的页表信息;
步骤102,虚拟机监视器获取当前运行进程的标识信息;
步骤103,虚拟机监视器存储上轮记录的待运行进程页目录基地址和当前运行进程的标识信息的对应关系。
上述的方法,其中,所述页表信息为页目录基地址。
上述的方法,其中,步骤101具体包括:
步骤1011,客户操作系统进行进程切换,访问CR3寄存器;
步骤1012,虚拟机监视器捕获客户操作系统访问CR3寄存器的操作;
步骤1013,虚拟机监视器获取待运行进程的页目录物理基地址。
上述的方法,其中,所述当前运行进程的标识信息为:
当前运行进程的进程描述符中的进程可读标识;或
虚拟机监视器为当前运行进程分配的唯一标识。
上述的方法,其中,所述当前运行进程的标识信息为当前运行进程的进程可读标识时,所述进程描述符由虚拟机监视器从底层硬件获取,或通过特定接口从客户操作系统获取。
上述的方法,其中,所述步骤101中,还包括一判断步骤,判断获取的页目录基地址是否已经保存,如果是,则结束处理,否则进入步骤102。
上述的方法,其中,所述步骤103中,上轮记录的待运行进程页目录基地址和当前运行进程的标识信息的对应关系以键值对方式存储。
为了更好的实现上述目的,本发明还提供了一种虚拟机监视器识别客户操作系统中进程的装置,其中,包括:
页目录基地址纪录模块,用于在客户操作系统进行进程切换时,纪录待运行进程的页表信息;
进程标识信息获取模块,用于获取当前运行进程的标识信息;
存储模块,用于存储上轮记录的待运行进程页表信息和当前运行进程的标识信息之间的对应关系。
上述的装置,其中,所述页表信息为页目录基地址。
上述的装置,其中,所述当前运行进程的标识信息为:
当前运行进程的进程描述符中的进程可读标识;或
进程标识信息获取模块为当前运行进程分配的唯一标识。
本发明的方法和装置,通过存储进程页目录基地址和进程的标识信息的对应关系,实现了虚拟机监视器对GOS中的运行进程的定位和监控,将虚拟机监视器对GOS的管理力度提高为进程级。
在本发明的基础上,可实现很多虚拟环境管理的高级功能,如VMM对GOS进程控制;以进程为单位的资源分配;死锁检测;虚拟环境中的进程迁移,Guest OS系统加固,以及为GOS中给定进程打patch等重要应用。
附图说明
图1为本发明的方法的实施例的流程示意图。
具体实施方式
本发明通过在进程切换时,由VMM记录待运行进程页表信息和当前运行进程的标识信息后,然后根据页表信息和标识信息来识别进程。
下面以页目录基地址为例对本发明的方法和装置进行详细说明,但应当理解的是,利用页表信息中的其他信息也可实现本发明。
如图1所示,为本发明的方法的实施例的流程示意图,其包括:
步骤101,GOS进行进程切换时,VMM纪录待运行进程的页目录基地址;
步骤102,VMM获取当前运行进程的标识信息;
步骤103,VMM存储上轮记录的待运行进程页目录基地址和当前运行进程的标识信息的对应关系。
下面对每个步骤进行进一步详细说明。
在步骤101中,GOS进行进程切换,有可能在内核态的非中断上下文调用,如系统调用或驱动程序中等,也可能在内核态的中断上下文调用,如时钟中断的timekeeping阶段。
在步骤101中,GOS进行进程切换时,会载入待运行进程的页目录,而载入待运行进程的页目录需要执行以下操作:
从CR3寄存器中获取页目录的物理基地址和载入对应的页表。
很明显,一旦GOS访问CR3寄存器,就会被VMM捕获,引发GOS到VMM运行环境的切换,此时,VMM即可获取待运行进程的页目录物理基地址。
在步骤102中,当前运行进程的标识信息可以包括两种情况:
1、当前运行进程的标识信息为当前运行进程的进程可读标识;
2、VMM为当前运行进程分配唯一的标识。
在第二种情况下,只需要保证为当前运行进程分配的标识与已分配给其他已运行进程的标识不同即可实现,在此不进行详细描述。
但很明显,利用进程可读标识来标识当前运行进程可以更有效地根据进程名称来监控进程。
下面就针对这种情况,即进程的标识信息为进程可读标识这一种情况进行详细说明。
客户操作系统为每个进程都对应维护一个进程描述符,而该进程描述符中包括进程可读标识。
以Linux操作系统为例,Linux进程管理中当前运行进程的进程描述符可通过内核或中断堆栈指针信息解析出,因为堆栈信息和进程信息被安排在相连的页面中存储。
因此,可通过如下代码获取当前运行进程的进程描述符。
movl $0xffffe000,%ecx/*or 0xfffff000 for 4KB stacks*/
andl%esp,%ecx
movl(%ecx),p
而对于Windows操作系统来讲,当前运行进程的进程描述符可从prcb(processor control block)解析获得,对于每一种处理器来说,prcb的地址是固定的,因此VMM可根据该地址方便的获取当前运行进程的进程描述符。
在获取了当前运行进程的进程描述符后,即可从中获取当前运行进程的进程可读标识。
当然,VMM获取该进程描述符还可以是,由GOS通过特定接口将进程描述符表暴露给VMM,如通过虚拟设备的方式告诉VMM。
上述两种获取进程描述符的方式的不同之处在于,前一种方式不需要GOS的参与,而后一种方式需要与GOS交互获取进程描述符,因此需要对GOS作出修改。
同时,为了避免重复存储,在步骤101中,在VMM获取了待运行进程的页目录基地址之后,还可包括一判断步骤,判断待运行进程的页目录基地址是否已经保存,如果是,则说明前面的处理中已经保存了页目录基地址和进程的标识信息的对应关系,表明该待运行进程已经为VMM所识别,不需要继续处理,否则表明该待运行进程还没有被VMM所识别,因此,进入步骤102中,进行进一步的识别处理。
在步骤103中,VMM对应存储上轮记录的待运行进程页目录基地址和当前运行进程的标识信息,根据该存储的对应信息即可识别和跟踪客户操作系统中的运行进程。
待运行进程页目录基地址和当前运行进程的标识信息可以按键值对的方式存储。
在步骤103中,可以发现,对应存储的是上轮记录的待运行进程页目录基地址和当前运行进程的标识信息,因为相对当前运行进程来说,在上一轮的进程切换中,其身份为待运行进程,因此,在103中,对应存储的是上轮记录的待运行进程页目录基地址和当前运行进程的标识信息,以保证二者之间的正确对应。
下面以实际例子来说明。
假设目前VMM中已经保存了进程A的信息,如下表所示:
序号 | 页目录的物理基地址 | 进程可读标识 |
1 | 地址1 | ABC |
且假设目前在运行的进程为进程B,同时待运行进程为进程C。
下面以上述的情况进行说明。
从上面的情况可以知道,在进行进程B到进程C的切换之前已经发生进程A到进程B的切换,利用本发明的方法可以获取以下信息:
GOS进行进程A到进程B的切换,VMM纪录待运行进程(进程B)的页目录基地址(在此,假设为地址2);
VMM获取当前运行进程(进程A)的标识信息;
此时,进行进程B到进程C的切换,利用本发明的方法如下:
GOS进行进程B到进程C的切换,VMM纪录待运行进程(进程C)的页目录基地址(在此,假设为地址3);
VMM获取当前运行进程(进程B)的标识信息(在此,假设为BCD)。
在此之后,VMM会对应存储上轮记录的待运行进程(进程B)页目录基地址(地址2)和当前运行进程(进程B)的标识信息(BCD)。
因此,更新后,保存的对应关系如下:
序号 | 页目录的物理基地址 | 进程可读标识 |
1 | 地址1 | ABC |
2 | 地址2 | BCD |
依此类推,可以发现,后续的进程C、进程D、...都可以利用本发明的方法,由VMM进行识别。
本发明具体实施例中的装置包括:
页目录基地址纪录模块,用于在GOS进行进程切换时,纪录待运行进程的页目录基地址;
进程标识信息获取模块,用于获取当前运行进程的标识信息;
存储模块,用于存储上轮记录的待运行进程页目录基地址和当前运行进程的标识信息之间的对应关系。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟机监视器识别客户操作系统中进程的方法,其特征在于,包括:
步骤101,客户操作系统进行进程切换时,虚拟机监视器纪录待运行进程的页表信息;
步骤102,虚拟机监视器获取当前运行进程的标识信息;
步骤103,虚拟机监视器存储上轮记录的待运行进程页表信息和当前运行进程的标识信息的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述页表信息为页目录基地址。
3.根据权利要求2所述的方法,其特征在于,所述步骤101具体包括:
步骤1011,客户操作系统进行进程切换,访问CR3寄存器;
步骤1012,虚拟机监视器捕获客户操作系统访问CR3寄存器的操作;
步骤1013,虚拟机监视器获取待运行进程的页目录物理基地址。
4.根据权利要求1或2所述的方法,其特征在于,所述当前运行进程的标识信息为:
当前运行进程的进程描述符中的进程可读标识;或
虚拟机监视器为当前运行进程分配的唯一标识。
5.根据权利要求4所述的方法,其特征在于,所述当前运行进程的标识信息为当前运行进程的进程可读标识时,所述进程描述符由虚拟机监视器从底层硬件获取,或通过特定接口从容户操作系统获取。
6.根据权利要求2所述的方法,其特征在于,所述步骤101中,还包括一判断步骤,判断获取的页目录基地址是否已经保存,如果是,则结束处理,否则进入步骤102。
7.根据权利要求2所述的方法,其特征在于,所述步骤103中,上轮记录的待运行进程页目录基地址和当前运行进程的标识信息的对应关系以键值对方式存储。
8.一种虚拟机监视器识别客户操作系统中进程的装置,其特征在于,包括:
页目录基地址纪录模块,用于在客户操作系统进行进程切换时,纪录待运行进程的页表信息;
进程标识信息获取模块,用于获取当前运行进程的标识信息;
存储模块,用于存储上轮记录的待运行进程页表信息和当前运行进程的标识信息之间的对应关系。
9.根据权利要求8所述的装置,其特征在于,所述页表信息为页目录基地址。
10.根据权利要求8或9所述的装置,其特征在于,所述当前运行进程的标识信息为:
当前运行进程的进程描述符中的进程可读标识;或
进程标识信息获取模块为当前运行进程分配的唯一标识。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101181860A CN101334751B (zh) | 2007-06-29 | 2007-06-29 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
US12/146,872 US8392914B2 (en) | 2007-06-29 | 2008-06-26 | Method and apparatus for recognizing processes in GOS by VMM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101181860A CN101334751B (zh) | 2007-06-29 | 2007-06-29 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101334751A true CN101334751A (zh) | 2008-12-31 |
CN101334751B CN101334751B (zh) | 2010-04-14 |
Family
ID=40162368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101181860A Active CN101334751B (zh) | 2007-06-29 | 2007-06-29 | 虚拟机监视器识别客户操作系统中进程的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8392914B2 (zh) |
CN (1) | CN101334751B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN103823710A (zh) * | 2014-03-06 | 2014-05-28 | 北京京东尚科信息技术有限公司 | 一种在Windows系统中对Java虚拟机进程的管理方法及系统 |
CN103902422A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 对用户操作行为进行监控的方法、装置与云电脑系统 |
CN104007956A (zh) * | 2013-02-27 | 2014-08-27 | 华为技术有限公司 | 一种操作系统进程识别跟踪及信息获取的方法和装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7703096B1 (en) | 2009-03-09 | 2010-04-20 | International Business Machines Corporation | Method to resolve ambiguities for monitoring and automating UNIX processes |
US9201678B2 (en) | 2010-11-29 | 2015-12-01 | International Business Machines Corporation | Placing a virtual machine on a target hypervisor |
US9053053B2 (en) * | 2010-11-29 | 2015-06-09 | International Business Machines Corporation | Efficiently determining identical pieces of memory used by virtual machines |
JP5696603B2 (ja) * | 2011-06-29 | 2015-04-08 | 富士通株式会社 | 計算機システム、計算機システムの電力制御方法およびプログラム |
US20150058519A1 (en) * | 2013-08-22 | 2015-02-26 | International Business Machines Corporation | Detection of hot pages for partition hibernation |
US10291311B2 (en) | 2016-09-09 | 2019-05-14 | At&T Intellectual Property I, L.P. | Method and apparatus for mitigating a fault in a distributed antenna system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696927A (en) * | 1995-12-21 | 1997-12-09 | Advanced Micro Devices, Inc. | Memory paging system and method including compressed page mapping hierarchy |
US6289431B1 (en) * | 1998-01-26 | 2001-09-11 | Intel Corporation | Method and apparatus for accessing more than 4 Gigabytes of physical memory with 4-byte table entries |
US6374341B1 (en) * | 1998-09-02 | 2002-04-16 | Ati International Srl | Apparatus and a method for variable size pages using fixed size translation lookaside buffer entries |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US6598144B1 (en) * | 2001-12-12 | 2003-07-22 | Advanced Micro Devices, Inc. | Arrangement for limiting access to addresses by a consumer process instigating work in a channel adapter based on virtual address mapping |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
CN1567233A (zh) * | 2003-06-24 | 2005-01-19 | 联想(北京)有限公司 | 一种对操作系统中重要进程进行检测和复位的方法 |
US7757231B2 (en) * | 2004-12-10 | 2010-07-13 | Intel Corporation | System and method to deprivilege components of a virtual machine monitor |
US20080244155A1 (en) * | 2007-03-30 | 2008-10-02 | Kyungwoo Lee | Methods and apparatus to protect dynamic memory regions allocated to programming agents |
-
2007
- 2007-06-29 CN CN2007101181860A patent/CN101334751B/zh active Active
-
2008
- 2008-06-26 US US12/146,872 patent/US8392914B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN102609254B (zh) * | 2012-01-19 | 2015-04-22 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN103902422A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 对用户操作行为进行监控的方法、装置与云电脑系统 |
CN104007956A (zh) * | 2013-02-27 | 2014-08-27 | 华为技术有限公司 | 一种操作系统进程识别跟踪及信息获取的方法和装置 |
CN104007956B (zh) * | 2013-02-27 | 2017-08-04 | 华为技术有限公司 | 一种操作系统进程识别跟踪及信息获取的方法和装置 |
CN103823710A (zh) * | 2014-03-06 | 2014-05-28 | 北京京东尚科信息技术有限公司 | 一种在Windows系统中对Java虚拟机进程的管理方法及系统 |
CN103823710B (zh) * | 2014-03-06 | 2017-04-12 | 北京京东尚科信息技术有限公司 | 一种在Windows系统中对Java虚拟机进程的管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101334751B (zh) | 2010-04-14 |
US8392914B2 (en) | 2013-03-05 |
US20090007109A1 (en) | 2009-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101334751B (zh) | 虚拟机监视器识别客户操作系统中进程的方法及装置 | |
CN103150231B (zh) | 计算机开机的方法与计算机系统 | |
CN101377750B (zh) | 一种用于机群容错的系统和方法 | |
US8468389B2 (en) | Firmware recovery system and method of baseboard management controller of computing device | |
US8266395B2 (en) | Detecting attempts to change memory | |
US10521354B2 (en) | Computing apparatus and method with persistent memory | |
CN103593269A (zh) | 一种多PCIe设备重启压力的自动化循环测试方法 | |
CN101377749B (zh) | 存储器数据校验方法、装置、可编程逻辑器件及系统 | |
RU2667033C2 (ru) | Системы и способы для обнаружения хостом возможности асинхронного уведомления usb | |
CN103150188B (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
US8762695B2 (en) | Computing device and method for registering identification information of network interface card in operating system | |
US9146818B2 (en) | Memory degeneracy method and information processing device | |
CN104778081B (zh) | 切换作业系统的方法及电子装置 | |
CN107783908B (zh) | 一种基于Linux内核内存泄露的检测方法 | |
CN103514085A (zh) | 具有存储器转储功能的信息处理装置和存储器转储方法 | |
US9703651B2 (en) | Providing availability of an agent virtual computing instance during a storage failure | |
CN101499016B (zh) | 虚拟机监视器、虚拟机系统及客户操作系统进程处理方法 | |
CN110597635A (zh) | 图形处理资源分配方法、装置、计算机设备及存储介质 | |
CN104903853A (zh) | 动态固件更新 | |
CN105354127A (zh) | 基于云管理平台的监控方法 | |
CN106843947A (zh) | 代码缺陷的处理方法和装置 | |
CN106020917A (zh) | 一种软件安装方法及装置、用户终端 | |
CN114765051A (zh) | 内存测试方法及装置、可读存储介质、电子设备 | |
CN116185571B (zh) | 数据迁移方法、设备、存储介质及装置 | |
CN105159810B (zh) | 对计算机系统的bios进行测试的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |