JP4132803B2 - メモリ管理装置、及びメモリ管理方法 - Google Patents

メモリ管理装置、及びメモリ管理方法 Download PDF

Info

Publication number
JP4132803B2
JP4132803B2 JP2001375942A JP2001375942A JP4132803B2 JP 4132803 B2 JP4132803 B2 JP 4132803B2 JP 2001375942 A JP2001375942 A JP 2001375942A JP 2001375942 A JP2001375942 A JP 2001375942A JP 4132803 B2 JP4132803 B2 JP 4132803B2
Authority
JP
Japan
Prior art keywords
memory area
java
address memory
image data
management 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.)
Expired - Fee Related
Application number
JP2001375942A
Other languages
English (en)
Other versions
JP2002244851A (ja
JP2002244851A5 (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001375942A priority Critical patent/JP4132803B2/ja
Publication of JP2002244851A publication Critical patent/JP2002244851A/ja
Publication of JP2002244851A5 publication Critical patent/JP2002244851A5/ja
Application granted granted Critical
Publication of JP4132803B2 publication Critical patent/JP4132803B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルコンピュータ・ソフトウェアの分野に関し、詳細には、オブジェクト指向型プログラムで実行される実行オブジェクトが記憶されるメモリを管理するメモリ管理装置、メモリ管理方法、メモリ管理プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
近年、コンピュータ技術、通信、及び放送技術の発達に伴い、画像、音声、動画像のような多様な情報メディアを提供するマルチメディアシステムが普及しつつある。このようなマルチメディアシステムとして、対話型デジタルテレビ、移動体端末、ゲーム装置などが市場に提供されている。
【0003】
マルチメディアシステムにおいては、インターネット等の通信媒体を介して伝送される画像、音声及び動画像データのような大量のデータがマルチメディアシステム内のアプリケーションと結合されて、画面やスピーカなどから映像や音声としてユーザに提供される。故に、ダウンロードされる大量のデータを効率的に処理する技術がマルチメディアシステムに要求される。
【0004】
画像、音声及び動画像データのような大量のデータの通信メディアからのストリーム処理の効率化を実現する手法として、近年、サン・マイクロシステムズ社のオブジェクト指向型言語であるJava(登録商標)環境が普及している。
【0005】
ここで、Javaで記述されたプログラムで構成されるアプリケーション(以下、Javaアプリケーション)に関する一般的な従来の技術の一例として、Javaアプリケーションからの要求に応じて、インターネットなどの通信媒体を介して画像データがダウンロードされてJavaアプリケーションに用いられるまでの処理の流れについて説明する。
【0006】
図10は、マルチメディア環境の下で、Javaアプリケーションからの要求に応じて、画像データをダウンロードして実行する一般的なメモリ管理装置の機能ブロック図である。
【0007】
図10に示すメモリ管理装置は、Java言語で構成されたプログラムであるJavaアプリケーション11、Java仮想マシンプログラム(以下、JavaVM)12、ネイティブプログラム13、オペレーティングシステム(以下、OS)14、オブジェクト記憶部15とで構成されている。
【0008】
Javaアプリケーション11は、Javaで記述されたソースコードを有しており、コンパイルされて低級な擬似コードである中間コード(以下、バイトコード)に変換される。JavaVM12によって、そのバイトコードがコンピュータで解釈・実行可能な機械語(以下、ネイティブコード)に変換されて実行される。JavaVM12のこの機能によって、特定のOSやプロセッサに依存することなく、いかなるプラットフォームでもJavaの実行可能な環境が実現される。
【0009】
JavaVM12は、インタプリタ部12a、オブジェクト管理部12b、JNI(JNI:Java Native Interface)部12cで構成される。インタプリタ部12aは、Javaアプリケーション11から1つの命令を表すバイトコードを読み出し、その命令をネイティブコードに変換した後に実行する。オブジェクト管理部12bは、Javaアプリケーション11の実行処理で用いられるデータやソースコード(以下、Javaオブジェクト)を生成したり、生成されたJavaオブジェクトを参照したりする。
【0010】
ここで、Javaオブジェクトは、Javaのクラスで定義されたバイトコードであって、Javaアプリケーション11からの要求に応じて、オブジェクト管理部12bによってオブジェクト記憶部15に生成(インスタンス)される。インスタンスされたJavaオブジェクトのみが、実行オブジェクトとして、Javaアプリケーション11による実行処理で用いられることとなる。
【0011】
JNI部12cは、C言語などで記述されたネイティブコードであるネイティブプログラム13をJavaアプリケーション11の要求に応じて実行するための命令や関数の集合からなるAPI(Application Program Interface)を実現する。また、JNI部12cは、ネイティブプログラム13からの要求に応じてJavaアプリケーション11を実行させることもできる。
【0012】
オブジェクト記憶部15はRAMなどで構成され、Javaオブジェクトを記憶したり生成するためのワークエリアとなる可変アドレスメモリ領域15aと、ネイティブプログラム13やOS14のワークエリアとなる固定アドレスメモリ領域15bとを備えている。
【0013】
可変アドレスメモリ領域15aは、JavaVM12による、不要なJavaオブジェクトを回収する機能(以下、GC:Garbage Collection機能)で使用され、記憶されているデータのアドレスは可変制御可能となっている。このGC機能によって、使用されなくなったメモリ領域が集約されて連続した利用可能なメモリ領域が提供され、メモリを効率良く使用することが可能となる。一方、固定アドレスメモリ領域15bは、ネイティブプログラム13やOS14等のモジュールの実行処理に利用されるデータが記憶され、OS14の管理下で各プログラムにアドレスが割り当てられ、可変アドレスメモリ領域15aのようにデータの再配置は実行されない。
【0014】
このように、Javaアプリケーション11の実行環境におけるメモリ管理では、JavaVM12のGC機能を利用するため、一般的に、Javaオブジェクトはメモリ上の可変アドレスメモリ領域15aに記憶され、ネイティブプログラム13やOS14が用いるデータが記憶される領域とは区分けされている。
【0015】
ネイティブプログラム13は、C言語などで記述されたネイティブコードである。Javaアプリケーション11からの要求に応じて、インターネット、衛星放送、ケーブル放送などの通信媒体を介して画像データを固定アドレスメモリ領域15bにダウンロードするリアルタイム処理を可能とするモジュールでネイティブプログラム13は構成される。
【0016】
続いて、ダウンロードされた画像データがJavaアプリケーション11の実行処理で用いられる場合における処理の流れを説明する。ここで、Javaアプリケーション11は、可変アドレスメモリ領域15aに記憶されたJavaオブジェクトしか参照することができないため、ダウンロードされた画像データをJavaオブジェクトとして直接参照することができない。
【0017】
図10において、オブジェクト記憶部15の可変アドレスメモリ領域15aにJavaオブジェクトOBA、OBBが記憶されている。固定アドレスメモリ領域15bには、ネイティブプログラム13によってダウンロードされたダウンロードデータDAが記憶されている。図10に示す例では、JavaオブジェクトOBA、OBBのみがJavaアプリケーション11によって参照可能であり、ダウンロードデータDAは参照不可能である。
【0018】
図11は、ダウンロードデータDAがJavaオブジェクトとして参照可能とされる場合のオブジェクト記憶部15の状態を示す図である。まず、Javaアプリケーション11からの要求に応じて、オブジェクト管理部12bが可変アドレスメモリ領域15aの空き領域にダウンロードデータDAに応じたメモリ領域が確保される。
【0019】
次に、ネイティブプログラム13が、JNI部12cを介して、固定アドレスメモリ領域15bのダウンロードデータDAを可変アドレスメモリ領域15aにダウンロードデータDBとしてコピーする。可変メモリアドレス領域15aにコピーされたダウンロードデータDBは、Javaオブジェクトとして、最終的にJavaアプリケーション11の実行処理で用いられることとなる。
【0020】
【発明が解決しようとする課題】
上述のようにネイティブプログラム13で管理される固定アドレスメモリ領域15bのデータがJavaアプリケーション11の実行処理で用いられる場合、固定アドレスメモリ領域15bから可変アドレスメモリ領域15aへのダウンロードデータDAのコピー処理が必要となっていた。そのため、コピー処理によるオーバーヘッドが発生し実行処理が遅れる恐れがある。またコピー処理の実行中、コピー先である可変アドレスメモリ領域15aとコピー元である固定アドレスメモリ領域15bとのそれぞれにダウンロードデータDAのメモリ領域が確保される必要があり、メモリ領域が効率的に使用されない場合があった。
【0021】
そこで、本発明は、Javaオブジェクトを生成するためのコピー処理によるオーバーヘッドを避け、より効率的にメモリ領域を使用することができるようなメモリ管理を行うことを目的とする。
【0022】
【課題を解決するための手段】
本発明のメモリ管理装置は、オブジェクト指向型プログラムの実行の際に用いられるオブジェクトが配置される可変アドレスメモリ領域、および上述のオブジェクト指向型プログラムの実行の際に読み出されるダウンロードされた画像データが配置された固定アドレスメモリ領域を備えるメモリの管理を行う。
【0023】
このメモリ管理装置は、オブジェクト指向型プログラムの実行のための仮想マシンプログラムをプロセッサが実行することにより実現される仮想マシンと、前記オブジェクト指向型プログラムとは異なるプログラムであって、プロセッサにより直接実行可能な他のプログラムを当該プロセッサが実行することにより実現され、通信媒体を介して画像データをダウンロードするダウンロード管理部と、前記オブジェクト指向型プログラムの実行の際に用いられるオブジェクトが配置され、当該オブジェクトの格納位置を前記仮想マシンにより変更できるようにした可変アドレスメモリ領域、及び前記プロセッサにて直接実行される他のプグラムにより管理される画像データであって、前記ダウンロード管理部によりダウンロードされた画像データが配置され、当該画像データの格納位置を前記仮想マシンにより直接変更できないようにした固定アドレスメモリ領域を有するメモリと、前記仮想マシンが前記可変アドレスメモリ領域のオブジェクトにアクセスするために利用する第1のオブジェクト管理情報および前記仮想マシンが前記固定アドレス領域の画像データをオブジェクトとして読み出すために利用する第2のオブジェクト管理情報を記憶するオブジェクト管理情報記憶部とを備え、前記仮想マシンが、前記可変アドレスメモリ領域に前記オブジェクトを生成すると共に、予め内部のデータ構造を定義したクラス情報を含んだクラスライブラリを用いて当該オブジェクトに対応するクラス情報および前記オブジェクトの格納位置に関連する情報を含む第1のオブジェクト管理情報を生成し、前記オブジェクトに対する前記第1のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する第1の生成部と、前記仮想マシンからのダウンロード要求を受け、前記ダウンロード管理部が前記固定アドレスメモリ領域に画像データをダウンロードする場合、前記ダウンロード管理部からの生成要求に従って、前記クラスライブラリに含まれるクラス情報であって、当該画像データに対応するクラス情報および前記画像データの格納位置に関連する情報を含む前記第2のオブジェクト管理情報を生成すると共に、前記画像データに対する前記第2のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する第2の生成部とを有する。
【0024】
前記第1のオブジェクト管理情報に含まれるオブジェクトの格納位置に関連する情報は前記可変アドレスメモリ領域におけるオブジェクトのアドレスを示すポインタであり、前記第2のオブジェクト管理情報に含まれる前記画像データの格納位置に関連する情報は前記固定アドレスメモリ領域における前記画像データのアドレスを示すポインタである。
【0025】
メモリ管理装置は、前記オブジェクト指向型プログラムとは異なる他のプログラムをプロセッサが実行することにより実現され、前記固定アドレスメモリ領域に画像データをダウンロードするダウンロード管理部をさらに備えることができる。
【0030】
例えば前記オブジェクト指向型プログラムはJava(登録商標)言語で記述される。
【0031】
また他の観点によれば、本発明はメモリ管理方法を提供する。このメモリ管理方法は、オブジェクト指向型プログラムの実行のための仮想マシンプログラムをプロセッサが実行することにより実現される仮想マシンと、前記オブジェクト指向型プログラムとは異なるプログラムであって、プロセッサにより直接実行可能な他のプログラムを当該プロセッサが実行することにより実現され、通信媒体を介して画像データをダウンロードするダウンロード管理部と、前記オブジェクト指向型プログラムの実行の際に用いられるオブジェクトが配置され、当該オブジェクトの格納位置を前記仮想マシンにより変更できるようにした可変アドレスメモリ領域、及び前記プロセッサにて直接実行される他のプグラムにより管理される画像データであって、前記ダウンロード管理部によりダウンロードされた画像データが配置され、当該画像データの格納位置を前記仮想マシンにより直接変更できないようにした固定アドレスメモリ領域を有するメモリと、前記仮想マシンが前記可変アドレスメモリ領域のオブジェクトにアクセスするために利用する第1のオブジェクト管理情報および前記仮想マシンが前記固定アドレス領域の画像データをオブジェクトとして読み出すために利用する第2のオブジェクト管理情報を記憶するオブジェクト管理情報記憶部とを備え、前記仮想マシンが、前記可変アドレスメモリ領域に前記オブジェクトを生成する場合、前記可変アドレスメモリ領域に前記オブジェクトを生成すると共に、予め内部のデータ構造を定義したクラス情報を含んだクラスライブラリを用いて当該オブジェクトに対応するクラス情報および前記オブジェクトの格納位置に関連する情報を含む第1のオブジェクト管理情報を生成し、前記オブジェクトに対する前記第1のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録し、前記仮想マシンからのダウンロード要求を受け、前記ダウンロード管理部が前記固定アドレスメモリ領域に画像データをダウンロードする場合、前記ダウンロード管理部からの生成要求に従って、前記クラスライブラリに含まれるクラス情報であって、当該画像データに対応するクラス情報および前記画像データの格納位置に関連する情報を含む前記第2のオブジェクト管理情報を生成すると共に、前記画像データに対する前記第2のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する。
【0032】
また、本発明は、メモリ管理プログラム又は該プログラムを記録したコンピュータ読み取り可能な記録媒体として実施されることもある。
【0033】
このメモリ管理プログラムは、上述のメモリ管理方法をコンピュータに実行させるためのプログラムである。メモリ管理プログラムがコンピュータに読み込まれることにより、ソフトウェアとハードウェア資源とが協働し、固定アドレスメモリ領域に記憶されたデータの管理情報の生成、管理情報に基づくデータの読み出しが実現される。その結果、コンピュータを利用して、例えばメモリ管理装置が構築される。また、メモリ管理プログラムが読み込まれたコンピュータが動作すれば、メモリ管理方法が構築される。
【0034】
メモリ管理プログラムは、例えばインターネットなどの通信媒体を介した通信によって配布、販売されることもあれば、記録媒体に記録された状態で配布、販売されることもある。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るメモリ管理装置100の概略構成を示す機能ブロック図である。図1において、メモリ管理装置100は、例えば、Javaアプリケーション記憶部101、JavaVM102、Javaオブジェクトテーブル103、Javaオブジェクト管理情報記憶部104、オブジェクト記憶部105、ダウンロード管理部106、ネットワーク制御部107、ネットワークデバイス108、固定アドレスメモリ提供部109を備えている。
【0036】
Javaアプリケーション記憶部101には、Javaアプリケーション111とクラスライブラリ112とが記憶されている。Javaアプリケーション111は、オブジェクト指向言語であるJavaで記述されたプログラムで構成される。Javaアプリケーション111のソースコードは、コンパイルされることによって、バイトコードに変換される。JavaVM102には、このバイトコードが送信される。また、クラスライブラリ112は、Javaオブジェクト内部のデータ構造をひとまとめに定義したクラスが集められたライブラリである。本実施の形態のJavaアプリケーション記憶部101はRAM(Random Access Memory)で構成されているが、ROM(Read Only Memory)、ハードディスク等で実現してもよい。
【0037】
JavaVM102は、例えば、Javaインタプリタ部102a、Javaオブジェクト参照部102b、可変アドレスメモリ用Javaオブジェクト生成部(以下、GOBV部)102c、固定アドレスメモリ用Javaオブジェクト生成部102d(GOBF部)を備えている。
【0038】
Javaインタプリタ部102aは、Javaアプリケーション111から1つの命令ずつ読み出して解釈実行する。なお、本メモリ管理装置100はインタプリタの実行機構を採用しているが、コンパイラ等の実行機構にも適宜変更可能である。また、Javaオブジェクト参照部102bは、Javaアプリケーション111からの要求に応じて、既に生成されたJavaオブジェクトの読み出し処理を実現する。GOBV部102c、GOBF部102dは、Javaアプリケーション111からの要求に応じて、Javaオブジェクトをオブジェクト記憶部105に生成する。
【0039】
Javaオブジェクトテーブル103には、Javaオブジェクト管理情報のアドレスを示すポインタが格納される。また、Javaオブジェクト管理情報記憶部104には、Javaオブジェクト管理情報が記憶される。Javaオブジェクト管理情報は、オブジェクト記憶部105のJavaオブジェクトやそのJavaオブジェクトのクラスに関するデータを管理するための情報である。Javaオブジェクトに関する情報は、例えばオブジェクト記憶部105におけるJavaオブジェクトのアドレスを示すポインタ、データサイズである。また、クラスに関する情報は、具体的には、Javaオブジェクトの型を示すクラス名や実行コード等、アプリケーション111による実行や参照に必要な情報である。
【0040】
オブジェクト記憶部105は、RAMなどで構成される。また、オブジェクト記憶部105は、Javaオブジェクトを生成するためのワークエリアとなる可変アドレスメモリ領域105aと、図示しないOSや他のアプリケーションで管理されるデータが記憶される固定アドレスメモリ105bとを備えている。
【0041】
可変アドレスメモリ領域105aには、JavaVM102のGOBV部102cによってJavaオブジェクトが生成される。また、JavaVM102のGC機能で使用され、記憶されているJavaオブジェクトのアドレスは可変制御可能である。
【0042】
一方、固定アドレスメモリ領域105bは、図示しないOSの管理下で各プログラムによって生成されるデータが記憶され、可変アドレスメモリ領域105aのようにJavaVM102のGC機能によってデータの再配置は実行されない。
【0043】
ダウンロード管理部106は、プラットフォームに依存したネイティブコードを生成するC言語等のネイティブ言語とJava言語との両方で記述されたプログラムによって実現され、インターネット300を介して受信されるデータの固定アドレスメモリ領域105bにおけるメモリ管理を実行する。
【0044】
ネットワーク制御部107は、モデムやTA(TA:Terminal Adapter)などで構成されるネットワークデバイス108を制御して、インターネット300からデータを受信する。また、ネットワーク制御部107は、リアルタイム処理が要求され、C言語などのネイティブ言語で構成されたプログラムで実現される。
【0045】
固定アドレスメモリ提供部109は、Javaアプリケーション111の要求に応じてデータが受信される場合、固定アドレスメモリ領域105bの空き領域から受信されたデータを記憶するためのメモリ領域をダウンロード管理部106に提供する。
【0046】
なお、図示しない中央演算処理装置(CPU)を含む制御部が、本発明のプログラムにしたがってCPU以外の各回路と協働してメモリ管理装置100で実行される制御動作を実現している。しかし、以下では、説明の便宜上、CPUが関係する制御動作を、Javaアプリケーションなどのプログラムが直接的に制御しているとものとする。
【0047】
次に、メモリ管理装置100におけるJavaオブジェクト管理のデータ構成について、図面を用いて具体的に説明する。図2は、オブジェクトテーブル103、Javaオブジェクト管理情報記憶部104、オブジェクト記憶部105に記憶されるデータ構成を示す図である。
【0048】
図2において、OB1はGOBV部102cによって可変アドレスメモリ領域105aに生成されたJavaオブジェクトである。また、OM1は、JavaオブジェクトOB1のJavaオブジェクト管理情報である。このJavaオブジェクト情報は、可変アドレスメモリ領域105aにおけるJavaオブジェクトOB1のアドレスを示すポインタやクラス情報を含む。P1は、Javaオブジェクト管理情報OM1のJavaオブジェクト管理情報記憶部104におけるアドレスを示すポインタである。ポインタP1、Javaオブジェクト管理情報OM1を参照することによって、Javaアプリケーション111はJavaオブジェクト参照部102bを介してJavaオブジェクトOB1を読み出して実行処理に用いることができる。
【0049】
同様に、OB2はGOBV部102cによって可変アドレスメモリ領域105aに生成されたJavaオブジェクトである。OM2は、JavaオブジェクトOB2のJavaオブジェクト管理情報である。このJavaオブジェクト管理情報は、可変アドレスメモリ領域105aにおけるJavaオブジェクトOB2のアドレスを示すポインタやクラス情報を含む。P2は、Javaオブジェクト管理情報OM2のJavaオブジェクト管理情報記憶部104におけるアドレスを示すポインタである。ポインタP2、Javaオブジェクト管理情報OM2を参照することによって、Javaアプリケーション111はJavaオブジェクト参照部102bを介してJavaオブジェクトOB2を読み出して実行処理に用いることができる。
【0050】
また、D1は、ダウンロード管理部106によってインターネット300から固定アドレスメモリ領域105bにダウンロードされたデータを示す。ここで、本メモリ管理装置100では、ダウンロード管理部106のようなJavaアプリケーション以外のネイティブプログラムによって固定アドレスメモリ領域105bに生成されたデータが、Javaアプリケーション111の要求に応じてJavaオブジェクトとして読み出せるようになっている。図2に示す例では、GOBF部102dによってダウンロードデータD1を読み出すためのJavaオブジェクト管理情報が生成される。これにより、インターネット300から固定アドレスメモリ領域105bに受信されたダウンロードデータD1が、可変アドレスメモリ領域105aへのコピー処理を経ずにJavaオブジェクトとして読み出せるようになる。
【0051】
図3は、GOBF部102dによって、図2に示したダウンロードデータD1のJavaオブジェクト管理情報が生成された状態を示す図である。OMDは、ダウンロードデータD1の固定アドレスメモリ領域におけるアドレスを示すポインタやクラス情報を含むJavaオブジェクト管理情報である。また、PDはJavaオブジェクト管理情報OMDのJavaオブジェクト管理情報記憶部104におけるアドレスを示すポインタである。ポインタPD、Javaオブジェクト管理情報OMDを参照することによって、Javaアプリケーション111はJavaオブジェクト参照部102bを介してダウンロードデータD1をJavaオブジェクトとして読み出して実行処理に用いることが可能となる。
【0052】
以下、本実施の形態に係るメモリ管理装置100において、ダウンロードデータD1がダウンロードされてからJavaオブジェクトとして読み出されるまでの処理の流れを説明する。図4は、ダウンロードデータD1の受信から、JavaオブジェクトとしてダウンロードデータD1が読み出されるまでの処理の流れを示す図である。
【0053】
Javaアプリケーション111が、JavaVM102を介しダウンロード管理部106に対して、ダウンロードすべきデータの識別情報を指定して受信要求を実行する(ステップS1)。ダウンロードすべきデータの識別情報として、データの識別番号や格納場所(例えば、URL:Uniform Resource Locater)が指示される。
【0054】
次に、ダウンロード管理部106が、ダウンロードされるデータの識別番号や固定アドレスメモリ領域105bで格納されるアドレスを指定して、ネットワーク制御部107に対してダウンロード要求を実行する(ステップS2)。ネットワーク制御部107は、ステップS1で指定されたインターネット300上のデータの格納場所にネットワークデバイス108を介して接続し、指定されたデータをダウンロードする。そのダウンロードされたデータはダウンロードデータD1(図2参照)として固定アドレスメモリ領域105bのステップS2で指定されたアドレスに格納される(ステップS3)。
【0055】
ダウンロードデータD1のダウンロードが終了した後、ネットワーク制御部107は、ダウンロードが完了したことをダウンロード管理部106に通知する(ステップS4)。ダウンロードが完了した後、ダウンロードデータD1に基づいて、後述するJavaオブジェクト生成処理がJavaVM102によって実行される(ステップS5)。ステップS5のJavaオブジェクト生成処理によってJavaオブジェクト管理情報OMDが生成された後、ダウンロードデータD1がJavaオブジェクトとして、Javaアプリケーション111によって読み出されて実行処理に用いられる(ステップS6)。
【0056】
次に、Javaオブジェクト生成処理(ステップS5)の処理の流れを説明する。図5は、Javaオブジェクト生成処理(ステップS5)の流れを示すフローチャートである。
【0057】
ダウンロード管理部106は、GOBF部102dに対して、固定アドレスメモリ領域105bのダウンロードデータD1を指定して、そのダウンロードデータD1に基づくJavaオブジェクトの生成を要求する(ステップS11)。次に、ダウンロードデータD1が固定アドレスメモリ領域105bで格納されるアドレスが指定されているか否かが判定される(ステップS12)。アドレスが指定されていなければ(ステップS12;No)、固定アドレスメモリ提供部109によって、固定アドレスメモリ領域105bにおける所定容量分のメモリ領域が提供される(ステップS13)。図2の場合、既にステップS2でダウンロードデータD1のアドレスがダウンロード管理部106によって指定されているので、ステップS13の処理は実行されずにステップS14の処理に移行する。
【0058】
Javaオブジェクトに変換されるダウンロードデータD1のアドレスが指定されている場合(ステップS12;Yes)、ダウンロードデータD1のクラス情報がクラスライブラリ112からJavaVM102を介して読み出され、Javaオブジェクト管理情報記憶部104のJavaオブジェクト管理情報OMDとして記憶される(ステップS14)。
【0059】
次に、ダウンロードデータD1のアドレスを示すポインタがJavaオブジェクト管理情報OMDとして記憶されるメモリ領域がJavaオブジェクト管理情報記憶部104に確保される(ステップS15)。固定アドレスメモリ領域105bのダウンロードデータD1のアドレスを示すポインタは、確保されたメモリ領域にJavaオブジェクト管理情報OMDとして記憶される(ステップS16)。
【0060】
続いて、Javaオブジェクト管理情報OMDのアドレスを示すポインタPDがJavaオブジェクトテーブル103に記憶される(ステップS17)。その後、ダウンロードデータD1はダウンロード管理部106によってJavaアプリケーション111に渡される。更に、ダウンロードデータD1は、Javaオブジェクト管理情報OMDにしたがって、Javaオブジェクト参照部102bによって読み出され、Javaアプリケーション111の実行処理で用いられる(図4のステップS6)。
【0061】
このように、固定アドレスメモリ領域105bに生成されたダウンロードデータをJavaオブジェクトとして直接読み出すことが可能となるので、ダウンロードしたデータを可変アドレスメモリ領域105aへのコピー処理が不要となり、処理のオーバーヘッドがなくなってメモリ管理装置の処理負荷が軽減される。
【0062】
また、コピー処理の実行中、可変アドレスメモリ領域105a、固定アドレスメモリ領域105bそれぞれに、Javaオブジェクトを生成するために2つのメモリ領域を確保する必要がなくなり、効率的にメモリ領域を使用できるようになる。音声、画像データのような大容量のデータをダウンロードしてJavaアプリケーション111で参照する際にとりわけ有効である。大容量のデータを受信する場合、コピー処理中に、可変アドレスメモリ領域105a、固定アドレスメモリ領域105bの双方に大容量のメモリ領域を確保する必要がなくなるためである。なお、ソースコードをダウンロードする際も本発明を適用可能であることは言うまでもない。
【0063】
また、図4において、ダウンロードが終了した後に(ステップS3)、ダウンロードデータのJavaオブジェクト管理情報を生成して(ステップS5)、Javaアプリケーション111からダウンロードデータが直接参照されるようになっているが、リアルタイム処理の効率を更に向上させるために処理手順を変更可能である。具体的には、ダウンロードデータのダウンロードが完了せずとも、ダウンロード途中のデータを、Javaアプリケーション111から参照可能にすることができる。
【0064】
例えば、図4において、Javaアプリケーション111によって、ダウンロードすべきデータの識別情報が指定された後(ステップS1)、ステップS5のJavaオブジェクト生成処理によって、Javaオブジェクト管理情報を予め生成するようにするようにすればよい。これにより、Javaアプリケーション111が要求するデータが固定アドレスメモリ領域105bへのダウンロード中であっても、ダウンロード中のデータを直接Javaオブジェクトとして読み出せるようになる。その結果、固定アドレスメモリ領域105bから可変アドレスメモリ領域105aへのコピー処理を経る従来の技術よりも、リアルタイム処理の効率を更に向上させることができる。この場合、図5のJavaオブジェクト生成処理において、固定アドレスメモリ領域105bのアドレスが指定されていないので(図5のステップS12;No)、固定アドレスメモリ提供部109によって、固定アドレスメモリ領域105bにおけるメモリ領域が提供されることになる(図5のステップS13)。
(実施の形態2)
以下、本発明の実施の形態2について図面を参照しながら詳細に説明する。
【0065】
本実施の形態に係るメモリ管理装置においては、実施の形態1に係るメモリ管理装置100と同様に、固定アドレスメモリ領域105bのデータが、Javaオブジェクト管理情報にしたがって読み出されるようになっている。しかも、Javaアプリケーションの実行処理が終了して、固定アドレスメモリ領域105bのデータが不要になった場合、固定アドレスメモリ領域から不要なデータが削除されるようになっている。固定アドレスメモリ領域105bの不要なデータが削除されることにより、ネイティブプログラムやOSのワークエリアとしての空きメモリ領域を有効に確保することができる。
【0066】
図6は、本発明の実施の形態2に係るメモリ管理装置200の概略構成を示す機能ブロック図である。本実施の形態に係るメモリ管理装置200は、例えば、Javaアプリケーション記憶部101、JavaVM202、Javaオブジェクトテーブル103、Javaオブジェクト管理情報記憶部104、オブジェクト記憶部105、ダウンロード管理部106、ネットワーク制御部107、ネットワークデバイス108、固定アドレスメモリ提供部109を備えている。Javaアプリケーション記憶部101、Javaオブジェクトテーブル103、Javaオブジェクト管理情報記憶部104、オブジェクト記憶部105、ダウンロード管理部106、ネットワーク制御部107、ネットワークデバイス108、固定アドレスメモリ提供部109は、基本的な構成や機能は実施の形態1と同様であるので、ここでは各部の詳細な説明は省略する。
【0067】
本実施の形態に係るメモリ管理装置200と実施の形態1に係るメモリ管理装置100との構成上の差異は、JavaVM202にガベージ処理部202aを更に備えていることである。
【0068】
ガベージ処理部202aは、例えば、非参照オブジェクト検出部203、オブジェクト種別判定部204、可変アドレスメモリ用削除部205、固定アドレスメモリ用削除判定部206、固定アドレスメモリ用削除部207を備えている。ガベージ処理部202aは、Javaアプリケーション111やダウンロード管理部106からの要求に応じて、可変アドレスメモリ領域105aや固定アドレスメモリ領域105bに記憶されている不要なJavaオブジェクトを削除する機能を実現する。
【0069】
非参照オブジェクト検出部203は、オブジェクト記憶部105に記憶されているJavaオブジェクトの中から、Javaアプリケーション111によって参照されていない不要なオブジェクトを検出する。
【0070】
Javaオブジェクト種別判定部204は、非参照オブジェクト検出部203によって検出された不要なJavaオブジェクトが可変アドレスメモリ領域105a、固定アドレスメモリ領域105bのいずれに記憶されているかを判定する。
【0071】
可変アドレスメモリ用削除部205は、可変アドレスメモリ領域105aに記憶されている不要なJavaオブジェクトを削除する。
【0072】
固定アドレスメモリ用削除判定部206は、オブジェクト種別判定部204によって不要なJavaオブジェクトに対応するデータが固定メモリアドレス領域105bに存在すると判定されたか否か、及びダウンロード管理部106からの不要なJavaオブジェクトに対応するデータの削除要求があるか否かを判定する。
【0073】
固定アドレスメモリ用削除部207は、固定アドレスメモリ用削除判定部206の判定結果に応じて固定アドレスメモリ領域105bに記憶されている不要なJavaオブジェクトに対応するデータを削除する。
【0074】
以下、オブジェクト記憶部105中の不要なJavaオブジェクトを削除する処理の流れを説明する。図7は、オブジェクト記憶部105の不要なJavaオブジェクトを削除する処理の流れを示すフローチャートである。
【0075】
まず、Javaアプリケーション111の実行処理が終了した後、オブジェクト記憶部105中のJavaオブジェクトへの参照が外される(ステップS21)。続いて、参照が外された不要なJavaオブジェクトを削除する要求が、Javaアプリケーション111からJavaVM202へ実行される(ステップS22)。
【0076】
次に、JavaVM202の非参照オブジェクト検出部203によって、削除する要求があったJavaオブジェクトが検出される。検出されたJavaオブジェクトが、可変アドレスメモリ領域105aまたは固定メモリアドレス領域105bのいずれに属するかがJavaオブジェクト種別判別部204によって判定される(ステップS23)。検出されたJavaオブジェクトが可変アドレスメモリ領域105aに属する場合、可変アドレスメモリ用削除部205によって検出されたJavaオブジェクトが削除される。
【0077】
また、削除する要求があったJavaオブジェクトが固定アドレスメモリ領域105bに記憶されたデータに基づくとステップS23で判定された場合、固定アドレスメモリ用削除判定部206によって、そのJavaオブジェクトに対応するデータを削除する要求が記憶される(ステップS24)。
【0078】
その後、ステップS24でオブジェクト種別判定部204からの削除要求が記憶されたデータに対して、ダウンロード管理部106から削除要求が実行される(ステップS25)。ダウンロード管理部106からの削除要求が実行されると、固定アドレスメモリ用削除判定部206は固定アドレス用削除部207に対してステップS24で削除要求が記憶されたデータの削除要求を実行する。ダウンロード管理部106による削除要求が無ければ、固定アドレスメモリ用削除判定部206から固定アドレス用削除部207に対する削除要求は実行されない。
【0079】
つまり、Javaアプリケーション111からの削除要求とダウンロード管理部106からの削除要求とが共に実行された場合のみ、固定アドレスメモリ用削除部207によって、固定アドレスメモリ領域105bの不要なデータが削除されるようになる。これにより、メモリ管理装置200内の全てのアプリケーションから参照されなくなった場合のみ不要なデータが削除されるので、アプリケーション実行時でのデータの欠落が回避でき、安全にメモリの共有化が実現される。なお、Javaアプリケーション111からの削除要求とダウンロード管理部106からの削除要求との順番が入れ替わってもよい。
【0080】
次に、固定アドレスメモリ用削除部207は、削除対象のデータに対応するJavaオブジェクトテーブル103のポインタ、Javaオブジェクト管理情報記憶部104に記憶されたJavaオブジェクト管理情報を削除する(ステップS26)。
【0081】
更に、固定アドレスメモリ用削除部207は、固定アドレスメモリ提供部109に、削除対象のデータが記憶された固定アドレスメモリ領域105bにおけるメモリ領域を開放させる要求を実行する(ステップS27)。削除要求の受信後、固定アドレスメモリ提供部109は、削除対象のデータを削除してメモリを開放する(ステップS28)。
【0082】
以上、説明したように、メモリ管理装置200内の全てのアプリケーションから参照されなくなった場合のみ、固定アドレスメモリ領域105bの不要なデータが削除されるので、アプリケーション実行時でのデータの欠落が回避でき、安全にメモリの共有化が実現される。
(実施の形態3)
上述の実施の形態1では、Javaアプリケーション111が、ネイティブプログラムによって固定アドレスメモリ領域105bに生成されたデータを読み出すために、GOBF部102dによって、そのデータの管理情報が生成された。
【0083】
もっとも、ネイティブプログラムによって固定アドレスメモリ領域105bに生成されたデータ全てについて、GOBF部102dにより管理情報を生成する必要はない。固定アドレスメモリ領域105bを管理するOSや装置の仕様、機能によっては、固定アドレスメモリ領域105bにあるデータをJavaオブジェクトとして扱わない方が好ましい。
【0084】
例えばネイティブプログラムによって固定アドレスメモリ領域105bに生成されるデータのサイズが小さければ、そのデータのJavaオブジェクトが可変アドレスメモリ領域105aに生成されるとしても、GC機能によるJavaオブジェクトの再配置の頻度も少なく、処理オーバーヘッドやメモリ効率の低下も発生せず、その処理によるデメリットは比較的小さい。しかしながら、固定アドレスメモリ領域105bを管理するOSがGC機能を有していない場合、固定アドレスメモリ領域105bにあるサイズの小さなデータがJavaオブジェクトとして扱われると、サイズの小さなデータは、固定アドレスメモリ領域105bにフラグメンテーションを発生させる要因となる。
【0085】
また、例えば音声、画像データのような大容量のデータの場合、既述の通り、そのデータのJavaオブジェクトが可変アドレスメモリ領域105aに生成されると、オーバーヘッドやメモリ効率の低下が大きくなる。さらに、大容量のデータによって可変アドレスメモリ領域105aが圧迫されると、GC機能によるJavaオブジェクトの再配置が頻繁に発生し、システムの負荷が大きくなる。固定アドレスメモリ領域105bのサイズが小さくても、データの有効期限が短ければ、固定アドレスメモリ領域105bが圧迫されることよりも、これらのデメリットが問題になる。しかしながら、固定アドレスメモリ領域105bのサイズが小さい場合、大容量のデータの有効期限が長ければ、データのJavaオブジェクトが可変アドレスメモリ領域105aに生成される方が好ましい。
【0086】
そこで、図8に示すように、この実施の形態3におけるメモリ管理装置400は、実施の形態1におけるメモリ管理装置100の構成に加え、判定部401を備えている。
【0087】
判定部401は、固定アドレスメモリ領域105bに記憶されたデータに応じて、当該データのJavaオブジェクトが可変アドレスメモリ領域105aに記憶されるか否かを判定する。
【0088】
判定の基準は、データのサイズ、種別、有効期限などである。これらの基準は、メモリ全体のサイズや、その内訳(可変アドレスメモリ領域105a、固定アドレスメモリ領域105bの各サイズ)、ダウンロードされるデータのサイズやデータの扱い方、固定アドレスメモリ領域を管理するOSの機能などにより定められる。
【0089】
例えばデータのサイズが所定サイズ以上である場合やデータの有効期限が所定期間以上である場合、データの種別が音声、映像データなどのAVデータを表す場合には、Javaオブジェクトは可変アドレスメモリ領域105aに記憶されないと判定される。この場合、実施の形態1で説明したのと同様に、固定アドレスメモリ領域105bに記憶されたデータの管理情報が、GOBF部102dによって生成される。Javaオブジェクト参照部102bは、この管理情報にしたがって、固定アドレスメモリ領域105bに記憶されたデータをJavaオブジェクトとして読み出す。
【0090】
これに対し、例えばデータのサイズが所定サイズより小さい場合やデータの有効期限が所定期間より短い場合、データの種別がAVデータでない通常のデータを表す場合には、Javaオブジェクトは可変アドレスメモリ領域105aに記憶されると判定される。この場合、従来通り、固定アドレスメモリ領域105bに記憶されたJavaオブジェクトが可変アドレスメモリ領域105aに生成されてもよい。
【0091】
本実施の形態3におけるメモリ管理装置400において、ダウンロードデータD1がダウンロードされてからJavaオブジェクトとして読み出されるまでの処理の流れは、図4を用いて説明された実施の形態1の場合と基本的に変わらない。
【0092】
但し、本実施の形態3におけるメモリ管理装置400では、実施の形態1の場合とステップS5におけるJavaオブジェクト生成処理が一部異なる。図9は、実施の形態3におけるJavaオブジェクト生成処理の流れを示すフローチャートである。
【0093】
図9に示すように、実施の形態3におけるJavaオブジェクト生成処理の流れが、実施の形態1の場合と異なるのは、ステップS40、S41が設けられている点である。
【0094】
ステップS11において、Javaオブジェクトの生成要求が行われたとき、固定アドレスメモリ領域105bに記憶されたダウンロードデータD1のサイズや種別、有効期限などが得られる。
【0095】
ステップS40では、判定部401が、固定アドレスメモリ領域105bに記憶されたダウンロードデータD1のサイズや種別、有効期限などに基づいて、そのデータD1がJavaオブジェクトとして可変アドレスメモリ領域105aに記憶されるか否かを判定する。
【0096】
ダウンロードデータD1がJavaオブジェクトとして可変アドレスメモリ領域105aに記憶されないと判定された場合にのみ、実施の形態1と同様に、ステップS12以降の処理が行われる。
【0097】
一方、ステップS40において、ダウンロードデータD1がJavaオブジェクトとして可変アドレスメモリ領域105aに記憶されると判定された場合には、ダウンロードデータD1のJavaオブジェクトが可変アドレスメモリ領域105aに生成される(ステップS41)。なお、ステップS41の処理は、従来と同様であるので、この処理の詳細な説明は省略する。
【0098】
このように、本実施の形態3では、固定アドレスメモリ領域に記憶されたデータのサイズなどに応じて、そのデータが可変アドレスメモリ領域に記憶されないと判定された場合にのみ、管理情報が生成される。固定アドレスメモリ領域を管理するOSや装置の仕様などによって判定基準が変更されれば、扱われるデータが多様であっても、固定アドレスメモリ領域を管理するOSや装置の仕様などに応じて、それらのデータを記憶する最適なメモリ領域が選択される。その結果、メモリ管理の最適化が図られる。
【0099】
以上、各実施の形態において本発明を具体的に説明したが、本発明はこれらの実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で適宜変更可能であることはもちろんである。
【0100】
なお、本発明に係るメモリ管理装置はインターネット300を介してダウンロードされたデータに基づいてJavaオブジェクトが生成されるようになっているが、デジタルTV、セットトップボックス、携帯電話等の移動体端末にも適用可能である。例えば、デジタルTVにおいては、デジタル放送網を介して送信されている搬送波に重畳されたデータを受信することができるデジタルTV受信装置にも本発明に係るメモリ管理装置を適用できる。デジタルTVに本発明が適用された場合、ネットワークデバイス(図1参照)をデジタル放送受信チューナで構成してデータを受信するようにすればよい。
【0101】
また、本発明のプログラムは、インターネットなどの通信媒体を介して接続されるサーバからクライアントコンピュータのメモリやハードディスクドライブにダウンロードされるなどの形態で、配布、販売されることがある。この場合、クライアントコンピュータに本発明のプログラムが読み込まれることにより、そのコンピュータを利用して、本発明のメモリ管理装置やメモリ管理方法が構築される。さらに、他の機器側のメモリなどに記憶されたプログラムやデータを、通信媒体を介して使用する形態が採用されてもよい。
【0102】
また、本発明のプログラムがCD−ROM、FD、DVD等の記録媒体に格納され、汎用コンピュータに対して着脱自在な形で提供される形態でもよい。これにより、本発明のプログラムが格納されたソフトウェア商品として装置と独立して容易に配布、販売することができるようになる。汎用コンピュータや汎用ゲーム装置などのハードウェアを用いてこのソフトウェアを使用することにより、これらのハードウェアで本発明が容易に実施できるようになる。
【0103】
【発明の効果】
本発明によれば、オブジェクト指向型プログラムの実行のための仮想マシンプログラムをプロセッサが実行することにより実現される仮想マシンからの要求に応じて、オブジェクト指向型プログラムとは異なるプログラムであって、プロセッサにより直接実行可能な他のプログラムをプロセッサが実行することにより実現され、通信媒体を介して画像データをダウンロードするダウンロード管理部によって固定アドレスメモリ領域にダウンロードされた画像データを仮想マシンが読み出すための第2のオブジェクト管理情報が生成されるので、従来のように、ダウンロードされた画像データをオブジェクト指向型言語のプログラムの実行の下で管理される可変アドレスメモリ領域へのコピー処理が不要となる。また、可変アドレスメモリ領域へのコピー処理に起因するオーバーヘッドがなくなって処理負荷が軽減され、効率的にメモリ領域を使用することができるようになる。
【0104】
また、Javaアプリケーションの実行処理が終了して、固定アドレスメモリ領域のデータが不要になった場合、固定アドレスメモリ領域から不要なデータが削除されるので、ネイティブプログラムやOSのワークエリアとしての空きメモリ領域を有効に確保することができる。
【0105】
さらに、固定アドレスメモリ領域に記憶されたデータに応じて、そのデータが可変アドレスメモリ領域に記憶されないと判定された場合にのみ、管理情報が生成されるようにすることによって、データに応じた最適なメモリ管理が行われる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1に係るメモリ管理装置の概略構成を示す機能ブロック図
【図2】 同実施の形態に係るオブジェクトテーブル、オブジェクト管理情報記憶部、オブジェクト記憶部に記憶されるデータ構成を示す図
【図3】 同実施の形態に係るダウンロードデータのJavaオブジェクト管理情報が生成された状態を示す図
【図4】 同実施の形態に係る、ダウンロードデータの受信から、Javaオブジェクトとしてダウンロードデータが読み出されるまでの処理の流れを示す図
【図5】 実施の形態1におけるJavaオブジェクト生成処理の流れを表すフローチャート
【図6】 本発明の実施の形態2に係るメモリ管理装置の概略構成を示す機能ブロック図
【図7】 同実施の形態に係るオブジェクト記憶部中の不要なJavaオブジェクトを削除する処理の流れのフローチャート
【図8】 本発明の実施の形態3に係るメモリ管理装置の概略構成を示す機能ブロック図
【図9】 実施の形態3におけるJavaオブジェクト生成処理の流れを表すフローチャート
【図10】 従来の技術における、画像データをダウンロードして実行する一般的なメモリ管理装置の機能ブロック図
【図11】 ダウンロードデータがJavaオブジェクトとして参照可能とされる場合のオブジェクト記憶部の状態を示す図
【符号の説明】
100 メモリ管理装置
101 Javaアプリケーション記憶部
102 JavaVM
103 Javaオブジェクトテーブル
104 Javaオブジェクト管理情報記憶部
105 オブジェクト記憶部
105a 可変アドレスメモリ領域
105b 固定アドレスメモリ領域
106 ダウンロード管理部
107 ネットワーク制御部
108 ネットワークデバイス
109 固定アドレスメモリ提供部
401 判定部

Claims (4)

  1. オブジェクト指向型プログラムの実行のための仮想マシンプログラムをプロセッサが実行することにより実現される仮想マシンと、
    前記オブジェクト指向型プログラムとは異なるプログラムであって、プロセッサにより直接実行可能な他のプログラムを当該プロセッサが実行することにより実現され、通信媒体を介して画像データをダウンロードするダウンロード管理部と、
    前記オブジェクト指向型プログラムの実行の際に用いられるオブジェクトが配置され、当該オブジェクトの格納位置を前記仮想マシンにより変更できるようにした可変アドレスメモリ領域、及び前記プロセッサにて直接実行される他のプグラムにより管理される画像データであって、前記ダウンロード管理部によりダウンロードされた画像データが配置され、当該画像データの格納位置を前記仮想マシンにより直接変更できないようにした固定アドレスメモリ領域を有するメモリと、
    前記仮想マシンが前記可変アドレスメモリ領域のオブジェクトにアクセスするために利用する第1のオブジェクト管理情報および前記仮想マシンが前記固定アドレス領域の画像データをオブジェクトとして読み出すために利用する第2のオブジェクト管理情報を記憶するオブジェクト管理情報記憶部と
    を備え、
    前記仮想マシンが、
    前記可変アドレスメモリ領域に前記オブジェクトを生成すると共に、予め内部のデータ構造を定義したクラス情報を含んだクラスライブラリを用いて当該オブジェクトに対応するクラス情報および前記オブジェクトの格納位置に関連する情報を含む第1のオブジェクト管理情報を生成し、前記オブジェクトに対する前記第1のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する第1の生成部と、
    前記仮想マシンからのダウンロード要求を受け、前記ダウンロード管理部が前記固定アドレスメモリ領域に画像データをダウンロードする場合、前記ダウンロード管理部からの生成要求に従って、前記クラスライブラリに含まれるクラス情報であって、当該画像データに対応するクラス情報および前記画像データの格納位置に関連する情報を含む前記第2のオブジェクト管理情報を生成すると共に、前記画像データに対する前記第2のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する第2の生成部と
    を有することを特徴とするメモリ管理装置。
  2. 前記第1のオブジェクト管理情報に含まれるオブジェクトの格納位置に関連する情報は前記可変アドレスメモリ領域におけるオブジェクトのアドレスを示すポインタであり、
    前記第2のオブジェクト管理情報に含まれる前記画像データの格納位置に関連する情報は前記固定アドレスメモリ領域における前記画像データのアドレスを示すポインタである請求項1記載のメモリ管理装置。
  3. 前記オブジェクト指向型プログラムはJava(登録商標)言語で記述されていることを特徴とする請求項1記載のメモリ管理装置。
  4. オブジェクト指向型プログラムの実行のための仮想マシンプログラムをプロセッサが実行することにより実現される仮想マシンと、
    前記オブジェクト指向型プログラムとは異なるプログラムであって、プロセッサにより直接実行可能な他のプログラムを当該プロセッサが実行することにより実現され、通信媒体を介して画像データをダウンロードするダウンロード管理部と、
    前記オブジェクト指向型プログラムの実行の際に用いられるオブジェクトが配置され、当該オブジェクトの格納位置を前記仮想マシンにより変更できるようにした可変アドレスメモリ領域、及び前記プロセッサにて直接実行される他のプグラムにより管理される画像データであって、前記ダウンロード管理部によりダウンロードされた画像データが配置され、当該画像データの格納位置を前記仮想マシンにより直接変更できないようにした固定アドレスメモリ領域を有するメモリと、
    前記仮想マシンが前記可変アドレスメモリ領域のオブジェクトにアクセスするために利用する第1のオブジェクト管理情報および前記仮想マシンが前記固定アドレス領域の画像データをオブジェクトとして読み出すために利用する第2のオブジェクト管理情報を記憶するオブジェクト管理情報記憶部と
    を備え、
    前記仮想マシンが、前記可変アドレスメモリ領域に前記オブジェクトを生成する場合、
    前記可変アドレスメモリ領域に前記オブジェクトを生成すると共に、予め内部のデータ構造を定義したクラス情報を含んだクラスライブラリを用いて当該オブジェクトに対応するクラス情報および前記オブジェクトの格納位置に関連する情報を含む第1のオブジェクト管理情報を生成し、前記オブジェクトに対する前記第1のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録し、前記仮想マシンからのダウンロード要求を受け、前記ダウンロード管理部が前記固定アドレスメモリ領域に画像データをダウンロードする場合、前記ダウンロード管理部からの生成要求に従って、前記クラスライブラリに含まれるクラス情報であって、当該画像データに対応するクラス情報および前記画像データの格納位置に関連する情報を含む前記第2のオブジェクト管理情報を生成すると共に、前記画像データに対する前記第2のオブジェクト管理情報を前記オブジェクト管理情報記憶部に記録する
    ことを特徴とするメモリ管理方法。
JP2001375942A 2000-12-11 2001-12-10 メモリ管理装置、及びメモリ管理方法 Expired - Fee Related JP4132803B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001375942A JP4132803B2 (ja) 2000-12-11 2001-12-10 メモリ管理装置、及びメモリ管理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000375632 2000-12-11
JP2000-375632 2000-12-11
JP2001375942A JP4132803B2 (ja) 2000-12-11 2001-12-10 メモリ管理装置、及びメモリ管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008089067A Division JP4295805B2 (ja) 2000-12-11 2008-03-31 メモリ管理装置、メモリ管理方法、メモリ管理プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (3)

Publication Number Publication Date
JP2002244851A JP2002244851A (ja) 2002-08-30
JP2002244851A5 JP2002244851A5 (ja) 2005-07-21
JP4132803B2 true JP4132803B2 (ja) 2008-08-13

Family

ID=26605580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001375942A Expired - Fee Related JP4132803B2 (ja) 2000-12-11 2001-12-10 メモリ管理装置、及びメモリ管理方法

Country Status (1)

Country Link
JP (1) JP4132803B2 (ja)

Also Published As

Publication number Publication date
JP2002244851A (ja) 2002-08-30

Similar Documents

Publication Publication Date Title
JP4295805B2 (ja) メモリ管理装置、メモリ管理方法、メモリ管理プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体
US6718364B2 (en) Method and apparatus for expedited file downloads in an applet environment
RU2501176C2 (ru) Медиапроцессор для организации мультимедийных данных
JP5292473B2 (ja) 即時的にデータをチャンクにすることを用いたファイル入出力スケジューリング
EP0753811B1 (en) Data processing method and device
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
WO2000052572A1 (en) A computer implemented method
CA2373036A1 (en) Methods and apparatus for managing an application according to an application lifecycle
JP2003157170A (ja) プログラムバイナリをデコードおよび実行する方法
EP1378822A1 (en) Data processing system and data processing method, information processing device and information processing method, and storage medium
EP1557757A2 (en) System and method for inducing asynchronous behavioral changes in a managed application process
JPH10320248A (ja) 実行時ルックアップ及び読出し専用アクセス用バイナリイメージへファイルを埋込むための装置及びその方法
WO2000040007A1 (en) A stream device management system for multimedia clients in a broadcast network architecture
KR100493893B1 (ko) 자바 프로그램에서 클래스 로딩 과정을 단축시키는 시스템및 방법
JP4132803B2 (ja) メモリ管理装置、及びメモリ管理方法
US20220179717A1 (en) Systems and Methods for Virtual GPU-CPU Memory Orchestration
CN114900485B (zh) 访问网络文件存储的方法、电子设备及系统
JP2006039878A (ja) Java(R)実行環境におけるメモリ管理方法及びメモリ管理プログラム
JP2006171927A (ja) プログラム実行装置及びプログラム実行方法及びデータ領域管理プログラム
WO2022125419A1 (en) Systems and methods for virtual gpu-cpu memory orchestration
JPH10254762A (ja) 実時間ガーベジコレクション処理装置
JP2007293730A (ja) 中間コードプログラムの実行方法および情報端末

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080409

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: 20080507

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4132803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees