CN1254746C - 应用执行装置及方法 - Google Patents
应用执行装置及方法 Download PDFInfo
- Publication number
- CN1254746C CN1254746C CN01121695.6A CN01121695A CN1254746C CN 1254746 C CN1254746 C CN 1254746C CN 01121695 A CN01121695 A CN 01121695A CN 1254746 C CN1254746 C CN 1254746C
- Authority
- CN
- China
- Prior art keywords
- application
- resource
- notification
- library
- class
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 91
- 238000003860 storage Methods 0.000 claims description 65
- 238000011084 recovery Methods 0.000 claims description 56
- 238000004064 recycling Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 4
- 238000000926 separation method Methods 0.000 description 121
- 238000012545 processing Methods 0.000 description 64
- 101150042248 Mgmt gene Proteins 0.000 description 52
- 238000011161 development Methods 0.000 description 52
- 230000014509 gene expression Effects 0.000 description 50
- 238000010586 diagram Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 32
- 230000015572 biosynthetic process Effects 0.000 description 15
- 238000005755 formation reaction Methods 0.000 description 15
- 238000012423 maintenance Methods 0.000 description 7
- 230000014759 maintenance of location Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 241000289690 Xenarthra Species 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 125000002572 propoxy group Chemical group [*]OC([H])([H])C(C([H])([H])[H])([H])[H] 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
程序库部对应于来自应用的资源提供请求提供资源时,取得识别请求资源提供的应用的标识符,将提供的资源和取得的应用标识符分组后保持在表中。因此,当应用结束时,取得结束的应用的应用标识符,从表指定对应于取得的标识符的资源,释放指定的资源。
Description
技术领域
本发明涉及一种对于应用(application)执行装置在应用结束时回收不必要的资源的技术。
背景技术
对于一般的应用执行装置而言,操作系统的核心程序(kernel)通过应用结束等回收不必要的资源(存储器、键盘等各种装置)。这里,所谓“回收”是指核心程序等操作系统从应用中取回向应用提供的资源。核心程序为了进行资源的回收,在每个装置中存储资源回收的顺序。因此,应用所使用的装置变得不必要,核心程序根据该装置的回收顺序就能够进行资源的回收,从而能够有效地利用资源。
另外,对于Java应用执行装置而言,例如在PC中,关于存储器以外的其它资源的回收,Java中间设备(所谓的虚拟计算机)本身不回收资源,在Java损耗结束时,由核心程序回收资源。
另一方面,通过Java中间件(middle ware)的“回收站”来进行存储器的回收。所谓“回收站”是指回收存储器区域中不必要的区域。在Java中,应用的下载通过向存储器中下载构成应用的多类的各种实例(以下称为对象)来进行。存储器区域由从执行中的应用中下载的对象共有,在存储器区域中,按下载的顺序分配区域。因此,因为多个应用而连续地在存储器区域中下载对象的情况下,从一个应用下载的各对象以不连续的形式分配在存储器区域中。
存储器区域由下载的对象不连续地占有时,为了消除存储器不足,进行无用单元的回收。但是,上述说明的资源回收处理技术中存在下述问题:
第一:在由应用执行装置中的核心程序进行资源回收处理的情况下,每次向应用执行装置重新追加装置,追加的装置的回收顺序必须被重新存储在核心程序中。
第二:在Java应用执行装置中的资源回收处理的情况下,未结束Java中间设备而依次执行应用时,因为核心程序的存储器以外的资源的回收直到Java中间设备结束后才能进行,所以即使结束了一个应用,因为提供给该应用的资源未被回收,所以在下一应用有必要是同一资源的情况下,不能执行下一应用。
第三:以不连续的形式分配给对象的存储器区域变得不必要的情况下,存储器区域的无用单元的回收的负荷变大。
发明内容
鉴于上述问题,本发明的第一个目的是提供一种不通过核心程序来执行资源回收的应用执行装置。
为了达到上述目的,本发明具有多个设备,具有以下部件:存储部件,存储多个应用;核心程序部件,控制应用的执行;多个程序库部件,各程序库部件与所述各设备分别对应起来,通过执行设备控制用的程序,管理对应的设备,各程序库部件包括:资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,提供被请求的所述设备作为资源,将提供的资源和该资源被提供的应用的对应关系保存到表中;委托装置,在已提供了资源的情况下,委托所述核心程序部件,从而将已提供了资源的应用结束的通知在该应用结束时对自己进行通知,回收装置,响应于所述委托装置的委托根据所述表,特别指定并回收由所述核心程序部件通知的应用和组的资源,所述核心程序部件包括:应用执行装置,读出并执行存储部件存储的多个应用;通知装置,在执行的应用中,当任何应用结束时,向针对该应用已经委托了所述通知的各程序库部件实施该通知。
而且,所述委托装置,通过在所述通知装置进行回收函数的登录,将所述通知委托于所述通知装置,
所述通知装置,在应用结束时,通过调用并执行被登录的回收函数,向针对该应用已经委托了所述通知的程序库部件实施所述通知。
通过该结构,每当应用结束时,因为不是通过核心程序部而是通过程序库部回收不必要的资源,所以每次追加新的资源时没必要修正核心程序部。
这里,所述通知装置,生成保存应用信息的应用信息实例,该应用信息按执行中的每个应用特别指定该应用,
所述资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,生成保存方法的资源回收实例,该方法用于取出所述表和保存在所述表中的信息,
所述委托装置,通过将生成的资源回收实例登录到保存应用信息的应用信息实例,该应用信息特别指定提供了资源的应用,将所述通知委托于所述通知装置,
所述通知装置,在关于生成的应用信息实例的应用结束时,通过调用被登录到该应用信息实例的资源回收实例的方法,向针对该应用已经委托了所述通知的程序库部件实施所述通知。
根据该结构,因为只向对于结束的应用提供资源的程序库通知哪个是已结束的应用,所以不用徒劳地向不提供该资源的程序库部进行通知,而能够回收该资源。
这里,所述通知装置,在多个应用同时结束的情况下,针对已经结束的多个应用,向已经委托了所述通知的程序库部件进行所述通知,所述回收装置,根据所述表,特别指定并回收被通知的与各应用对应起来的资源
在多个应用同时结束的情况下,针对已经结束的多个应用,向已经委托了所述通知的程序库部件进行所述通知,
这里,所述委托装置,进而在已提供了资源的情况下,委托给所述核心程序部件将已提供了资源的应用中断的通知在该应用中断时对自己进行通知,所述通知装置,进而在应用中断时,向已经委托了针对该应用的中断的通知的程序库部件进行该通知,各程序库部件进而还包括:判定装置,在被通知的应用结束或中断的情况下,判定是否回收提供给该应用的资源;所述回收装置在判定为回收资源的情况下,回收提供给被通知的应用的资源。
所述通知装置,生成保存应用信息的应用信息实例,该应用信息按执行中的每个应用特别指定该应用,
所述资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,生成保存方法的资源回收实例,该方法用于取出所述表和保存在所述表中的信息,
所述委托装置,通过将生成的资源回收实例登录到保存应用信息的应用信息实例,该应用信息特别指定提供了资源的应用,将应用的结束和中断的各通知委托于所述通知装置,
所述通知装置,在关于生成的应用信息实例的应用中断或结束时,通过调用被登录到该应用信息实例的资源回收实例的方法,向针对该应用已经委托了所述备通知的程序库部件实施所述通知
根据该结构,对应于应用是中断还是结束来判定是否应回收资源,并能够回收指定部分的资源。
附图说明
图1是表示应用执行装置10的构成的框图;
图2表示定义为回收函数的C语言程序的一个实例;
图3表示记述了回收函数的登记和调用执行的C语言程序的实例;
图4是表示各程序库部进行资源提供处理的流程图;
图5表示将控制文件系统的程序库部(下面称为程序库部F)保持的应用标识符和资源名(文件名)进行编组的表;
图6是表示各程序库部进行资源回收处理的流程图;
图7表示多个应用一起结束的情况下的各程序库部进行资源回收处理的流程图;
图8是表示应用执行装置20的结构的框图;
图9是表示定义接口的Java程序的实例;
图10表示生成应用信息接口的类的一个实例;
图11表示资源回收类的一个实例;
图12表示生成资源回收类的资源回收接口的实例;
图13是表示各程序库进行资源提供的处理的流程图;
图14是表示在应用信息接口存储知道应用状态的方法和消除资源回收接口的登记的方法的情况下各程序库部进行回收处理的流程图;
图15是表示应用执行装置30的结构的框图;
图16表示应用和对应于应用生成的任务和构成任务的寄存器的对应关系的表的实例;
图17是表示应用终止时应用管理部33b进行处理的流程图;
图18是表示分分类库部进行监听程序管理的处理的流程图;
图19是保持分类库部的表实例;
图20是表示通知发生事件的处理的流程图;
图21是表示分类库部进行监听程序调用处理的流程图;
图22是使用键将从专用寄存器调用的监听程序的顺序的实例模式化的图;
图23是表示VM部33a获得系统专用的寄存器的处理的流程图;
图24是表示应用执行装置40的结构的框图;
图25表示对应用管理部43b保持的类加载器的实例对应的应用ID进行分组的表实例;
图26是表示应用管理部43b生成的类加载器的实例和任务的关系的模式图;
图27表示将提供的资源的资源名和应用ID分组的表的实施;
图28是表示应用执行装置100的结构的框图;
图29是表示大量存储器区域管理表104f与存储器105的状态的图;
图30是表示由VM部103接受对象区域获得指示后的应用执行装置100的对象区域获得的动作的流程图;
图31是表示应用终止时的应用执行装置100的分割大量区域的释放动作的流程图;
图32是表示系统大量区域105-1登记在存储器大量区域管理表104f中的状态的图。
具体实施方式
实施例1
根据本实施例中的应用执行装置,在每次应用结束等时不是由核心程序、而是由程序库部进行向应用提供的资源的回收。
这里,“应用”是指程序和因执行程序而产生的功能中的任一个。所谓“资源”是指调谐器、MPEG音频解码器、MPEG视频解码器、键盘输入装置、遥控输入装置、鼠标输入装置、跟踪板输入装置、互斥体(ミュ-テックス)、信号标志(semaphore)、网络装置、串行装置、IEEE1394(串行接口)、USB(通用串行总线)装置接口、文件系统、显示装置、存储器、调制解调器等。程序库部是响应于应用请求对资源进行控制(资源的确保、管理、回收)的所谓装置驱动组。
具体而言,程序库部对应于来自应用的资源提供请求提供资源的时候,取得识别请求资源提供的应用的标识符,将提供的资源和取得的应用标识符分组后保持在表中。因此,当结束应用时,取得结束的应用的应用标识符,从表指定对应于取得的标识符的资源,并回收指定的资源。
下面利用附图来说明本应用执行装置的实施例。图1是表示应用执行装置10的结构的框图。应用执行装置10由应用输入部11、应用存储部12、核心程序部13、程序库存储部14、装置部15、指示通知部16构成。
应用输入部11由软盘驱动器、CD驱动器、网络接口板、广播接收机等构成,接收应执行的应用,存储在应用存储部12中。
应用存储部12由RAM、ROM、硬盘、CD驱动器、软盘等构成,存储从应用输入部11输出的应用或事先存储的应用。
核心程序部13由依次执行部13a、资源回收通知部13b、标识符提供部13c构成,执行应用存储部12存储的应用。
依次执行部13a在执行的应用为二进制程序的情况下,由照样执行二进制程序的CPU等构成。执行的应用在Java字节代码(Java为美国Sun Microsystems,Inc.的商标)这种中间代码的情况下,由依次解析中间代码并执行的模块(虚拟计算机或转换机)等构成。依次执行部13a读出应用存储部12存储的应用并执行。之后,从执行应用向存储在的程序库存储部14中的程序库部请求提供资源,从程序库部接收应用请求的资源提供。
资源回收通知部13b对于每次应用结束等时向该应用提供资源的程序库部通知资源回收指示和该应用标识符。具体而言,资源回收通知部13b从程序库存储部14存储器的程序库部接收回收函数的登记,从指示通知部16接收应用结束或中断的通知时,调用登记的回收函数并执行,向程序库部通知该应用的标识符。
这里,所谓的“回收函数的登记”是指:对应于程序库部的应用请求,向该应用开始提供新的资源时,委托资源回收通知部13b,“若该应用结束或中断,通过调用回收函数并执行来通知该程序库部,中断或结束的应用为哪个”。
图2表示定义回收函数的C语言程序的一个实例。CALLBACK-f表示回收函数的类型名。该回收函数没有返回值,自变量为整数值。图3表示记录回收函数的登记、消除和执行的C语言程序的实例。行序号6-14表示登记的程序实例,行序号16-20表示消除的程序实例,行序号22-26表示执行的程序实例。
标识符提供部13c对应于来自程序库部的请求提供应用的标识符。
程序库存储部14由控制作为资源的装置的多个程序库部14a-14n构成。各程序库部控制装置部15对应的装置(例如程序库部14a控制装置15a,程序库部14b控制装置15b。)。实际上,程序库存储部14由ROM或硬盘构成,在各程序库部中,通过记录装置控制用的函数组的程序向应用调用后执行来实现装置的控制。
具体而言,各程序库部通过进行如下所示的处理来控制资源。对应于应用的请求来提供资源,将回收函数登记在资源回收通知部13b中。接着,从应用识别部13c中取得请求资源的应用的应用标识符,将提供的资源的资源名分成组后保持在表中。之后,由资源释放通知部13b执行登记的回收函数,通知使用应回收的资源的应用的应用标识符时,从保持的表来指定对应于通知的应用标识符的资源名,回收指定的资源名的资源。
下面,参照图4来说明各程序库部对应于应用的请求进行资源提供的处理。图4是表示各程序库部进行资源提供处理的流程图。各程序库部对应于应用的请求确保资源(S301),判断是否已登记了回收函数(例如设定标志,判断登记、未登记)(S302),在未登记的情况下(S302:N),在资源回收通知部13b中登记回收函数(S303)。
接着,调用标识符提供部13c,取得请求资源的应用的应用标识符(S304),将取得的应用标识符和确保的资源的资源名分组后保持在表中(S305),向应用提供资源(S306)。在登记的情况下(S302:Y),不重新登记回收函数,执行S304-S306。
上述表的实例如图5所示。图5表示将控制文件系统的程序库部(下面称为程序库部F)保持的应用标识符和资源名(文件名)分组的表。图5-(1)表示程序库部向资源释放通知部13b登记回收函数,对应于应用标识符“1”的应用来提供文件名“a.txt”的资源。应用通过调用程序库部F的函数来请求提供资源时,程序库部F确保文件名“b.txt”的资源,从标识符提供部13c取得应用标识符“2”。此时,程序库F的回收函数因为已登记而不再登记。程序库部F将取得的应用标识符“2”和确保资源的文件名“b.txt”分组后保持在表中,如图5-(2)所示更新表。
接着,参照图6来说明各程序库部进行的资源回收处理。图6是表示各程序库部进行的资源回收处理的流程图。当调用回收函数时,各程序库部通过资源回收通知部13b取得应用标识符(S401),取出一组保持在表中的应用标识符和资源名(S402),将取出的应用标识符与由资源回收通知部13b取得的应用标识符进行比较(S403)。当应用标识符一致时,回收取出的组的资源名资源(S404),从表中消除该组(S405),当结束与保持在表中的全部组的比较时(S406:Y),结束处理。例如在图5-(2)的表实例中,在取得应用标识符为“2”的情况下,从表中消除对应于应用标识符“2”的文件名“b.txt”(图5-(3))。当与全部组的比较未结束时(S406:N),取出下一组(S402),重复同样的处理(S403-S406)。当应用标识符不一致时,在结束了与保持在表中的全部组的比较的情况下(S406:Y),结束处理。在未结束与全部组的比校的情况下(S406:N),取出下一组(S402),重复同样的处理(S403-S406)。
装置15a-15n包含存储器、显示器、输入装置(键盘、遥控等)、文件系统、网络装置等,各装置对应于来自通过程序库存储部14存储的各程序库部所构成的应用的控制进行动作。
指示通知部16进行应用的开始、停止、再开始、结束的处理。
所谓的应用的开始处理是指指示依次执行部13a中应用存储部12存储的应用的执行。
所谓的应用停止处理是指中断在依次执行部13a中执行的应用,如果必要则向资源回收通知部13b通知应用的中断。
所谓应用的再开始处理是指指示在依次执行部13a中中断的应用的执行。
所谓应用结束的处理是指指示依次执行部13a中执行的应用的结束,向资源回收通知部13b通知应用的结束。
在本实施例中,在应用结束或中断时向应用提供资源的各程序库部通知的应用标识符为一个,但在多个应用同时结束的情况下,也可向各程序库部通知多个应用标识符。此时的各程序库部进行的资源回收处理的流程如图7所示。通过资源回收通知部13b取得提供各程序库部回收资源的多个应用的标识符(S751),取出一个取得的应用标识符(S752),取出一组保持在表中的应用标识符和资源名(S753),将取出的应用标识符与由资源回收通知部13b取得的应用标识符进行比较(S754)。当应用标识符一致时(S754:Y),将对应的资源名作为回收对象的资源名来保持(S755),从表中消除该组(S756),当结束与保持在表中的全部组的比较时(S757:Y),取得下一个应用标识符(S758、S752),重复同样的处理。在结束了对应于S751中取得的全部组的应用标识符的比较时(S758:Y),回收所有对应于S755中作为回收对象的资源名保持的资源名的资源(S759)。
由此,程序库部可有效地进行资源回收。例如,(一个)程序库部管理的资源全部回收以结束多个应用的情况下,能够仅以初始化管理表的处理来迅速回收资源。
(实施例2)
在根据实施例1中,程序库部在结束应用等情况下在每个程序库部中登记调用的回收函数,但在本实施例中,生成相当于实施例1的回收函数的资源回收接口,回收每次应用结束等时提供给应用的资源。这里,“资源回收接口”是指从程序库部存储的类(Java字节代码的程序)生成的、记录各种信息和作为取出该信息用的函数的方法的程序,资源回收接口保持取出请求资源提供的应用和提供资源信息这些信息用的方法。通过在程序上调用该方法来取出保持的信息。
下面利用附图来说明本应用执行装置的实施例。图8是表示应用执行装置20的结构的框图。应用执行装置20由应用输入部11、应用存储部12、OS部23、程序库存储部24、装置部15、指示通知部16构成。应用输入部11、应用存储部12、装置部15、指示通知部16与包含于实施例1的执行装置10的相同,所以省略其说明。
OS部23由虚拟计算机23a、应用管理部23b构成,执行应用存储部12存储的Java应用(以下称为应用)。
虚拟计算机机23a从应用存储部12下载应用,依次解析应用的字节代码,执行应用。另外,通过存储在程序库存储部24中的各程序库部来控制存储在装置部15中的各装置。实际上,从虚拟计算机23a执行的应用来调用作为记录装置控制的程序的各程序库部的类,通过执行类的程序来实现各装置的控制。
应用管理部23b管理执行的应用,另外,具有相当于实施例1的标识符提供部13c的功能。具体而言,应用管理部23b从定义存储应用信息的处理的类在每个应用中生成执行处理的实例,在生成的各实例(这里,称为应用信息实例)中,存储执行的各应用的应用标识符,使用生成的各应用信息实例(图8的23c-23e)来管理执行的应用。另外,各程序库部请求从应用提供资源时,提供作为指定请求应用的标识符的应用信息实例。这里,取代将各应用的标识符存储在各应用信息实例内,也可将应用信息实例作为应用的标识符。
各应用信息实例具有相当于实施例1的资源回收通知部13b的功能。具体而言,进行以下的处理。各应用信息实例从各程序库接收资源回收实例的登记。这里,所谓“资源回收实例的登记”是指当程序库部向应用提供新的资源时,委托存储该应用标识符的应用信息实例,“如果该应用结束或中断时,通知该程序库部,通知该应用为哪一个”。上述通知通过调用登记时生成的资源回收实例中安装的方法来执行。资源回收实例从各程序库部存储的各类来如下所示生成。各类通过安装“接口”来安装“接口”定义的方法。“接口”定义应安装于类中的方法。图9是该接口的一个实例。在该实例中,Resource CollectionListener接口定义update方法。各程序库部存储的各类通过安装该接口来准备记录在update方法中的资源回收处理类,由准备的类生成安装该接口的资源回收实例,在应用信息实例中登记生成的资源回收实例。通过该处理,在生成的资源回收实例中,保证了安装接口定义的方法(这里指update方法),通过调用该接口定义的方法来执行上述通知。
另外,应用结束或中断的情况下,存储该应用标识符的应用信息实例通过安装在登记的资源回收实例中的方法(这里指update方法)来向该应用提供资源的程序库部进行上述通知。
之后,应用信息实例也可存储消除登记的资源回收实例的方法,也可存储了解应用状态的方法。
图10表示生成存储上述方法的应用信息实例的类的一个实例。图10中,生成应用信息实例的作为类的application Propoxy定义相当于应用名(application name)的内部变量和了解应用状态的gets tatus方法、登记资源回收实例(resource Collection Lister)的add Listener方法、消除资源回收实例的登记的remove Listener方法。
程序库存储部24由多个程序库部24a-24n构成。各程序库部控制装置部15的装置15a-15n,对应于应用的请求来进行作为资源的装置提供的处理和提供资源回收的处理。实际上,程序库存储部24由ROM或硬盘构成,在各程序库部中,通过向应用调用并执行记录在作为装置控制用的程序的类组中的程序来实现装置的控制。
首先说明资源提供处理。各程序库部被请求从应用提供资源时,向应用提供所请求的资源,调用应用管理部23b,取得对应于该应用的应用信息实例,从资源回收类生成资源回收实例,将生成的资源回收实例登记在该应用信息实例中。之后,各程序库部将提供的资源的资源名和该应用信息实例分组后保持在资源回收实例中。
图11表示资源回收类的一个实例。在图11中,定义控制文件系统的资源回收类。具体而言,定义称为资源回收实例生成时生成的“区域”的内部变量app(相当于应用信息实例)和name(相当于资源的文件名)的信息和在应用结束或中断时调用、执行资源回收处理的update方法。图12表示图11的资源回收类生成的资源回收实例的实例。901表示保持资源回收实例的实例表,902、903表示生成的资源回收实例。图12-(1)表示将资源回收信息实例902提供的资源名(这里为文件名“a.txt”)和应用信息实例(这时作为“1”)分组后保持。图12-(2)表示程序库向在与图12-(1)不同的应用信息实例“2”中管理的应用提供资源(文件名为“b.txt”的文件)并重新生成资源回收实例903。
下面利用图13来详细说明资源提供的处理。图13是表示各程序库部进行资源提供的处理的流程图。各程序库部被请求从应用提供资源时,对应于请求来确保资源(S1001),从应用管理部23b取得对应于该应用的应用信息实例(S1002)。接着,取出一个保持的资源回收实例(S1003),比较从应用管理部23b中取得的应用信息实例和保特在取出的资源回收实例中的应用信息实例(S1004)。当应用信息实例一致的情况下(S1004:Y),在保持该应用信息实例的资源回收实例中保持确保的资源的资源名(S1005),向该应用提供确保的资源(S1009)。另一方面,在S1004中,当应用信息实例不一致的情况下(S1004:N),相对于保持的其它全部资源回收实例进行应用信息实例的比较(S1006),如果一致(S1006:Y)则重新生成资源回收实例,在生成的资源回收实例中,将从应用管理部23b取得的应用信息实例和确保的资源的资源名分组后保持(S1007),将生成的资源回收实例登记在对应于请求资源确保的应用的应用信息实例中(S1008),向应用提供确保的资源(S1009)。
接着,说明资源回收处理。程序库部在应用结束或中断时,从存储该应用标识符的应用信息实例中调用对应的资源回收实例的方法时,回收对应于保持在该资源回收实例中的资源名的资源。
对在上述情况下的准备了解应用信息实例中的应用状态的方法(下面称为应用状态方法)和消除资源回收实例的登记的方法的情况下的资源回收处理进行说明。图14是表示应用信息实例具有应用状态方法的情况下的程序库部进行回收处理的流程图。程序库部从应用信息实例中调用登记的资源回收实例的方法时,调用保持在资源回收实例中的应用信息实例的应用状态方法,取得应用中断或结束的信息(S1101),基于取得的信息来判定是否回收资源(S1102),在回收资源的情况下,回收对应于保持在该资源回收实例中的资源名的资源(S1103),调用消除该资源回收实例的登记的方法,通过执行该方法来释放该资源回收实例(S1104)。
另外,S1102中的判定也可以是不是使用应用的全部资源的、所谓回收指定部分资源的判定。这时,S1104中的资源回收实例的释放在回收全部资源时进行。
(实施例3)
本实施例中的应用执行装置在每个应用中生成线程(thread),在生成的线程中确保应用请求的资源,OS部通过以与生成的线程对应的对象单位进行每次应用结束时向结束的应用提供的资源释放来回收不要的资源,从而可能不结束Java中间设备(所谓的虚拟计算机)而执行下一个应用。这里,所谓“线程”是指依次执行应用的程序代码的范围(一连串的处理流程)。Java中记录的应用生成多个线程,各个线程能够并列后执行应用的程序代码。在本实施例中,所谓“对象”是执行应用的多个线程的集合。在本实施例中,分配给应用的资源与该“对象”相互关联地被管理。
下面利用附图详细说明本应用执行装置的实施例。图15是表示应用执行装置30的结构的框图。应用执行装置30由应用输入部11、应用存储部12、Java中间设备部33、OS部34、硬件部35、指示通知部36构成。
因为应用输入部11、应用存储部12与包含在实施例1的执行装置10中的相同,所以省略其说明。
Java中间设备部33由VM(虚拟计算机)部33a、应用管理部33b、分类库存储部33c构成,执行应用存储部12存储的应用。
VM部33a执行应用。
具体而言,VM部33a进行如下所示的处理。包含于硬盘35中的CPU35a能够执行以字节代码记录的应用,依次翻译成二进制代码,在CPU35a中执行翻译的二进制代码。
另外,VM部33a确保在自己的动作和应用执行中所必需的资源。
具体而言,VM部33a调用包含于分类库存储部33c中的各分类库部,通过各分类库部来确保自己动作中所必需的资源。另外,在应用执行中从应用来请求资源的确保时,调用包含于分类库存储部33c中的各分类库部,通过各分类库部来确保应用所请求的资源。
另外,VM部33a在从应用来请求结束处理的线程消除时,委托核心程序34a来消除线程。
应用管理部33b进行应用启动处理、应用执行中追加或消除线程索表(thread)的管理、应用结束的处理。
首先来说明应用启动的处理。应用管理部33b从指示通知部36接收应用开始指示时,在核心程序34a中生成对象和属于对象的最初线程,在VM部33a中生成的最初线程中,通过执行应用来确保VM部33a的动作中所必需的资源,启动应用。
接着说明应用执行中追加或消除线程的管理。应用管理部33b通过保持表示应用和对应于应用生成的对象和构成对象的线程的对应关系表、并通过每次更新通过应用的请求来追加或消除线程的表,对应于应用和对象来管理线程。图16中表示表的实例。图16-(1)中,为执行中的两个应用,表示对于应用ID“1”的应用生成对象ID“201”的对象,对象ID“201”的对象由线程ID“1”和“2”的线程构成,对于应用ID“2”的应用生成对象ID“202”的对象,对象ID“202”的对象由线程ID“4”、“5”、“6”的线程构成,图16-(2)表示在应用ID“1”的应用执行中,生成新的线程(线程ID“7”的线程),生成的线程的线程ID“7”被追加到表中,图16-(3)表示在应用“2”的应用执行中消除线程ID“5”的线程。
最后说明应用结束的处理。图17为表示应用结束时应用管理部33b进行处理的流程图。应用管理部33b从指示通知部36接收应用结束的指示,向核心程序34a通知对应于结束的应用的对象ID,依赖于资源回收(S801),下面,向包含在分类库存储部33c中的各分类库部通知结束的应用的ID(S802),最后,为了生成对应于结束的应用的对象,释放确保的存储器后结束对象(S803),由此,进行应用结束的处理。例如,在图16-(3)的实例中,在应用ID“2”的应用结束的情况下,应用管理部33b向核心程序34a通知对应于应用ID“2”的对象ID“202”,依赖于核心程序34a中的对应于对象ID“202”的资源回收,接着向分类库部通知结束的应用ID“2”,最后,释放存储器,结束生成的对象“202”和包含于其中的线程“4”和“6”。
分类库存储部33c由多个分类库部33c1-33cn构成,各分类库部控制作为包含于硬件部35中的资源的装置,进行资源提供处理、听众的管理和听众调用的处理。
实际上,分类库部33c由ROM或硬盘等构成,在各分类库部中,通过向应用调用后执行记录在作为装置控制用的程序的类组中的程序来实现装置的控制。
首先,说明各分类库部进行资源提供的处理。当分类库部请求提供从VM部33a执行的应用调用的作为资源的装置时,调用对应于存储在OS部34的程序库存储部34b中该装置的程序库部,提供被请求的资源。
下面说明各分类库部进行听众管理的处理。分类库部生成从VM33a执行的应用调用的、听众登记的、进行调用登记的听众的处理的线程(下面称为专用线程)。通过分类库部的专用线程的生成在执行应用的线程中执行。分类库部生成作为属于执行的应用的对象的线程的调用听众的专用线程。
这里,所谓听众是指接受事件(通过由用户进行遥控调用操作或从对方先切断调制解调器等的装置的状态变化)发生的连络的类或接口,在听众中,定义发生事件时调用的方法,调用该方法,通过执行方法来进行事件的处理。在事件发生时调用登记的听众。例如,当发生由用户的遥控操作调用的事件时调用定义为登记的听众的方法,通过执行调用的方法来处理事件。
另外,所谓“听众登记”是指应用委托监视该事件的分类库部“当发生事件时通知该应用”。通过该分类库部在听众登记时调用定义为该听众的方法来执行上述通知。
另外,分类库部进行听众登记时调用应用管理部33b,取得进行听众登记的应用ID。应用管理部33b通过进行以下处理来特指定应用的ID,向分类库部提供指定的ID。应用管理部33b取得进行调用的线程的线程类的实例,使用从该实例中取出作为实例保持的散列码值的方法的hashcode函数,指定进行调用的实例的ID(线程ID),从表示应用管理部33b管理的应用ID和线程ID的对应关系的表来指定对应于线程ID的应用ID,向分类库部提供指定的ID。这里,取出的散列码值为分配给各实例的识别序号(ID),以通过VM部33a高效地管理由类生成的实例。各分类库部对应于应用管理部33b提供的应用ID和生成的专用线程的ID以及登记的听众的ID以保持在表中。
图18是表示分类库部进行听众管理处理的流程图。
当为了听众登记而由VM部33a执行的应用发出调用时,分类库部调用应用管理部33b,取得进行听众登记的应用的ID(S501),从表示登记的听众、专用线程、应用ID的对应关系的表取出一组应用ID和线程以及听众(S502),比较该应用ID和取得的应用ID(S503)。
在ID一致的情况下(S503:Y),对应于该ID向表追加重新进行听众登记的听众(S504)。在ID不一致的情况下(S503:N),取出保持在表中的下一组(S505、S502),重复同样的处理。当没有ID一致的情况下,结束ID的比较时(S505:Y),生成对应于重新登记的听众的专用线程(S506),向表追加取得的应用ID和生成的专用线程以及重新登记的听众组,并保持(S507)。
由此,在保持在表中的应用进行多次听众登记的情况下,能够由表指定对应于应用的专用线程,能够对应于指定的一个专用线程来将由应用登记的多个听众集中在表中以保持。之后,因为能够从一个专用线程调用对应的多个听众,所以不必每次从应用中生成听众登记的专用线程,因而能够减少生成的线程的数量。
图19是分类库部保持的表的实例。图19-(1)表示应用ID“1”的应用登记听众“L1”和听众“L4”,生成对应于这些听众的专用线程“thread10”。图19-(2)表示登记图19-(1)的表中的听众“L6”,更新表。具体而言,听众登记听众“L6”时,分类库部调用应用管理部33b,取得已进行听众登记的应用的应用ID(这里规定取得ID“2”),判定是否与保持在图19-(1)的表的应用ID“1”一致,当判定为不一致时,重新生成专用线程,使生成的专用线程“thread20”和应用ID“2”以及所众“L6”相对应以保持在表中。图19-(3)表示结束应用ID“1”的应用,从表中消除与保持在表中的应用ID“1”对应的专用线程“thread10”、听众“L1”和听众“L4”。
下面说明从发生事件到调用分类库部从专用线程调用登记的听众所进行的处理。该处理由两个处理构成。首先进行的处理为通知事件发生的处理,该处理通过由OS部34生成的线程来执行。图20为表示通知事件发生的处理的流程图。分类库部从包含于OS部34的程序库存储部34b的程序库部来通知发生事件时,从保持应用ID和专用线程以及登记的听众的组的表中取出一组(S601),将听众调用所必需的信息保持在取出的组的专用线程的队列(queue)中(S602)。这里,队列进行线程间的信息传送,能够进行所谓的“保持一个信息”、“取出一个信息”的两个操作。对保持在表中的全部组进行同样的处理(S601-603)。
下面进行的处理是调用登记的听众的处理,该处理通过分类库部生成的专用线程来执行。图21是表示分类库部进行的听众调用的处理的流程图。分类库部通过执行专用线程来监视调用的信息是否保持在队列中(S701),调用的信息如果在队列中(S701:Y),则取出该信息(S702),指定对应于来自表的专用线程的听众(S703),调用听众(S704)。当对应于专用线程的听众为多个时,对于对应的全部听众进行该听众调用处理(S703、S704)(S703-S705)。
图22是将使用队列从专用线程中调用听众的顺序的实例模式化的图。
根据图22,411、412分别表示对于图19的专用线程“thread10”和专用线程“thread20”所准备的队列。另外,401、402分别表示专用线程“thread10”和专用线程“thread20”,403为由从存储在OS部34的程序库存储部34b中的程序库部通知事件发生的OS部34生成的线程,虚线程421、422表示保持信息,黑点431、432表示保持的信息,虚线程441、442表示取出保持的信息。
当从程序库部通过线程403来通知事件发生时,分类库部将听众调用所必需的信息(431、432)保持在队列411、412中(421、422)。专用线程401、402监视信息是否保持在队列411、412中,当信息被保持时,取出该信息并调用对应的听众。即,专用线程401调用听众“L1”和听众“L4”,专用线程402调用听众“L6”。
OS部34由核心程序34a和程序库存储部34b构成,通过使Java中间设备33动作来使应用间接地动作。
核心程序34a以对应于应用的对象单位来管理提供给应用的资源。具体而言,核心程序34a通过来自应用管理部34b的指示生成对应于应用的对象和属于对象的最初的线程,在最初的线程中确保VM部33a的动作所必需的资源。另外,生成应用请求的线程,以生成的线程来提供应用请求的资源,对应于线程所属的对象ID来保持提供的资源的资源名。从应用管理部33a接收对应于结束的应用的对象ID的通知时,对应于通知的对象ID回收全部保持的资源名的资源。
程序库存储部34b由控制作为资源的装置的多个程序库部34b1-34bn构成。各程序库部控制硬盘35的对应的装置(例如,程序库部34b1控制装置35b1,程序库部34b2控制装置35b2)。实际上,程序库存储部34b由ROM或硬盘构成,在各程序库部中,通过向分类库调用记录装置控制用的函数组的程序并执行来实现装置的控制。
硬件部35由使OS部34和Java中间设备部33动作的CPU35a和装置35b1-35bn构成。
CPU35a通过执行核心程序34a生成的线程来执行应用的程序。装置35b1-35bn包含存储装置、显示装置、输入装置(键盘、遥控等)、文件系统、网络装置等,各装置对应于来自通过分类库和程序库所构成的应用的控制来进行动作。
指示通知部36向应用管理部33b指示应用的开始和结束。具体而言,向应用管理部33b指示应用的开始,当从外部接受应用结束的指示时,向应用管理部33b指示应用的结束。
上面虽然对本发明的实施例作了说明,但本发明不限于该实施例。
另外,在图21的流程图中,分类库执行专用线程,虽然总在监视调用的信息是否被保持在队列中(S701),但也可以在S701中,使专用线程处于等待状态,当在队列中保持了调用的信息时,解除专用线程的等待状态,执行专用线程,而进行S702-S705的处理。由此,可高效地利用资源。
另外,也可将图17的S801和S802的顺序颠倒。另外,每次应用生成的线程的数量不限于图16的实例。可比该实例多,或比该实例少。
另外,在本实施例中,虽然资源的管理是核心程序34a进行的,但也可是包含在程序库存储部34b中的各程序库部来进行。此时,对在资源供给时向核心程序34a供给资源的对象进行询问,当由核心程序34a接受该对象的ID通知时,将接受通知的对象ID和供给的资源的资源名分组后保持,当具有由核心程序34a指定的对象ID的资源回收指示时,从保持的组中指定对应于指示的对象ID的资源名并回收指定的资源名的资源。
另外,在本实施例中,VM部33a虽然由包含于执行应用的对象中的最初的线程在VM部33a中确保了必要的资源,但也可以在分类库部中从执行应用的线程中生成独立的系统专用线程,由生成的系统专用线程来确保必要的资源。用图23来说明此时的分类库部所进行的处理。图23是表示VM部33a获得系统专用线程的处理的流程图。分类库部由执行应用的线程来进行应执行的处理(例如提供应用所请求的资源)(S5401),接着生成系统专用的线程(S5402),由生成的系统专用线程来执行应执行的处理(例如向VM部33a提供必要的资源的处理)(S5403),结束处理时向应用通知处理结果(S5404)。执行应用的线程和系统专用的线程的处理可以任意次数交互重复执行,也可并列执行。另外,S5404的通知也可不要。
由此,因为VM部33a所必需的资源被确保在系统专用的线程中,所以即使应用结束,VM部33a自己也不必再取得必要的资源,就能够执行下面的应用。另外,分类库部也可由上述系统专用线程来确保自己必要的资源。例如,为了保持如图19的实例所示的表示应用ID和线程实例和听众接口的对应关系,也可用上述系统专用线程来确保必要的存储器。
另外,根据本实施例,虽然分类库部生成专用的线程,但也可在从提供应用执行中描绘画面的功能的Component类中生成Component实例时生成调用存储在生成的实例中的Paint方法用的调用用线程。之后,也可在应用启动时结束由应用听众登记用的分类库部专用线程的生成。
由此,不必要确认有无分类库部每次进行听众登记的专用线程,从而能够以短时间结束听众登记的处理。
(实施例4)
根据本实施例中的应用执行装置,各程序库部进行回收向应用提供的资源,回收每次应用结束等时应用使用的资源。
具体而言,进行以下处理。各程序库部通过各分类库部,当由应用提出请求提供资源时,便提供被请求的资源,在各分类库部中取得请求资源的应用的ID,将取得的应用ID和提供的资源的资源名分组后保持在表中。程序库部接到由核心程序44a发出的结束的应用ID的通知时,从保持的表中指定对应于通知的应用ID的资源名,并回收全部指定的资源名的资源。
下面利用附图来说明本应用执行装置的实施例。图24是表示应用执行装置40的结构的框图。应用执行装置40由应用输入部11、程序存储部12、Java中间设备部43、OS部44、硬件部45、指示通知部46构成。
应用输入部11、程序存储部12与包含于实施例1的执行装置10中的相同,故省略其说明。
Java中间设备部43由VM部43a、应用管理部43b、分类库部43c构成,执行应用存储部42存储的应用。
VM部43a从应用存储部12下载应用,依次解析应用的字节代码,执行应用。
应用管理部43b进行VM部43b执行的应用的启动处理、执行中的应用的管理、应用结束的处理。
首先说明应用启动的处理。应用管理部43b在每个应用中生成类加载器的实例,使用类加载器的实例来下载构成应用的全部类文件。这里,类加载器(class loader)是向存储器读入在Java程序中使用的类文件的级别。
下面说明执行中的应用的管理。应用管理部43b将下载构成启动应用的类文件的类加载器的实例和分配给该应用的ID保持在分成组表中。另外,对于ID而言,分别向每个由OS部44的核心程序44a启动的应用分配不同的ID。图25表示将与应用管理部43b保持的类加载器的实例对应的应用ID分成组的表的实例。
下面说明应用结束的处理。应用管理部43b从控制部46接收应用结束的指示,向核心程序44a和分类库部43c存储的分类库部通知结束的应用ID。
之后,应用管理部43b从向应用提供资源的分类库部调用,当有该应用的应用ID通知请求时,进行以下处理来指定该应用ID,通知给分类库。
应用管理部43b参照存储类调用信息的迭式存储器,取得下载应用的类加载器的实例,指定对应于从保持的表中取得的类加载器的实例的应用ID,向该分类库部通知指定的应用ID。这里,迭式存储器为作为类方法的作业区域所分配的存储区域,每当由方法调用来进行类的调用时,将调用的类作业区域分配给迭式存储器中,顺序存储保持在迭式存储器中的调用信息的类。在调用信息中存储指定方法的调用来源的信息。
下面例举具体实例来详细说明指定应用ID的处理。图26是表示应用管理部43b生成的类加载器的实例与迭式存储器的关系的模式图。这里,使用利用类加载器的实例6301调用构成应用的类A的方法、调用的类A调用构成应用的其它类B的方法、接着、类B调用构成应用的其它类C、最后、类C调用构成存储在分类库部中的类D的方法、等,请求资源确保时的实例进行说明。此时,在迭式存储器中,每当进行调用时,都分配调用的类的作业区域,在分配的作业区域中存储调用的信息。6300表示应用管理部43b管理的类加载器的存储区域,这里存储了两个类加载器6301和6302。5310表示迭式存储器,6311-5314保持在存储于迭式存储器6310中的类A-D中的调用信息。当具有从分类库部调用给类D的应用ID的指定请求时,应用管理部43b通过顺序参照存储在迭式存储器6310中的调用信息6314-6311来取得下载应用的类加载器的实例6310。应用管理部43b参照保持的表来指定对应于取得的类加载器的实例的应用ID。
分类库存储部43c由多个分类库部43c1-43cn构成,各分类库部通过包含于程序库存储部44b中的对应的各程序库部,控制作为包含于硬件部45中的资源的各装置。
实际上,分类库存储部43c由ROM或硬盘等构成,在各分类库部中,记录在作为各装置控制用的程序的类组中的程序通过向应用调用后执行来实现各装置的控制。
各分类库部从应用中调用、请求提供作为资源的装置时,调用对应于包含于程序库存储部44b中的该装置的程序库部,向该应用提供请求的资源。之后,分类库部从应用管理部43b取得该应用的应用ID,向该程序库部通知取得的应用ID。
核心程序44a从应用管理部43b接收应用结束的通知和结束的应用的应用ID的通知,向各程序库部通知接收的应用ID,指示资源的回收。
程序库存储部44b由控制装置的多个程序库部44b1-44bn构成,各程序库部控制硬件部45的对应装置(例如,程序库部44b1控制装置45b1,程序库部44b2控制装置45b2)。
实际上,程序库存储部44b由ROM或硬盘构成,在备程序库部中,通过记录装置控制用函数组的程序调用到各分类库部的类中后被执行来实现作为资源的装置的控制。
具体而言,各程序库部对应于从分类库部的调用,向应用提供资源,从分类库部接收该应用的应用ID的通知,将提供的资源的资源名和接收的应用ID分组后保持在表中。当由核心程序44a接收结束的应用的应用ID的通知时,从保持的表指定对应于接收通知的应用ID的资源名,回收指定的资源名的资源。图27为将提供的资源的资源名和应用ID分成组后的表的一个实施。这里表示程序库部向两个应用提供资源(文件)。
另外,根据本实施例,虽然保持将各程序库部提供的资源的资源名和应用ID分组的表,但核心程序44a也可保持表。
另外,根据本实施例,因为核心程序44a生成应用ID,所以即使在同时动作多个中间设备的情况下,也能防止由两个中间设备分别生成ID而产生的ID重复,从而核心程序44a能够正确管理资源。
(实施例5)
图28是表示本发明的实施例中的应用执行装置100的结构的框图。应用执行装置100具有应用/分类库存储部101、应用管理部102、VM(虚拟计算机)部103、存储器堆管理部104、存储器105。这里,存储器堆管理部104具有对象区域获得部104a、分离堆区域获得部104b、分离堆区域释放部104c、GC部104d、锁定部104e、存储器堆区域管理表104f。
存储器105具有包含多个分离堆区域105a-105n的存储器堆区域。各分离堆区域对应于一个应用来设置,是用于保持与对应的应用相关联的对象的区域。分别向应用设置分离堆区域,是为了将一次的回收的对象区域不是以存储器堆区域的整体作为单位,而是以分离堆区域作为单位。另外,在应用结束时以分离堆区域为单位来释放存储器堆区域。
应用/分类库存储部101存储多个应用和已有的分类库。
应用管理部102从外部接收应用的启动和结束的指示,向VM部103指示该应用的启动和结束。另外,应用管理部102在应用结束时,指示释放在分离堆区域释放部104c中配置与该应用相关的对象的分离堆区域。
VM部103在从应用管理部102接收应用的启动指示时,在存储器堆管理部104中进行该应用用的分离堆区域的分配,从分配的分离堆区域中的应用/分类库存储部101中下载该应用的同时执行下载的应用。
如果更详细地说明,应用的下载可分为:第一,类加载器对象的下载,第二,与应用相关的各个对象的下载。
首先说明类加载器对象的下载。VM部103接收来自应用管理部102的作为上述应用启动指示的用于该应用的类加载器对象的生成指示,向对象区域获得部104a输出该类加载器对象用的对象区域的获得指示(下面称为第一获得指示)。这里,所谓类加载器对象是指用于从应用/分类库存储部101将与对应的应用相关的对象下载到分离堆区域中的目标。
VM部103对于第一获得指示从对象区域获得部104a接收分离堆区域的分配和对象区域的分配时,从应用/分类库存储部101将类加载器对象下载到该对象区域中后执行该类加载器对象。
下面说明与应用相关的各个对象的下载。
VM部103通过执行该类加载器对象,从应用/分类库存储部101将与对应的应用相关的各个对象下载到通过对象区域获得部104a分配的对象区域中。即,VM部103根据与对应的应用相关的对象向对象区域获得部104a输出对象区域的获得指示(下面称为第二获得指示),作为对第二获得指示的响应,从对象区域获得部104a接收对象区域的分配时,从应用/分类库存储部101向该对象区域下载对象后执行该对象。上述第二获得指示为与类加载器对象以外的对象相对的对象区域的获得指示,如果有来自执行中的应用的其它对象的生成请求时从VM部103输出。
对象区域获得部104a接收来自VM部103的第一获得指示时,向分离堆区域获得部104b指示分离堆领域的获得,当接收分离堆区域的分配时,在该分离堆区域内获得类加载器对象区域,向VM部103通知该类加载器对象区域。
存储器堆管理表104f由分离堆区域获得部104b获得的分离堆区域相关的信息(下面称为分离堆区域信息)构成。如图29所示,各分离堆区域信息由分离堆区域ID、下载于分离堆区域中的类加载器对象ID、分离堆区域的首部地址、分离堆区域整体的大小、表示分离堆区域中的未使用区域的自由区域的首部地址、该分离堆区域中的自由区域的大小构成。当分离堆区域获得部104b接收来自对象区域获得部104a的分离堆区域的获得指示后获得分离堆区域时,通过分离堆区域获得部104b来进行向存储器堆管理表104f的分离堆区域信息的重新登记。与上述分离堆区域信息中的自由区域的首部地址和分离堆区域中的自由区域的大小相关的信息通过来自VM部103的第一或第二获得指示、在每次对象区域获得部104a获得对象区域时被更新。或者在应用结束后,对应于应用管理部102的指示来释放分配给分离堆区域释放部104c结束的应用的分离堆区域时,从存储器堆管理表104f中消除与该分离堆区域相关的分离堆区域信息。
另外,对象区域获得部104b接收来自VM部103的第二获得指示时,指定下载该第二获得指示请求元应用的类加载器对象,参照存储器堆区域管理表104f来指定对应于指定的类加载器对象的分离堆区域(例如指定的对象为CL2的情况下,指定分离堆区域b),在指定的分离堆区域内试验对象区域的获得。在对象区域获得部104a可从指定的分离堆区域获得对象区域的情况下,通知VM部103该对象区域,更新存储器堆管理表104f的该分离堆区域的信息(该分离堆区域中的自由区域的首部地址、该分离堆区域中的自由区域的大小)。
另一方面,对象领域获得部104a不能从该分离堆区域中获得对象区域时,对于GC部104d指示该分离堆区域的回收,回收结束后再次试验对象区域的获得。
分离堆区域获得部104b接收来自对象区域获得部104a的分离堆区域获得指示时,从存储器堆区域中获得分离堆区域。分离堆区域获得部104b将获得的分离堆区域105a的信息和类加载器对象的ID分组后登记在堆存储器区域管理表104f中。
分离堆区域释放部104c由应用管理部102指示应用的结束时,对应于来自应用管理部102的分离堆区域的释放指示,从存储器堆区域管理表104f来指定对应于下载结束应用的类加载器对象的分离堆区域,释放指定的分离堆区域,从存储器堆区域管理表104f中消除释放的分离堆区域的信息(释放的分离堆区域的ID、对应于该分离堆区域的类加载器对象的ID、分别对应于该分离堆区域的首部地址、该分离堆区域整体的大小、该分离堆区域中的自由区域的首部地址、该分离堆区域中的自由区域的大小的类加载器对象的ID)。
GC部104d对应于对象区域获得部104a的指示来进行分离堆区域的回收。
锁定部104e在GC部104d进行分离堆区域的回收期间停止使用该分离堆区域的应用的执行。
图30表示通过由VM部103接收对象区域获得指示(第一获得指示或第二获得指示)后的应用执行装置100的对象区域获得动作的流程图。对象区域获得部104a判定来自VM部的对象区域获得指示是第一(类加载器对象)获得指示还是第二(类加载器以外的对象)获得指示(S1301)。
当为第一获得指示时(S1301:Y),对象区域获得部104a向分离堆区域获得部104b请求对应于该类加载器对象的分离堆区域的获得,分离堆区域获得部104b从存储器105获得分离堆区域(S1302)。分离堆区域获得部104b,如图29的实例所示,将该类加载器对象的ID和获得的分离堆区域的信息分组后登记在存储器堆区域管理表104f中(S1303)。接着,对象区域获得部104a在获得的分离堆区域内获得该类加载器对象的对象区域(S1306、S1307),更新对应于该分离堆区域的存储器堆区域管理表104f的信息(S1309)。
当为第二获得指示的情况下(S1301:N),对象区域获得部104a从VM部103取得该对象保有的类加载器ID(S1304),从存储器堆区域管理表104来指定对应于上述类加载器ID的分离堆区域(S1305)。接着,对象区域获得部104a获得指定的分离堆区域内的对象区域(S1306)。对象区域获得部104a判定是否成功获得对象区域(S1307)。
对象区域获得部104a在成功获得对象区域的情况下(S1307:Y),更新对应于该分离堆区域的存储器堆区域管理表104f的信息(S1309)。
对象区域获得部104a在获得对象区域失败的情况下(S1307:N),指示进行GC部104d中获得失败的分离堆区域内的回收。GC部104d对应于指示进行该分离堆区域的回收处理(S1308)。在GC部104d进行回收处理期间,锁定部104e停止使用该分离堆区域的应用的执行。对象区域获得部104a在回收处理后,再次从该分离堆区域获得对象区域(S306),在成功获得对象区域的情况下(S1307:Y),更新对应于该分离堆区域的存储器堆区域管理表104f的信息(S1309)。
由此,对于应用管理装置100而言,因为将用于配置生成的对象的对象区域作为每个应用分配的存储器中规模小的分离堆区域来分配,所以能够减轻GC部104d一次回收处理的负荷。另外,当VM部103执行多个应用的情况下,因为锁定部104f在分离堆区域的回收处理的执行中,仅停止了使用该分离堆区域的应用,所以VM部103能够继续执行使用其它分离堆区域的应用。
图31是表示应用结束时的应用执行装置100的分离堆区域释放动作的流程图。当应用结束时,应用管理部102向分离堆区域释放部104c指示对应于下载结束应用的类加载器对象的分离堆区域的释放(S1401)。分离堆区域释放部104c指定对应于从存储器堆区域管理表104f下载的该应用的类加载器对象的分离堆区域(S1402),基于该信息来释放该分离堆区域(S1403)。分离堆区域释放部104c从存储器堆区域管理表104f消除与释放的分离堆区域的信息对应的类加载器对象的ID(S1404)。
由此,对于应用执行装置100而言,每次应用结束时,能够将对应的分离堆区域一起在短时间内释放。
另外,根据本实施例,分离堆区域获得部104b没有意识到系统类加载器对象,将分离堆区域作为系统类加载器对象用的分离堆区域来分配,如图32所示,当将存储器105整体作为系统类加载器用存储器区域(系统堆区域105-1)来分配,在该区域内分离堆区域获得部104b也可获得对应于其它类加载器对象的分离堆区域(图32)。此时,对象区域获得部104a在系统启动时在系统堆区域105-1中获得系统类加载器对象的对象区域,将系统类加载器对象的ID和获得的区域(为了方便说明而称为分离堆区域105a0)的信息(分离堆区域ID(a0)、类装入ID(SCL)、区域首部地址(MA-O)、全部区域大小(MS-O)、自由区域首部地址(FA-O)、自由区域大小(FS-O))分组后登记在存储器堆区域管理表105f中。下面与本实施例的情况一样,分离堆区域获得部104b每次从系统堆区域105-1获得类加载器对象区域用的分离堆区域时,分离堆区域获得部104b如图32所示当该类加载器对象的ID和获得的分离堆区域的信息分组后追加到存储器堆区域管理表104f中,对象区域获得部根据图30的流程图在由分离堆区域获得部104b获得的分离堆区域内获得对象区域(S1306),在获得对象区域失败的情况下(S1307),对象区域获得部104b指示进行GC部104d中获得失败的分离堆区域内的回收,GC部104d对应于指示进行该分离堆区域内的回收(S1308)。另外,当应用结束时,应用管理部102指示对就于下载于分离堆区域释放部104c中的结束应用的类加载器对象的分离堆区域,分离堆区域释放部104c对应于指示,根据图31的流程图来进行该分离堆区域的释放。另外,GC部104d以系统堆区域105-1的全部作为回收对象,将单位释放分离堆区域的分离堆总括在一起,所以可高效地使用系统堆区域105-1。
另外,本实施例中的图28的应用执行装置100的结构以功能框图表示,但实际上可通过执行包含CPU、存储器、与外部进行输入输出的输入输出装置的硬件和软件来实现。设计该软件以管理图28所示的各块的功能。另外,上述软件在从CD-ROM下载的情况下也可使用CD-ROM读出接口。存储器由RAM、ROM、硬盘和CD驱动器、软盘、存储卡等可拆卸媒体构成。
根据本实施例,在应用中,分配的分离堆区域的数量不限于一个,也可是多个。例如,在应用自己保有类加载器的情况下,即使对于该类加载器也可分配分离堆区域。
另外,根据本实施例,由分离堆区域获得部104b获得的分离堆区域的大小可由向分离堆区域获得部104b的程序指示变化。
Claims (6)
1.一种具有多个设备的应用执行装置,具有以下部件:
存储部件,存储多个应用;
核心程序部件,控制应用的执行;
多个程序库部件,各程序库部件与所述各设备分别对应起来,通过执行设备控制用的程序,管理对应的设备;
各程序库部件包括:
资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,提供被请求的所述设备作为资源,将提供的资源和该资源被提供的应用的对应关系保存到表中;
委托装置,委托所述核心程序部件,从而在已提供了资源的情况下,将已提供了资源的应用结束的通知在该应用结束时对自己进行通知,
回收装置,响应于所述委托装置的委托根据所述表,特别指定并回收由所述核心程序部件通知的应用和组的资源,
所述核心程序部件包括:
应用执行装置,读出并执行存储部件存储的多个应用;
通知装置,在执行的应用中,当任何应用结束时,向针对该应用已经委托了所述通知的各程序库部件实施该通知。
2.如权利要求1的应用执行装置,其特征在于:
所述委托装置,通过在所述通知装置进行回收函数的登录,将所述通知委托于所述通知装置,
所述通知装置,在应用结束时,通过调用并执行被登录的回收函数,向针对该应用已经委托了所述通知的程序库部件实施所述通知。
3.如权利要求1的应用执行装置,其特征在于:
所述通知装置,生成保存应用信息的应用信息实例,该应用信息按执行中的每个应用特别指定该应用,
所述资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,生成保存方法的资源回收实例,该方法用于取出所述表和保存在所述表中的信息,
所述委托装置,通过将生成的资源回收实例登录到保存应用信息的应用信息实例,该应用信息特别指定提供了资源的应用,将所述通知委托于所述通知装置,
所述通知装置,在关于生成的应用信息实例的应用结束时,通过调用被登录到该应用信息实例的资源回收实例的方法,向针对该应用已经委托了所述通知的程序库部件实施所述通知。
4.如权利要求1的应用执行装置,其特征在于:
所述通知装置,在多个应用同时结束的情况下,针对已经结束的多个应用,向已经委托了所述通知的程序库部件进行所述通知,
所述回收装置,根据所述表,特别指定并回收被通知的与各应用对应起来的资源。
5.如权利要求1的应用执行装置,其特征在于:
所述委托装置,进而在已提供了资源的情况下,委托给所述核心程序部件将已提供了资源的应用中断的通知在该应用中断时对自己进行通知,
所述通知装置,进而在应用中断时,向已经委托了针对该应用的中断的通知的程序库部件进行该通知,
各程序库部件进而还包括:
判定装置,在被通知的应用结束或中断的情况下,判定是否回收提供给该应用的资源;
所述回收装置在判定为回收资源的情况下,回收提供给被通知的应用的资源。
6.如权利要求5的应用执行装置,其特征在于:
所述通知装置,生成保存应用信息的应用信息实例,该应用信息按执行中的每个应用特别指定该应用,
所述资源提供部件,每当有来自运行中的应用的自己管理的所述设备的提供请求时,生成保存方法的资源回收实例,该方法用于取出所述表和保存在所述表中的信息,
所述委托装置,通过将生成的资源回收实例登录到保存应用信息的应用信息实例,该应用信息特别指定提供了资源的应用,将应用的结束和中断的各通知委托于所述通知装置,
所述通知装置,在关于生成的应用信息实例的应用中断或结束时,通过调用被登录到该应用信息实例的资源回收实例的方法,向针对该应用已经委托了所述各通知的程序库部件实施所述通知。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP141493/00 | 2000-05-15 | ||
JP141493/2000 | 2000-05-15 | ||
JP141492/00 | 2000-05-15 | ||
JP141492/2000 | 2000-05-15 | ||
JP2000141493 | 2000-05-15 | ||
JP2000141492 | 2000-05-15 | ||
JP2000398746 | 2000-12-27 | ||
JP398746/2000 | 2000-12-27 | ||
JP398746/00 | 2000-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1325069A CN1325069A (zh) | 2001-12-05 |
CN1254746C true CN1254746C (zh) | 2006-05-03 |
Family
ID=27343375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01121695.6A Expired - Fee Related CN1254746C (zh) | 2000-05-15 | 2001-05-14 | 应用执行装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7024668B2 (zh) |
EP (2) | EP1164485A3 (zh) |
CN (1) | CN1254746C (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0107921D0 (en) * | 2001-03-30 | 2001-05-23 | Ibm | Computer system with multiple heaps and heap reset facility |
NL1021289C2 (nl) * | 2002-08-16 | 2004-02-17 | Tryllian Holding N V | Werkwijze voor het instantieren van verschillende types van programmatuurmodules en werkwijze voor het overdragen van een mobiele programmatuuragent. |
US7082509B2 (en) * | 2003-02-06 | 2006-07-25 | Intel Corporation | Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time |
US20040172385A1 (en) * | 2003-02-27 | 2004-09-02 | Vikram Dayal | Database query and content transmission governor |
US7406694B2 (en) * | 2003-06-20 | 2008-07-29 | Microsoft Corporation | Method and system for tracking kernel resource usage |
US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7458078B2 (en) * | 2003-11-06 | 2008-11-25 | International Business Machines Corporation | Apparatus and method for autonomic hardware assisted thread stack tracking |
JP4459598B2 (ja) * | 2003-11-20 | 2010-04-28 | 富士通株式会社 | 自動取引装置、自動取引制御方法及びその制御プログラム |
US8332483B2 (en) * | 2003-12-15 | 2012-12-11 | International Business Machines Corporation | Apparatus, system, and method for autonomic control of grid system resources |
JP4303101B2 (ja) * | 2003-12-26 | 2009-07-29 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末およびプログラム |
US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7987453B2 (en) * | 2004-03-18 | 2011-07-26 | International Business Machines Corporation | Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data |
US7707586B2 (en) * | 2004-09-08 | 2010-04-27 | Intel Corporation | Operating system independent agent |
US7937717B2 (en) * | 2004-09-13 | 2011-05-03 | Tvworks, Llc | Method and apparatus enabling multiple application sharing of classes |
CN1332343C (zh) * | 2004-10-09 | 2007-08-15 | 武汉大学 | 数据库中对象标识符回收再利用的方法 |
US7681196B2 (en) * | 2004-11-18 | 2010-03-16 | Oracle International Corporation | Providing optimal number of threads to applications performing multi-tasking using threads |
JP2006163482A (ja) * | 2004-12-02 | 2006-06-22 | Hitachi Ltd | 情報処理装置の制御方法、情報処理装置、及びプログラム |
US20070169045A1 (en) * | 2005-12-01 | 2007-07-19 | Microsoft Corporation | Component tagging |
KR100772867B1 (ko) * | 2006-02-23 | 2007-11-02 | 삼성전자주식회사 | 복수의 애플리케이션에 대해 부분적으로 분리된 수행환경을 제공하는 방법 및 이를 이용한 디지털 정보 기기 |
US8381202B2 (en) * | 2006-06-20 | 2013-02-19 | Google Inc. | Runtime system for executing an application in a parallel-processing computer system |
US8443348B2 (en) * | 2006-06-20 | 2013-05-14 | Google Inc. | Application program interface of a parallel-processing computer system that supports multiple programming languages |
US8261270B2 (en) | 2006-06-20 | 2012-09-04 | Google Inc. | Systems and methods for generating reference results using a parallel-processing computer system |
US8146066B2 (en) | 2006-06-20 | 2012-03-27 | Google Inc. | Systems and methods for caching compute kernels for an application running on a parallel-processing computer system |
US7814486B2 (en) | 2006-06-20 | 2010-10-12 | Google Inc. | Multi-thread runtime system |
US8136102B2 (en) | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for compiling an application for a parallel-processing computer system |
US8108844B2 (en) | 2006-06-20 | 2012-01-31 | Google Inc. | Systems and methods for dynamically choosing a processing element for a compute kernel |
US8136104B2 (en) | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
WO2008017204A1 (en) * | 2006-08-01 | 2008-02-14 | Intel Corporation | Heap manager for a multitasking virtual machine |
CN101232689B (zh) * | 2007-01-22 | 2011-11-30 | 中兴通讯股份有限公司 | 资源的帐单的管理方法和装置 |
KR101116615B1 (ko) * | 2007-03-28 | 2012-03-07 | 삼성전자주식회사 | 자바 가상 머신 상에서 이뤄지는 애플리케이션 및 스레드의자원 관리 시스템 및 방법 |
KR101456489B1 (ko) * | 2007-07-23 | 2014-10-31 | 삼성전자주식회사 | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 |
US20090031396A1 (en) * | 2007-07-24 | 2009-01-29 | Samsung Electronics Co., Ltd. | METHOD OF AND APPARATUS FOR MANAGING ACCESS PRIVILEGES IN CLDC OSGi ENVIRONMENT |
US8291435B2 (en) * | 2007-09-28 | 2012-10-16 | Texas Instruments Incorporated | JEK class loader notification |
US8543994B2 (en) * | 2007-12-07 | 2013-09-24 | Sap Ag | Developing java server components without restarting the application server |
US20090328028A1 (en) * | 2008-06-25 | 2009-12-31 | O'rourke Connor | Electronic documents and methods for updating resource files for an application |
JP5215779B2 (ja) * | 2008-09-01 | 2013-06-19 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
CN101866298B (zh) * | 2009-04-14 | 2013-08-07 | 上海科泰世纪科技有限公司 | 线程托管对象的方法 |
CN101882068B (zh) * | 2009-05-08 | 2013-04-03 | 上海科泰世纪科技有限公司 | 实现构件对象托管的方法和数据处理设备 |
CN102033804A (zh) * | 2009-09-29 | 2011-04-27 | 国际商业机器公司 | 辅助内存分析的方法和系统 |
US8246527B2 (en) * | 2009-10-21 | 2012-08-21 | J&L Group International, Llc | Systems and methods for folding |
US9772831B2 (en) | 2010-04-26 | 2017-09-26 | Pivotal Software, Inc. | Droplet execution engine for dynamic server application deployment |
US8627426B2 (en) | 2010-04-26 | 2014-01-07 | Vmware, Inc. | Cloud platform architecture |
US9448790B2 (en) | 2010-04-26 | 2016-09-20 | Pivotal Software, Inc. | Rapid updating of cloud applications |
JP2012048674A (ja) * | 2010-08-30 | 2012-03-08 | Fujitsu Ltd | 資源管理プログラム、資源管理装置及び資源管理方法 |
DE102010053053A1 (de) * | 2010-12-01 | 2012-06-06 | Giesecke & Devrient Gmbh | Mikroprozessormodul, insbesondere Chipkarten-Mikroprozessormodul |
US8997078B2 (en) * | 2011-04-12 | 2015-03-31 | Pivotal Software, Inc. | Release lifecycle management system for a multi-node application |
US9170798B2 (en) | 2012-03-02 | 2015-10-27 | Vmware, Inc. | System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure |
US10031783B2 (en) | 2012-03-02 | 2018-07-24 | Vmware, Inc. | Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure |
US9047133B2 (en) | 2012-03-02 | 2015-06-02 | Vmware, Inc. | Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment |
US9052961B2 (en) | 2012-03-02 | 2015-06-09 | Vmware, Inc. | System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint |
US8910138B2 (en) * | 2012-05-23 | 2014-12-09 | Oracle International Corporation | Hot pluggable extensions for access management system |
US9348652B2 (en) | 2012-07-02 | 2016-05-24 | Vmware, Inc. | Multi-tenant-cloud-aggregation and application-support system |
US9317323B2 (en) * | 2012-12-26 | 2016-04-19 | Microsoft Technology Licensing, Llc | Dynamic execution log in a distributed system |
CN110083444B (zh) * | 2013-12-10 | 2024-06-11 | 华为终端有限公司 | 一种任务管理方法及设备 |
CN105263053B (zh) * | 2015-10-15 | 2019-04-30 | 深圳创维数字技术有限公司 | 多业务的硬件资源调度方法、系统及数字电视 |
CN105373434B (zh) * | 2015-12-16 | 2018-11-13 | 上海携程商务有限公司 | 资源管理系统及方法 |
WO2019049542A1 (ja) * | 2017-09-07 | 2019-03-14 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
US10367811B2 (en) * | 2017-10-06 | 2019-07-30 | Stealthpath, Inc. | Methods for internet communication security |
US10397186B2 (en) | 2017-10-06 | 2019-08-27 | Stealthpath, Inc. | Methods for internet communication security |
US10375019B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US10630642B2 (en) | 2017-10-06 | 2020-04-21 | Stealthpath, Inc. | Methods for internet communication security |
US10361859B2 (en) | 2017-10-06 | 2019-07-23 | Stealthpath, Inc. | Methods for internet communication security |
US10374803B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US11334329B2 (en) | 2018-06-08 | 2022-05-17 | Shanghai Cambricon Information Technology Co., Ltd. | General machine learning model, and model file generation and parsing method |
US10884815B2 (en) | 2018-10-29 | 2021-01-05 | Pivotal Software, Inc. | Independent services platform |
CN110688217A (zh) * | 2019-09-04 | 2020-01-14 | 广东浪潮大数据研究有限公司 | 资源释放方法及装置 |
US11558423B2 (en) * | 2019-09-27 | 2023-01-17 | Stealthpath, Inc. | Methods for zero trust security with high quality of service |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05173989A (ja) * | 1991-12-24 | 1993-07-13 | Kawasaki Steel Corp | 計算機及びマルチプロセッサ計算装置 |
JPH08123700A (ja) | 1994-10-20 | 1996-05-17 | Fujitsu Ltd | 資源管理方法 |
US6286025B1 (en) * | 1994-12-09 | 2001-09-04 | International Business Machines Corporation | Method and system of process identification by user defined process variables |
JPH0991232A (ja) | 1995-09-27 | 1997-04-04 | Nippon Telegr & Teleph Corp <Ntt> | リソース変更通知方法 |
JPH09244940A (ja) * | 1996-03-12 | 1997-09-19 | Hitachi Ltd | 分散計算機資源の管理方法 |
US5706515A (en) * | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | System and method for implementing an atomic wait for notification operation |
US5956507A (en) * | 1996-05-14 | 1999-09-21 | Shearer, Jr.; Bennie L. | Dynamic alteration of operating system kernel resource tables |
WO1998000790A1 (fr) * | 1996-07-01 | 1998-01-08 | Fujitsu Limited | Procede et dispositif de gestion de l'utilisation des ressources partagees par plusieurs groupes |
US5826082A (en) * | 1996-07-01 | 1998-10-20 | Sun Microsystems, Inc. | Method for reserving resources |
US6112243A (en) * | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US6125382A (en) * | 1997-07-25 | 2000-09-26 | International Business Machines Corporation | Distributed thread mechanism and method |
JPH1165863A (ja) * | 1997-08-26 | 1999-03-09 | Hitachi Ltd | 共有資源管理方法 |
US6560773B1 (en) * | 1997-12-12 | 2003-05-06 | International Business Machines Corporation | Method and system for memory leak detection in an object-oriented environment during real-time trace processing |
US6381321B1 (en) | 1998-05-04 | 2002-04-30 | T-Netix, Inc. | Telecommunication resource allocation system and method |
EP0964333A1 (en) | 1998-06-10 | 1999-12-15 | Sun Microsystems, Inc. | Resource management |
US6446109B2 (en) * | 1998-06-29 | 2002-09-03 | Sun Microsystems, Inc. | Application computing environment |
US6173294B1 (en) * | 1998-08-25 | 2001-01-09 | International Business Machines Corporation | Method for combining card marking with remembered set for generational garbage collection with more than two generations |
US6970925B1 (en) * | 1999-02-03 | 2005-11-29 | William H. Gates, III | Method and system for property notification |
US6629113B1 (en) * | 1999-06-30 | 2003-09-30 | International Business Machines Corporation | Method and system for dynamically adjustable and configurable garbage collector |
US6654948B1 (en) * | 1999-10-12 | 2003-11-25 | International Business Machines Corporation | Methods and apparatus for partial and consistent monitoring of object-oriented programs and systems |
US20030115575A1 (en) * | 2001-12-19 | 2003-06-19 | David Reyna | Method and system for sharing resources in hierarchical backplanes |
-
2001
- 2001-05-11 US US09/854,268 patent/US7024668B2/en not_active Expired - Lifetime
- 2001-05-14 CN CN01121695.6A patent/CN1254746C/zh not_active Expired - Fee Related
- 2001-05-15 EP EP01304329A patent/EP1164485A3/en not_active Withdrawn
- 2001-05-15 EP EP08006695A patent/EP1978444A1/en not_active Withdrawn
-
2005
- 2005-12-09 US US11/298,893 patent/US8028289B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020049719A1 (en) | 2002-04-25 |
US20060095919A1 (en) | 2006-05-04 |
CN1325069A (zh) | 2001-12-05 |
US8028289B2 (en) | 2011-09-27 |
EP1978444A1 (en) | 2008-10-08 |
EP1164485A3 (en) | 2006-10-18 |
EP1164485A2 (en) | 2001-12-19 |
US7024668B2 (en) | 2006-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1254746C (zh) | 应用执行装置及方法 | |
CN1149479C (zh) | 一个实时系统的数据管理系统 | |
CN1795434A (zh) | 程序执行控制设备,程序执行控制方法,控制程序和记录介质 | |
CN1129841C (zh) | 控制输出的方法和装置 | |
CN1906583A (zh) | 信息处理设备、中断处理控制方法、以及计算机程序 | |
CN1220946C (zh) | 管理计算环境的分区组的方法和系统 | |
CN1324468C (zh) | 信息处理装置、信息处理方法 | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN86108127A (zh) | 在多任务虚拟存储器虚拟计算机型数据处理系统中控制输入输出存取的方法 | |
CN1266627C (zh) | 数据处理装置、数据处理方法 | |
CN1519744A (zh) | 计算机共用的共用存储系统和具有该系统的信息处理系统 | |
CN1276562A (zh) | 虚拟机系统 | |
CN1610881A (zh) | Gui应用开发支持设备、gui显示设备和方法及计算机程序 | |
CN1298503A (zh) | 分布式系统中的动态查找服务 | |
CN1761949A (zh) | 垃圾收集系统 | |
CN1645342A (zh) | San环境中基于网络的海量存储资源管理方法 | |
CN1924812A (zh) | 用于i/o适配器的方法和装置 | |
CN1924842A (zh) | 用于i/o适配器的方法和装置 | |
CN1906584A (zh) | 信息处理装置、处理控制方法和计算机程序 | |
CN1801756A (zh) | 迁移程序、信息处理装置、计算机系统和存储有迁移程序的计算机可读记录介质 | |
CN101030156A (zh) | 用于数据备份的装置和方法 | |
CN1445659A (zh) | 信息处理系统 | |
CN1307289A (zh) | 计算机网络、终端、许可管理方法和服务器及有关记录介质 | |
JP2002259146A (ja) | アプリケーション実行装置及び方法 | |
CN1906598A (zh) | 信息处理设备、存储区管理方法和计算机程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060503 Termination date: 20180514 |
|
CF01 | Termination of patent right due to non-payment of annual fee |