CN101334751B - 虚拟机监视器识别客户操作系统中进程的方法及装置 - Google Patents

虚拟机监视器识别客户操作系统中进程的方法及装置 Download PDF

Info

Publication number
CN101334751B
CN101334751B CN2007101181860A CN200710118186A CN101334751B CN 101334751 B CN101334751 B CN 101334751B CN 2007101181860 A CN2007101181860 A CN 2007101181860A CN 200710118186 A CN200710118186 A CN 200710118186A CN 101334751 B CN101334751 B CN 101334751B
Authority
CN
China
Prior art keywords
virtual machine
current operation
machine monitor
operating system
identification information
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.)
Active
Application number
CN2007101181860A
Other languages
English (en)
Other versions
CN101334751A (zh
Inventor
康华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN2007101181860A priority Critical patent/CN101334751B/zh
Priority to US12/146,872 priority patent/US8392914B2/en
Publication of CN101334751A publication Critical patent/CN101334751A/zh
Application granted granted Critical
Publication of CN101334751B publication Critical patent/CN101334751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

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,客户操作系统进行进程切换,从CR3寄存器中获取页目录的物理基地址和载入对应的页表时,虚拟机监视器纪录待运行进程的页表信息;
步骤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所述的装置,其特征在于,所述当前运行进程的标识信息为:
当前运行进程的进程描述符中的进程可读标识;或
进程标识信息获取模块为当前运行进程分配的唯一标识。
CN2007101181860A 2007-06-29 2007-06-29 虚拟机监视器识别客户操作系统中进程的方法及装置 Active CN101334751B (zh)

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 CN101334751A (zh) 2008-12-31
CN101334751B true 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)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
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 富士通株式会社 計算機システム、計算機システムの電力制御方法およびプログラム
CN102609254B (zh) * 2012-01-19 2015-04-22 中国科学院计算技术研究所 获取对象级访存行为的方法及装置
CN103902422B (zh) * 2012-12-25 2017-05-10 中国电信股份有限公司 对用户操作行为进行监控的方法、装置与云电脑系统
CN104007956B (zh) * 2013-02-27 2017-08-04 华为技术有限公司 一种操作系统进程识别跟踪及信息获取的方法和装置
US20150058519A1 (en) * 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition hibernation
CN103823710B (zh) * 2014-03-06 2017-04-12 北京京东尚科信息技术有限公司 一种在Windows系统中对Java虚拟机进程的管理方法及系统
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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567233A (zh) * 2003-06-24 2005-01-19 联想(北京)有限公司 一种对操作系统中重要进程进行检测和复位的方法
CN1575453A (zh) * 2000-12-27 2005-02-02 英特尔公司 用于解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突的方法
CN1726470A (zh) * 2002-12-19 2006-01-25 英特尔公司 在虚拟机操作中用于管理机器状态的方法和系统
WO2006063274A1 (en) * 2004-12-10 2006-06-15 Intel Corporation System and method to deprivilege components of a virtual machine monitor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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
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
US20080244155A1 (en) * 2007-03-30 2008-10-02 Kyungwoo Lee Methods and apparatus to protect dynamic memory regions allocated to programming agents

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575453A (zh) * 2000-12-27 2005-02-02 英特尔公司 用于解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突的方法
CN1726470A (zh) * 2002-12-19 2006-01-25 英特尔公司 在虚拟机操作中用于管理机器状态的方法和系统
CN1567233A (zh) * 2003-06-24 2005-01-19 联想(北京)有限公司 一种对操作系统中重要进程进行检测和复位的方法
WO2006063274A1 (en) * 2004-12-10 2006-06-15 Intel Corporation System and method to deprivilege components of a virtual machine monitor

Also Published As

Publication number Publication date
US20090007109A1 (en) 2009-01-01
US8392914B2 (en) 2013-03-05
CN101334751A (zh) 2008-12-31

Similar Documents

Publication Publication Date Title
CN101334751B (zh) 虚拟机监视器识别客户操作系统中进程的方法及装置
CN103150231B (zh) 计算机开机的方法与计算机系统
US20120110378A1 (en) Firmware recovery system and method of baseboard management controller of computing device
CN103593269A (zh) 一种多PCIe设备重启压力的自动化循环测试方法
WO2016201589A1 (en) Computing apparatus and method with persistent memory
CN101377749B (zh) 存储器数据校验方法、装置、可编程逻辑器件及系统
WO2018005841A1 (en) Performance variability reduction using an opportunistic hypervisor
RU2667033C2 (ru) Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
CN101373450B (zh) 处理cpu异常的方法及系统
CN104778081B (zh) 切换作业系统的方法及电子装置
CN103514085A (zh) 具有存储器转储功能的信息处理装置和存储器转储方法
CN107783908B (zh) 一种基于Linux内核内存泄露的检测方法
US20120173860A1 (en) Computing device and method for registering identification information of network interface card in operating system
CN113157347A (zh) 一种探针的自动部署方法、电子设备和存储介质
CN101499016B (zh) 虚拟机监视器、虚拟机系统及客户操作系统进程处理方法
CN103336736A (zh) 系统日志获取方法和装置
CN103150188A (zh) 非x86指令集计算机的x86兼容显卡快速初始化方法
US20160364304A1 (en) Providing availability of an agent virtual computing instance during a storage failure
CN104903853A (zh) 动态固件更新
CN106843947A (zh) 代码缺陷的处理方法和装置
CN101794232A (zh) 快速启动系统的方法
CN105354127A (zh) 基于云管理平台的监控方法
CN104750600A (zh) 设备状态记录方法和系统
CN105159810B (zh) 对计算机系统的bios进行测试的方法及装置
CN109710377B (zh) 一种从故障的分布式存储里恢复kvm虚拟机的方法

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