监视子进程建立和解除的方法、设备驱动器和计算机系统技术方案

技术编号:2881798 阅读:202 留言:0更新日期:2012-04-11 18:40
一种用于监视正在计算机系统中执行的由操作系统,例如视窗操作系统控制的应用内子进程(450,445,465)或者线程的建立或解除的方法和虚拟设备驱动程序。提供一个用于存储和该正执行应用(410)内的现存的子进程对应的现存子进程数据库结构的表(455)。周期性地检查该表。若检查时该表不具有条目,可安全地假定现存子进程以及可能的相关子系进程已经退出并且已完成该应用的执行。接着可以执行一系列应用中的其它应用,例如在一软件程序的安装期间,并且使因并发地执行该系列中的应用造成破坏的风险为最小。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及在执行软件应用期间跟踪进程建立。更具体地,本专利技术涉及监视正执行的应用的子进程和孙进程的建立和解除。
技术介绍
图1中示出常规计算机系统100,其具有若干硬件部件,包括诸如中央处理器(CPU)的处理器110、诸如RAM的存储器和非易失性存储媒体130,它们彼此通信。未示出的其它硬件部件包括磁盘机、网络部件以及其它业内人士周知的硬件部件。常规计算机系统100还包括可以利用这些硬件部件110、120、130存储并执行的软件程序。具体地,计算机系统100中的软件包括驻留在存储媒体130中的应用150、存储器120中存储的操作系统160和可能存储在存储媒体130及存储器120中的其它应用或程序。当计算机现用时,可在存储器120中找到应用150。当关掉计算机时,可在存储媒体130中找到操作系统160。这样,如业内人士应该了解的那样,可在不同的位置存储操作系统160。应用150和操作系统160彼此并且可能和系统100中的其它软件交互,以便如用户指定那样向用户提供数据存取以及控制系统100中的其它硬件和软件。计算机系统100的用户通过指示操作系统160执行或“运行”应用150而执行应用150。接着操作系统160利用存储器120、处理器110以及可在计算机系统100中得到的其它设备执行所需的应用150并且可能执行与应用150交织的其它程序。操作系统160可以是业内人士周知的任何常见操作系统。个人计算机中使用的流行常规操作系统包括诸如微软公司的各种32位视窗(“Win32”)操作系统。它们包括微软的视窗NT、视窗95和视窗98。其它可用作为操作系统160的其它常见操作系统包括供工作站使用的UNIX和供个人计算机使用的DOS。按照操作系统,系统中运行的基于Win32的应用被称为“进程”。每个进程至少包括单个由操作系统运行的执行线程。线程是代码的单元,其可从操作系统得到一些操作时间以便和其它代码单元并发地运行,而且线程必须和某进程相关。基于Win32的应用可以利用视窗操作系统提供的各种技术来提高并发运行多个应用的能力。这些并发技术中的一种是“多线索化”,其中一个或多个进程的一部分或“多个线程”是独立的并且可并发执行。然而,并发地执行二个独立线程有时并不特别有效。在一个正执行的应用或进程,即“父”进程,产生另一个“子”进程并且尤其在该子进程产生孙进程的情况中,出现这种低效率。当该父进程是一系列要执行的进程或者应用中的一个时,可能产生问题。例如,可能在其子进程或孙进程中一个或多个终止之前父进程已终止。尽管诸如视窗95的操作系统提供多线索技术,如果在被终止父进程的子进程仍为现用的同时开始执行某另一个应用,在一些计算机系统中可能造成破坏。图2示出在一计算机系统例如图1的系统100中存储供执行的一系列应用。该系列包括第一应用210、第二应用220和第三应用230,每个应用代表一级更大的用于安装软件程序的安装进程。应用210、220、230可存储在存储介质130或存储器120中,如图1中示出那样。应用210、220、230的执行是由存储器120中存储的操作系统240管理的。在图2中,由于操作系统240的控制,按顺序地执行应用210、220、230。图2是在已经开始执行第一应用210并且第一应用210已经建立子进程250、260的时刻画出的。此外,子进程260已经产生它自己的子进程,即“孙”进程270、280。在图2中,可能在终止子进程250、260或者孙进程270、280之前终止第一应用210的执行。如果该安装进程不等待子进程或孙进程的执行的终止,操作系统240可能启动第二应用220,即下一级安装的执行。在第一应用210的一个或多个子进程或者孙进程仍在执行的同时执行第二应用或可能执行另一个应用会在使用这些应用的计算机系统中造成破坏。在视窗95中,已公布的Win32 API被认为是用于在终止某父应用的子进程之前延迟其它应用的执行。但是,由于Win32 API不跟踪父应用的孙进程的建立,Win32 API常常不能正确工作。从而,当只使用Win32API时,可能会在父进程的子进程尤其是孙进程终止之前开始执行其它应用。概言之,现存技术不能在计算机系统中执行应用期间可靠地跟踪子进程和孙进程的建立和解除。
技术实现思路
本专利技术一般地涉及监视正在计算机系统中经操作系统控制而执行的应用内的子进程和孙进程的建立和解除。子进程具有对应的子进程数据库结构,而正执行的应用具有对应的应用进程数据库结构。设置一个用于存储和正执行应用内正执行的子进程对应的现存子进程数据库结构的表。依据本专利技术的一个方面,当在执行应用期间建立新进程时,检索和该新进程对应的新进程数据库结构。利用该新进程数据库结构,检索和该新进程的父进程对应的父进程数据库结构。该父进程数据库结构和该应用进程数据库结构比较。若该父进程数据库结构和该应用进程数据库结构相同,把该新进程识别为一个现存的子进程。若把该新进程识别为现存子进程,把该新进程数据库结构添加到现存子进程数据库结构表中。依据本专利技术的另一个方面,监视应用内的子进程的建立和解除包括确定在执行该应用期间中何时终止某进程。检索和该终止进程对应的终止进程数据库结构。该终止进程数据库结构和该表中的现存子进程数据库结构比较,若该终止进程数据库结构和现存子进程数据库结构中的一个相同,把该终止进程识别为一个终止的子进程。若该终止进程被识别为终止的子进程,从该现存子进程数据库结构表中去掉该终止进程数据库结构。依据另一个方面,本专利技术可位于驻留在操作系统和正执行应用或进程之间的虚拟设备驱动程序中。可以在该计算机系统中的存储媒体中存储该虚拟设备驱动程序。该VxD(虚拟设备驱动程序)和操作系统以及正执行应用二者交互。依据本专利技术的再一个方面,周期地检查该表以判定该表是否具有入口。若该表不具有入口,可安全地假定现存子进程以及,可能地,相关的孙进程已经退出并且该应用的执行已完成。接着可以在因并发地执行一系列应用,例如在安装某软件程序期间,多个应用而产生破坏的最小风险下执行该系列中的其它应用。本专利技术的这些以及其它方面和优点会在下述连带着附图描述本专利技术的示范实施例的详细说明中变为清楚。附图说明图1是常规计算机系统100的概括方块图;图2是一个概括方块图,示出常规计算机系统100内一系列软件应用的执行;图3是依据本专利技术的一示范实施例的包含着用于监视正执行应用内的子进程的建立和解除的设备和方法和计算机系统300的概括方块图;图4是依据本专利技术的一示范实施例的监视正执行应用内子进程的建立的虚拟设备驱动程序的概括方块图;图5是依据本专利技术的一示范实施例的用来监视正执行应用内子进程的建立的方法的流程图;图6是依据本专利技术的一示范实施例的监视正执行应用内子进程的解除的虚拟设备驱动程序的概括方块图;以及图7是依据本专利技术的一示范实施例的用来监视正执行应用内子进程的解除的方法的流程图。具体实施例方式在下述详细说明中,将提供本专利技术的用来监视正执行应用内子进程的建立和解除的设备和方法的各种实施例。本专利技术的一些实施例,尤其是本专利技术的一些示范方法,将代表一些具体应用,包括一种计算机系统和一种计算机可读媒体。参照图3-7详细说明本专利技术的实施例。图3是包含着依据本专利技术的一实施例的用于监本文档来自技高网
...

【技术保护点】
一种用于监视正在计算机系统中执行的并由操作系统控制的应用内子进程的建立和解除的方法,其中每个子进程具有一个对应的子进程数据库结构,该正执行应用具有一个对应的应用进程数据库结构,该方法包括:提供一个用来存储和该正执行应用内的现存的子进程对 应的现存子进程数据库结构的表;判定该应用执行中何时建立新进程;检索和该新进程对应的新进程数据库结构;利用该新进程数据库结构检索和该新进程的父进程对应的父进程数据库结构;比较该父进程数据库结构和该应用进程数据库结构;若该父 进程数据库结构和该应用进程数据库结构相同,把该新进程标识为一个现存子进程;以及若把该新进程标识为现存子进程,把该新进程数据库结构添加到该现存子进程数据库结构表中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:FJ德克尔
申请(专利权)人:计算机联合思想公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利