JP2013058270A - マルチタスク仮想マシンのためのヒープ組織 - Google Patents
マルチタスク仮想マシンのためのヒープ組織 Download PDFInfo
- Publication number
- JP2013058270A JP2013058270A JP2012287480A JP2012287480A JP2013058270A JP 2013058270 A JP2013058270 A JP 2013058270A JP 2012287480 A JP2012287480 A JP 2012287480A JP 2012287480 A JP2012287480 A JP 2012287480A JP 2013058270 A JP2013058270 A JP 2013058270A
- Authority
- JP
- Japan
- Prior art keywords
- application
- task
- heap
- virtual machine
- multitasking virtual
- 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
Images
Abstract
【解決手段】ヒープ組織は、複数のタスクを並行して実行する実行エンジンと、前記実行エンジンに結合された複数のヒープを有しうる。いくつかの実施形態では、前記複数のヒープはシステム・ヒープおよび該システム・ヒープとは分離されたタスク・ヒープを含みうる。システム・ヒープは、前記複数のタスクによってアクセス可能なシステム・データを記憶しうる。タスク・ヒープは、前記複数のタスクのうちの一つのタスクによってのみアクセス可能なタスク・データを記憶しうる。
【選択図】図2
Description
Claims (29)
- 複数のタスクを並行して実行する実行エンジンと;
前記実行エンジンに結合された複数のヒープとを有するマルチタスク仮想マシンであって、前記複数のヒープは:
前記複数のタスクによってアクセス可能なシステム・データを記憶するシステム・ヒープと;
前記複数のタスクのうちの一つのタスクに割り当てられ、割り当てられたタスクによってのみアクセス可能なタスク・データを記憶するタスク・ヒープとを有する、
マルチタスク仮想マシン。 - 前記システム・データがグローバルに共有されたライブラリおよびグローバルに共有されたランタイム環境変数のシステム・メタデータを含む、請求項1記載のマルチタスク仮想マシン。
- 前記システム・データが、当該マルチタスク仮想マシンの寿命と等しい寿命をもつプログラム・オブジェクトを含む、請求項1記載のマルチタスク仮想マシン。
- 前記タスク・データが、割り当てられたタスクの寿命に等しい寿命をもつプログラム・オブジェクトを含む、請求項1記載のマルチタスク仮想マシン。
- 前記複数のヒープがさらに:
アプリケーションに割り当てられ、該アプリケーションのアプリケーション・データを記憶するアプリケーション・ヒープを有しており、前記アプリケーション・データは前記複数のタスクのうち前記アプリケーションに関連付けられた少なくとも一つのタスクによってのみアクセス可能である、
請求項1記載のマルチタスク仮想マシン。 - 前記アプリケーション・データが、アプリケーション・クラス・ファイル、アプリケーション・ライブラリおよびアプリケーション・ランタイム環境変数のアプリケーション・メタデータを含む、請求項5記載のマルチタスク仮想マシン。
- 前記アプリケーション・データが、前記アプリケーションの寿命に等しい寿命をもつプログラム・オブジェクトを有する、請求項5記載のマルチタスク仮想マシン。
- 割り当てられたタスクが終了される場合に前記タスク・ヒープを再利用するためのヒープ・マネージャをさらに有する、請求項1記載のマルチタスク仮想マシン。
- 前記アプリケーションに関連付けられた割り当てられた前記少なくとも一つのタスクが終了される場合に前記アプリケーション・ヒープを再利用するためのヒープ・マネージャをさらに有する、請求項5記載のマルチタスク仮想マシン。
- 複数のタスクを並行して実行する実行エンジンと;
前記実行エンジンに結合された複数のヒープとを有するマルチタスク仮想マシンであって、前記複数のヒープは:
前記複数のタスクのうちの一つのタスクに割り当てられ、割り当てられたタスクによってのみアクセス可能なタスク・データを記憶するタスク・ヒープと;
アプリケーションに割り当てられ、前記複数のタスクのうち少なくとも一つのタスクによってのみアクセス可能なアプリケーション・データを記憶するアプリケーション・ヒープとを有しており、前記少なくとも一つのタスクは、前記アプリケーションに関連付けられており、前記割り当てられたタスクを含む、
マルチタスク仮想マシン。 - 前記アプリケーション・データが、グローバルに共有されたライブラリおよびグローバルに共有されたランタイム環境変数のシステム・メタデータならびにアプリケーション・クラス・ファイル、アプリケーション・ライブラリおよびアプリケーション・ランタイム環境変数のアプリケーション・メタデータを含む、請求項10記載のマルチタスク仮想マシン。
- 前記アプリケーション・データが、アプリケーション・クラス・ファイル、アプリケーション・ライブラリおよびアプリケーション・ランタイム環境変数のアプリケーション・メタデータを含み、前記タスク・データがグローバルに共有されたライブラリおよびグローバルに共有されたランタイム環境変数のシステム・メタデータを含む、請求項10記載のマルチタスク仮想マシン。
- 前記アプリケーション・データが、前記アプリケーションの寿命に等しい寿命をもつプログラム・オブジェクトを含む、請求項10記載のマルチタスク仮想マシン。
- 前記タスク・データが、前記タスクの寿命に等しい寿命をもつプログラム・オブジェクトを含む、請求項10記載のマルチタスク仮想マシン。
- 前記タスクが終了される場合に前記タスク・ヒープを再利用するためのヒープ・マネージャをさらに有する、請求項10記載のマルチタスク仮想マシン。
- 前記アプリケーションに関連付けられた割り当てられた前記少なくとも一つのタスクが終了される場合に前記アプリケーション・ヒープを再利用するためのヒープ・マネージャをさらに有する、請求項10記載のマルチタスク仮想マシン。
- マルチタスク仮想マシンの方法であって:
複数のタスクのうちの一つのタスクに割り当てられたタスク・ヒープを設ける段階を含み、ここで、前記タスク・ヒープは割り当てられたタスクによってのみアクセス可能なタスク・データを記憶するものであり、
アプリケーションに割り当てられたアプリケーション・ヒープが存在するかどうかを判別する段階とを含み、ここで、前記アプリケーション・ヒープは、前記複数のタスクのうちの少なくとも一つのタスクによってのみアクセス可能なアプリケーション・データを記憶し、前記少なくとも一つのタスクは前記アプリケーションに関連付けられており、割り当てられたタスクを含む、
方法。 - 前記判別する段階がさらに:
前記割り当てられたタスクに関連付けられた前記アプリケーションを判別する段階と;
前記アプリケーションが、前記複数のタスクのうち前記マルチタスク仮想マシンによって実行されている少なくとも一つのタスクをもつ各アプリケーションを記録するライブ・アプリケーション・テーブル中に存在するかどうかを判別する段階とをさらに含む、
請求項17記載の方法。 - 前記マルチタスク仮想マシン中に前記アプリケーション・ヒープが存在しない場合、前記アプリケーション・ヒープを設ける段階をさらに有する、請求項17記載の方法。
- 前記アプリケーション・ヒープの存在をマークする段階をさらに有する、請求項17記載の方法。
- 前記マークする段階がさらに、前記アプリケーションを、前記複数のタスクのうち前記マルチタスク仮想マシンによって実行されている少なくとも一つのタスクをもつ各アプリケーションを記録するライブ・アプリケーション・テーブル中に追加する段階をさらに有する、請求項20記載の方法。
- 割り当てられたタスクを前記アプリケーション・ヒープに結び付け、それにより割り当てられたタスクが前記アプリケーション・ヒープに記憶されているアプリケーション・データにアクセスできるようにする段階をさらに有する、請求項17記載の方法。
- 前記結び付けることがさらに、前記割り当てられたタスクを前記アプリケーションのためのライブ・タスク・テーブル中に追加することを含み、ここで、前記ライブ・タスク・テーブルは、前記アプリケーションに関連付けられ、前記マルチタスク仮想マシンによって実行される各タスクを記録する、請求項22記載の方法。
- 複数の命令を有する機械可読媒体であって、該複数の命令は、実行されると、マルチタスク仮想マシンをして:
前記マルチタスク仮想マシンから、複数のタスクのうちの一つのタスクに割り当てられたタスク・ヒープを再利用し、ここで、前記タスク・ヒープは割り当てられたタスクによってのみアクセス可能なタスク・データを記憶するものであり;
前記マルチタスク仮想マシンから、あるアプリケーションに割り当てられたアプリケーション・ヒープを再利用するかどうかを決定することを実行させ、ここで、前記アプリケーション・ヒープは、前記複数のタスクのうち少なくとも一つのタスクによってのみアクセス可能なアプリケーション・データを記憶し、前記少なくとも一つのタスクは前記アプリケーションに関連付けられており、前記の割り当てられたタスクを含む、
機械可読媒体。 - マルチタスク仮想マシンをして前記アプリケーション・ヒープを再利用するかどうかを決定することを実行させる前記複数の命令がさらに、前記マルチタスク仮想マシンをして:
割り当てられたタスクが、前記アプリケーションに関連付けられており前記マルチタスク仮想マシンによって実行される各タスクを記録するライブ・タスク・リスト中にリストされている最後のタスクかどうかを判別し;
前記割り当てられたタスクが前記ライブ・タスク・リスト中の最後のタスクである場合に前記アプリケーション・ヒープを再利用することを決定することを実行させる、
請求項24記載の機械可読媒体。 - 前記複数の命令がさらに、前記マルチタスク仮想マシンをして:
前記アプリケーション・ヒープを再利用しないと決定するのに応答して、割り当てられたタスクを前記アプリケーション・ヒープから結び付き解除することを実行させる、請求項24記載の方法。 - 前記マルチタスク仮想マシンをして前記タスクを結び付き解除することを実行させる前記複数の命令がさらに、前記マルチタスク仮想マシンをして:
割り当てられたタスクを、前記アプリケーションに関連付けられており前記マルチタスク仮想マシンによって実行される各タスクを記録するライブ・タスク・リストから削除することを実行させる、請求項26記載の方法。 - 前記複数の命令がさらに、前記マルチタスク仮想マシンをして:
前記マルチタスク仮想マシンから前記アプリケーション・ヒープを再利用し;
前記アプリケーション・ヒープの再利用をマークすることを実行させる、
請求項24記載の方法。 - 前記マルチタスク仮想マシンをして再利用をマークすることを実行させる前記複数の命令がさらに、前記マルチタスク仮想マシンをして:
前記アプリケーションを、前記複数のタスクのうちの前記マルチタスク仮想マシンによって実行されている少なくとも一つのタスクをもつ各アプリケーションを記録するライブ・アプリケーション・テーブルから削除することを実行させる、請求項28記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012287480A JP5646591B2 (ja) | 2012-12-28 | 2012-12-28 | マルチタスク仮想マシンのためのヒープ組織 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012287480A JP5646591B2 (ja) | 2012-12-28 | 2012-12-28 | マルチタスク仮想マシンのためのヒープ組織 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518699A Division JP2009543236A (ja) | 2006-07-14 | 2006-07-14 | マルチタスク仮想マシンのためのヒープ組織 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013058270A true JP2013058270A (ja) | 2013-03-28 |
JP2013058270A5 JP2013058270A5 (ja) | 2013-08-15 |
JP5646591B2 JP5646591B2 (ja) | 2014-12-24 |
Family
ID=48134013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012287480A Expired - Fee Related JP5646591B2 (ja) | 2012-12-28 | 2012-12-28 | マルチタスク仮想マシンのためのヒープ組織 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5646591B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635491B2 (en) | 2014-01-21 | 2020-04-28 | Oracle International Corporation | System and method for use of a multi-tenant application server with a multitasking virtual machine |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000330805A (ja) * | 1999-04-30 | 2000-11-30 | Internatl Business Mach Corp <Ibm> | バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体 |
JP2001503891A (ja) * | 1996-11-05 | 2001-03-21 | サンマイクロシステムズ インコーポレーテッド | 情報装置のアーキテクチャ |
JP2004246753A (ja) * | 2003-02-17 | 2004-09-02 | Nippon Telegr & Teleph Corp <Ntt> | メモリ管理装置およびプログラム |
JP2004287870A (ja) * | 2003-03-24 | 2004-10-14 | Hitachi Ltd | ごみ集め方法及びコンパイル方法 |
-
2012
- 2012-12-28 JP JP2012287480A patent/JP5646591B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001503891A (ja) * | 1996-11-05 | 2001-03-21 | サンマイクロシステムズ インコーポレーテッド | 情報装置のアーキテクチャ |
JP2000330805A (ja) * | 1999-04-30 | 2000-11-30 | Internatl Business Mach Corp <Ibm> | バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体 |
JP2004246753A (ja) * | 2003-02-17 | 2004-09-02 | Nippon Telegr & Teleph Corp <Ntt> | メモリ管理装置およびプログラム |
JP2004287870A (ja) * | 2003-03-24 | 2004-10-14 | Hitachi Ltd | ごみ集め方法及びコンパイル方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5646591B2 (ja) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891900B2 (en) | Generation of specialized methods based on generic methods and type parameterizations | |
KR101059633B1 (ko) | 멀티태스킹 가상 머신을 위한 힙 구성 | |
US9891939B2 (en) | Application compatibility with library operating systems | |
US9563446B2 (en) | Binary file generation | |
US7434215B2 (en) | Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy | |
US20090307292A1 (en) | Dynamically changing a garbage collector in a managed runtime system | |
US8650537B2 (en) | Optimizing an object-oriented program by transforming invocations of synthetic accessor methods | |
JP2005509194A (ja) | プレインターナライズ済プログラムファイルの作成及び使用のための方法並びに装置 | |
US9063805B2 (en) | Method and system for enabling access to functionality provided by resources outside of an operating system environment | |
US20210109783A1 (en) | Reducing the startup latency of functions in a faas infrastructure | |
US10552135B1 (en) | Reducing a size of an application package | |
JP5646591B2 (ja) | マルチタスク仮想マシンのためのヒープ組織 | |
KR20070088160A (ko) | 메소드 호출 방법 및 이를 이용한 자바 가상 머신 | |
KR101140522B1 (ko) | 객체 관리 시스템 및 방법 | |
KR20100110710A (ko) | 동적 라이브러리를 갖는 인터페이스를 간단히 하는 방법, 시스템 및 컴퓨터 프로그램 제품 | |
US7861250B2 (en) | Runtime polymorphism | |
US6752836B1 (en) | Method and apparatus for high-concurrency client locking with java in a data processing system | |
WO2023154092A1 (en) | Dynamically overriding a function based on a capability set during load time | |
Wills et al. | Data types | |
Sutherland et al. | Managing Memory for Game Developers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140916 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5646591 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |