JP4217682B2 - アプリケーション実行方法およびアプリケーション実行プログラム - Google Patents

アプリケーション実行方法およびアプリケーション実行プログラム Download PDF

Info

Publication number
JP4217682B2
JP4217682B2 JP2004381846A JP2004381846A JP4217682B2 JP 4217682 B2 JP4217682 B2 JP 4217682B2 JP 2004381846 A JP2004381846 A JP 2004381846A JP 2004381846 A JP2004381846 A JP 2004381846A JP 4217682 B2 JP4217682 B2 JP 4217682B2
Authority
JP
Japan
Prior art keywords
group data
application program
memory
class
class group
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
JP2004381846A
Other languages
English (en)
Other versions
JP2006189944A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2004381846A priority Critical patent/JP4217682B2/ja
Publication of JP2006189944A publication Critical patent/JP2006189944A/ja
Application granted granted Critical
Publication of JP4217682B2 publication Critical patent/JP4217682B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーション実行方法およびアプリケーション実行プログラムに関する。
計算機において、インタプリタを利用してプログラムを実行する際、単一のプロセス内で複数のプログラムが実行されることがある。Java(登録商標)実行環境等におけるプログラム実行を例にあげると、図7に示すように、単一のインタプリタAの実行により、プロセスAにおいて複数のソースプログラムB,C,Dが、仮想プロセスB,C,Dとして実行される。このように、単一のプロセス内で実行される複数のプログラムは仮想プロセスとされて実行される。
ここで、「プロセス」とは、オペレーティングシステムによって直接実行される処理をいう。また、「仮想プロセス」とは、オペレーティングシステムによって実行されたプロセス内で、バーチャルマシンのように仮想的に実行される処理をいう。
「プロセス」および「仮想プロセス」のいずれの処理を行う場合であっても、プログラムを実行するには、まず、外部記憶装置に保存したプログラムをメモリにロードし、「プロセス」および「仮想プロセス」の実行を開始できるように初期化処理を行う。一般的に、バーチャルマシンによるプログラムのロードは、オペレーティングシステムによるプログラムのロードと比較すると、より長い時間を要する。各処理を行う度に、プログラムのロードをしており、バーチャルマシンを利用したプログラムの実行は、実行の要求がされてからプログラムが終了するまでに時間がかかるという問題がある。
プログラムを実行する際、外部記憶装置に保存したプログラムをメモリへ読み込むことにより、アクセス回数を減らしてプログラムを実行開始するまでの時間やプログラムの実行時間を短縮する技術がある(たとえば、特許文献1)。
特開平8−44570号公報
しかしながら、上述した特許文献1に記載の発明によれば、プログラムの実行要求がされてから、外部記憶装置に保存したプログラムをメモリに読み込む時間が含まれる。このようにアプリケーション実行要求がされてからアプリケーションプログラムをメモリへロードする場合、プログラムの実行が開始されるまでに長い時間を要し、プログラムの実行が完了するまでに長い時間がかかるという問題がある。
上記課題に鑑み、本発明は、アプリケーションプログラムの実行が要求されてからアプリケーションプログラムの実行が完了するまでに要する時間を短縮するアプリケーション実行方法およびアプリケーション実行プログラムを提供することを目的とする。
上記目的を達成するために、請求項1に記載の発明であるアプリケーション実行方法は、入力されたアプリケーション実行要求に従って、アプリケーションプログラムを記憶装置からメモリにロードして実行するアプリケーション実行方法であって、コンピュータが、アプリケーションプログラムの識別子であるクラス名が登録されるプリロード対象名リストに存在するアプリケーションプログラムのクラス群データのうち、予め定められるプリロード最大数のクラス群データを記憶装置からメモリにプリロードするステップと、コンピュータが、アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在する場合、コンピュータが、前記メモリ上に存在するクラス群データの中から指定されたクラス名のクラス群データを利用してアプリケーションプログラムを中央処理制御装置が実行するステップと、コンピュータが、アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在しない場合、指定されたクラス名のアプリケーションプログラムのクラス群データを前記記憶装置からメモリ上にロードしてアプリケーションプログラムを中央処理制御装置が実行するステップと、コンピュータが、実行が終了したアプリケーションプログラムのクラス群データを前記メモリから削除するステップと、コンピュータが、前記アプリケーション実行要求で指定されたアプリケーションプログラムが、前記メモリにプリロードされたクラス群データにより実行された回数をヒット回数とし、また、前記メモリにプリロードされていなかったクラス群データにより実行された回数をミス回数としたとき、前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第1閾値以上である場合、前記メモリにプリロードするクラス群データの数を減少させるステップと、前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第2閾値以下である場合、前記メモリにプリロードするクラス群データの数を増加させるステップとを備えることを特徴とする。
上記構成による本発明によれば、アプリケーション実行要求がされてからアプリケーションの実行が完了するまでに要する時間を短縮させることができる。
本発明によれば、アプリケーション実行要求がされてからアプリケーションの実行が完了するまでに要する時間を短縮するアプリケーション実行方法およびアプリケーション実行プログラムを提供することができる。
以下、図面を参照して、本発明の最良の実施の形態を説明する。
図1に示すのは、本発明の最良の実施の形態に係るアプリケーション実行方法を説明する図である。以下に示すアプリケーション実行方法においては、実行するアプリケーションプログラムは、Java(登録商標)プログラムを例にして説明する。
図1に示す例では、2次記憶部10にアプリケーション実行要求プログラム100、アプリケーション実行プログラム120、実行プログラム110およびアプリケーションプログラム130が記憶されている。
また、図1に示すのは、メモリ20にアプリケーション実行要求プログラム100、アプリケーション実行プログラム120、実行プログラム110およびアプリケーションプログラム130が2次記憶部10から読み出され、アプリケーション実行要求プロセス200、実行プロセス210、アプリケーション実行プロセス220およびアプリケーションプロセス230として実行された例である。
本発明の最良の実施の形態に係るアプリケーション実行方法は、図2に示すように、中央処理制御装置301、ROM(Read Only Memory)302、RAM(Random Access Memory)303および入出力インタフェース309が、バス310を介して接続されている。入出力インタフェース309には、入力装置304、表示装置305、通信制御装置306、記憶装置307およびリムーバブルディスク308が接続される計算機1において実現される。
中央処理制御装置301は、入力装置304からの入力信号に基づいてROM302から計算機1を起動するためのブートプログラムを読み出して実行し、更に記憶装置307に記憶されたオペレーティングシステムを読み出す。更に中央処理制御装置301は、入力装置304や通信制御装置306などの入力信号に基づいて、各種装置の制御を行ったり、RAM303や記憶装置307などに記憶されたプログラムおよびデータを読み出してRAM303にロードするとともに、RAM303から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、後述する一連の処理を実現する処理装置である。
入力装置304は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース309およびバス310を介して中央処理制御装置301に送信される。表示装置305は、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどであり、中央処理制御装置301からバス310および入出力インタフェース309を介して表示装置305において表示させる出力信号を受信し、たとえば、中央処理制御装置301の処理結果などを表示する装置である。通信制御装置306は、LANカードやモデムなどの装置であり、アプリケーションプログラムを実行する計算機1をインターネットやLANなどの通信ネットワークに接続する装置である。通信制御装置306を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェース309およびバス310を介して中央処理制御装置301に送受信される。
記憶装置307は半導体記憶装置または磁気ディスク装置等であって、中央処理制御装置301で実行されるプログラムやデータが記憶されている。リムーバブルディスク308は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース309およびバス310を介して中央処理制御装置301に送受信される。2次記憶部10は、本発明に係るアプリケーション実行方法が実現される計算機1の記憶装置307に相当する。また、この2次記憶部10で記憶しているアプリケーション実行要求プログラム100、アプリケーション実行プログラム120、実行プログラム110およびアプリケーションプログラム130がメモリ20に読み込まれて中央処理制御装置301により実行されることによって、アプリケーション実行要求プロセス200、実行プロセス210、アプリケーション実行プロセス220およびアプリケーションプロセス230が実装される。
なお、本発明の最良の実施の形態に係るアプリケーション実行方法は、図2に示すように2次記憶部10及びメモリ20を有する一つの計算機1内において実行されても良いし、互いに通信可能な複数の計算機において実行されても良い。
アプリケーション実行要求プログラム100は、アプリケーションプログラムの実行要求をする。このアプリケーション実行要求プログラム100は、図1に示す例では、ネイティブコード形式のロードモジュールとする。
実行プログラム110は、アプリケーションプログラムであるJava(登録商標)プログラムを実行する。この実行プログラム110は、図1に示す例では、ネイティブコード形式のロードモジュールとする。
アプリケーション実行プログラム120は、アプリケーション実行要求により、アプリケーションプログラム130を提供する。このアプリケーション実行プログラム120は、図1に示す例では、クラス群データとしてバイトコード形式で記憶されている。ここで、バイトコード形式は、実行プログラム110により解釈実行可能な形式である。プリロード対象クラス名リストファイル121には、アプリケーション実行プロセス220でクラス群データを事前にロード(プリロード)する対象となるクラス群データを識別するクラス名が記述されている。アプリケーションプログラム130は、アプリケーション実行要求により、実行される。このアプリケーションプログラム130は、クラス群データとしてバイトコード形式で記憶されている。また、このクラス群データは、クラス名により識別される。
アプリケーション実行要求プロセス200は、アプリケーション実行要求プログラム100がオペレーティングシステムにより2次記憶部10からメモリ20上にロードされて実行される。アプリケーション実行要求プロセス200は、実行要求がされたアプリケーションプログラムのクラス名を指定したアプリケーション実行要求を生成する。
実行プロセス210は、実行プログラム110がオペレーティングシステムにより2次記憶部10からメモリ20上にロードされて実行される。実行プロセス210上では、仮想プロセスである、アプリケーション実行プロセス220およびアプリケーションプロセス230が実行される。
アプリケーション実行プロセス220は、アプリケーション実行プログラム120およびアプリケーションプログラム130が実行プロセス210の制御により2次記憶部10からメモリ20上にロードされて実行される。アプリケーション実行プロセス220は、プリロード対象クラス名リスト221、プリロードクラス群データ222aおよびクラスローダ222bを有している。
プリロード対象クラス名リスト221はプリロード対象となるクラス名が記述されている。プリロードクラス群データ222aは2次記憶部10のアプリケーションプログラム130からプリロードされたクラス群データが記憶されている。クラスローダ222bは、2次記憶部10からメモリ20にクラス群データをロードする。なお、各アプリケーションプログラムは1又は複数のクラス群データにより構成され、アプリケーションプログラムのロードはクラス群データとしてクラス単位で行われる。
図1に示す例では、プリロード対象クラス名リスト221は、初期状態においては2次記憶部10に記憶されるプリロード対象クラス名リストファイル121が読み出されてメモリ20上に生成されて使用されるとともに、アプリケーションプログラムの実行中に、アプリケーションプロセス230のクラスローダ231bによってクラス群データ名が追加される。しかしながら、このように2次記憶部10にプリロード対象クラス名リストファイル121を有さず、初期状態においてはプリロード対象クラス名リストファイル121にはクラス名は記憶されていない状態であって、アプリケーションプログラムの実行中に、メモリ20内でクラス名が蓄積されてプリロード対象クラス名リストファイル121が蓄積されていく方法であっても良い。
本発明の最良の実施の形態においてプリロードとは、アプリケーション実行要求がされる前に、アプリケーションプログラム130をメモリ20上に事前にロードしておくことである。アプリケーション実行プロセス220では、アプリケーション実行要求を待たずに、アプリケーション実行用のアプリケーションプログラムのクラス群データをメモリ20上にロードする。プリロードクラス群データ222aでは、2次記憶部10からロードされたアプリケーションプログラムのクラス群データが記憶されている。アプリケーション実行プロセス220は、複数のプリロードクラス群データ222aを有する。たとえば、プリロードクラス群データ222aの数が、予め指定された数よりも小さい場合、アプリケーション実行プロセス220において新たにクラスローダ222bが作成されてクラスのプリロードが行われ、プリロードクラス群データ222aを増やすことが可能である。
なお、アプリケーション実行要求プロセス200とアプリケーション実行プロセス220の間の通信手段は、たとえば、TCP/IP、共有メモリ、パイプなど、任意の通信手段を用いることができる。
アプリケーションプロセス230は、アプリケーションプログラム130が実行プロセス210の制御により2次記憶部10からメモリ20上にロードされたクラス群データを用いて実行される。アプリケーションプロセス230は、クラス群データ231aおよびクラスローダ231bを有している。クラス群データ231aは、2次記憶部10のアプリケーションプログラム130からロードされたクラス群データを記憶している。クラスローダ231bは、ロードされていないクラス群データを指定するアプリケーションプログラムの実行が要求された場合に生成され、2次記憶部10からクラス群データを動的にロードする。また、クラスローダ231bは、クラス群データをロードするとともに、プリロード対象クラス名リスト221へクラス名を記述する。
なお、上述した図1に示す本発明の最良の形態に係るアプリケーションプログラムの実行方法は、1つの計算機1内においてオペレーティングシステムにより2次記憶部10からメモリ20上にアプリケーション実行要求プログラム100がロードされたアプリケーション実行要求プロセスにより開始されている。しかし、これに限られず、たとえば、互いに通信可能な複数の計算機において実行されても良く、別の計算機で実行されたアプリケーション実行要求プログラムにより、開始する方法であってもよい。
また、実行プログラム110の形式は、ネイディブコード形式に限られる必要はない。
[アプリケーション実行処理]
次に、図3に示すフローチャートを用いて、本発明の最良の実施の形態に係るアプリケーション実行方法におけるアプリケーション実行処理を説明する。
アプリケーション実行プロセス220は、アプリケーション実行要求プロセス200からアプリケーション実行要求の入力を待機している(S001)。入力されるアプリケーション実行要求には、実行を要求するアプリケーションプログラムのリスト名が指定されている。
アプリケーション実行プロセス220は、アプリケーション実行要求が入力されると(S001でYES)、入力されたアプリケーション実行要求で指定されたリスト名のクラス群データが、プリロードクラス群データ222aとして存在するか否かを確認する(S002)。
入力されたアプリケーション実行要求で指定されたクラス名のクラス群データが、プリロードクラス群データ222aに存在する場合(S002でYES)、プリロードクラス群データ222aに記憶されているクラス群データを用いてアプリケーションプログラム130が実行される(S003)。
その後、アプリケーションプログラムの実行が終了すると、アプリケーション実行プロセス220により、アプリケーションプログラムの実行で使用されたプリロードクラス群データ222aおよび対応するクラスローダ222bは削除される(S004)。
一方、受信したアプリケーション実行要求で指定されたアプリケーションプログラムのクラス名がプリロードクラス群データ222aとして存在しない場合(S002でNO)、クラスローダ231bが新たに作成され、生成されたクラスローダ231bにより2次記憶部10からメモリ20にクラス群データがロードされてクラス群データ231aが生成され、アプリケーションプログラムが実行される(S005)。
その後、アプリケーションプログラムの実行が終了すると、アプリケーション実行プロセス220により、アプリケーションプログラムの実行で使用されたクラス群データ231aおよび対応するクラスローダ231bは削除される(S006)。
使用されたクラス群データが削除されるのは、クラス群データは使用により、その内容が変化する場合があるためである。
このように、プリロード対象クラス名リスト221で記憶されているクラス名のアプリケーションプログラムについて、プリロードクラス群データ222aおよび対応するクラスローダ222bを用いて予めプリロードされたクラス群データを用いてアプリケーションプログラムを実行することにより、アプリケーションプログラムをロードする時間を削減し、アプリケーションプログラムの実行性能を向上させることができる。
また、アプリケーション実行プロセス220は、複数のクラス群データをプリロードクラス群データ222aとして記憶することが可能であり、さらに、同一のクラス名のクラス群データを複数記憶することもできるため、同一のアプリケーションプログラムの実行要求が複数されるようなスレッド処理の場合であっても、アプリケーションプログラムの実行性能を向上させることができる。
さらに、プリロードしておくことで、インタプリタでロードする場合、オペレーティングシステムがロードするよりも遅いという問題点を改善することが可能になる。
[プリロード処理]
次に、図4に示すフローチャートを用いて、本発明の最良の実施の形態に係るアプリケーション実行方法におけるプリロード処理を説明する。
アプリケーション実行プロセス220で、プリロードクラス群データ222aの数がプリロード最大数L以上であるか否かが判断される(S101)。ここで、プリロード最大数Lとは、アプリケーション実行プロセス220にプリロードされてプリロードクラス群データ222aとして記憶されるクラス群データの最大の数である。
ステップS101において、現在のプリロードクラス群データ222aの数がプリロード最大数Lに満たないと判断された場合(S101でNO)、アプリケーション実行プロセス220は、プリロード対象クラス名リスト221を参照し、生成されたクラスローダ222bにより2次記憶部10から対象となるクラス群データをロードする。また、アプリケーション実行プロセス220は、ロードしたクラス群データをプリロードクラス群データ222aとしてメモリ20に記憶する(S102)。
ステップS102でクラス群データがプリロードされると、ステップS101に戻り、プリロード最大数Lのプリロードクラス群データ222aがメモリ20に記憶されるまで、同様の処理が繰り返される。
一方、ステップS101の判断で、プリロード最大数Lのプリロードクラス群データ222aが存在していた場合、プリロードする必要がないため、再び、ステップS101の処理を繰り返す。
このように、予めプリロード対象クラス名リスト221をプリロードしておくことで、アプリケーションプログラムの実行が要求されてから実行が終了するまでの実行時間を短縮させることが可能になる。
[プリロード負荷の調整処理]
プリロードクラス群データ222aとして予めロードしておくクラス群データの数は、アプリケーションプログラムの実行時間に影響を与える。具体的には、より多くのクラス群データをプリロードしておけば、アプリケーション実行要求時にプリロードされたクラス群データを使用できる確率が高くなるためアプリケーションプログラムの実行時間が短くなる。しかしながら、プリロードクラス群データ222aが多く記憶された場合には、メモリ20のリソース等が多く必要になる。
一方、プリロードクラス群データ222aの数を減らした際に短期間に多数のアプリケーション実行要求があった場合、プリロードクラス群データ222aを使い果たすことがある。この場合、アプリケーション実行要求後にクラス群データをロードする必要があり、各アプリケーションプログラムの実行時間が長くなる。
このように、どの程度の頻度でアプリケーション実行要求が行われるかを事前に予測できない場合、たとえば、負荷に応じてプリロードするクラス群データの数を調節することでリソースの使用量を抑えつつ、アプリケーションプログラムの実行時間を短縮することができる。
図5に示すフローチャートを用いて、本発明の最良の実施の形態に係るアプリケーション実行方法におけるプリロード負荷の調整処理を説明する。
まず、アプリケーション実行プロセス220では、プリロード最大数L、ヒット回数Mおよびミス回数Nを初期化する(S201)。プリロード最大数L、ヒット回数Mおよびミス回数Nが初期化されると、アプリケーション実行プロセス220は、アプリケーション実行要求を待機する(S202)。
ここで、ヒットとは、実行要求がされたアプリケーションプログラムがプリロードされていた状態をいい、ヒット回数とは、実行要求がされたアプリケーションプログラムがプリロードされていた回数をいう。また、ミスとは、実行要求がされたアプリケーションプログラムがプリロードされていなかった状態をいい、ミス回数とは、実行要求がされたアプリケーションプログラムがプリロードされていなかった回数をいう。
アプリケーション実行プロセス220は、アプリケーション実行要求がされると(S202でYES)、アプリケーションプログラム130の実行にプリロードクラス群データ222aが使用されたか否かが確認される(S203)。
アプリケーションプログラム130の実行にプリロードクラス群データ222aが使用されると(S203でYES)、ヒットしたと判断してヒット回数Mに1を加える(S204)。一方、プリロードクラス群データ222aが使用されずに、2次記憶部10からクラス群データを新たにロードしてアプリケーションプログラムが実行されたことが確認されると(S203でNO)、ミスしたと判断してミス回数Nに1を加える(S205)。
続いて、予め定められている規定式により求められた値Sを予め決められている閾値A1と比較し、プリロード最大数Lを予め決められている下限値A2と比較する(S206)。ここで、A1≦Sであり、A2∠Lである場合(ステップS206でYES)、プリロード最大数Lを減少させ(S207)、プログラムの実行が終了していない場合に(S210でNO)ステップS202に戻る。
一方、ステップS206でNOである場合、規定式により求められた値Sを予め決められている閾値B1と比較し、プリロード最大数Lを予め決められている上限値B2と比較する(S208)。S≦B1であり、L∠B2である場合(ステップS208でYES)、プリロード最大数を増加させ(S209)、プログラムの実行が終了していない場合に(S210でNO)ステップS202に戻る。
一方、ステップS208でNOである場合、プログラムの実行が終了していない場合に(S210でNO)ステップS202に戻る。
ここで、値Sを求める規定式の一例として、以下の式1が考えられる。
S=M÷(M+N) ・・・(式1)
このように、カウントされたヒット回数及びミス回数に基づいてプリロード最大数Lを変化させることにより、プリロード負荷を調整してアプリケーションプログラムの実行性能を向上させることが可能になる。
なお、ステップS207およびS209では、ヒット回数及びミス回数に基づいて、プリロード最大数Lを増減させることにより、プリロード負荷を調整している。しかしながら、プリロード負荷の調整は、上述した方法に限られず、たとえばスレッド処理をしていた場合のスレッド数を変更させたり、処理ウエイト時間を調整することにより行うことも可能である。
[変形例]
次に、図6に示すフローチャートを用いて、本発明の実施の形態に係るアプリケーション実行方法におけるプリロード負荷の調整処理の変形例を説明する。図6に示すのは、計算機1の中央処理制御装置301の負荷を検出し、検出された中央処理制御装置の負荷に基づいてプリロード最大数Lを調整する処理である。
まず、アプリケーション実行プロセス220は、中央処理制御装置301の負荷Pを検出する(S301)。
アプリケーション実行プロセス220は、中央処理制御装置301の負荷Pを検出すると、検出した負荷Pを予め規定されている上限値CMAXと比較して、CMAX∠Pであるか否かを判断する(S302)。
ステップS302における比較結果がCMAX∠Pである場合、プリロード最大数Lを減少させる(S303)。
一方、ステップS302における比較結果がCMAX∠Pでない場合、検出した負荷Pを予め規定されている下限値CMINと比較して、P∠CMINであるか否かを判断する(S304)。
P∠CMINである場合、プリロード最大数Lを増加させる(S305)。
このようにして、プリロード最大数Lを変化させることで、計算機1の中央処理制御装置301に負荷をかけること無く、他の処理に影響を与えずにプリロードを行うことができ、アプリケーションプログラムの実行性能を向上させることが可能になる。
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明に記載した事項と自明な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の最良の形態に係るアプリケーション実行方法を説明する図である。 本発明の最良の形態に係るアプリケーション実行方法を説明するハードウェアの構成を示す図である。 本発明の最良の形態に係るアプリケーション実行方法におけるアプリケーション実行処理を説明するフローチャートである。 本発明の最良の形態に係るアプリケーション実行方法におけるプリロード処理を説明するフローチャートである。 本発明の最良の形態に係るアプリケーション実行方法におけるプリロード負荷の調整処理を説明するフローチャートである。 本発明の変形例に係るアプリケーション実行方法におけるプリロード負荷調整処理を説明するフローチャートである。 一般的なJava(登録商標)実行環境におけるアプリケーション実行方法を説明する図である。
符号の説明
1…計算機
10…2次記憶部
20…メモリ
100…アプリケーション実行要求プログラム
110…実行プログラム
120…アプリケーション実行プログラム
121…プリロード対象クラス名リストファイル
130…アプリケーションプログラム
200…アプリケーション実行要求プロセス
210…実行プロセス
220…アプリケーション実行プロセス
221…プリロード対象クラス名リスト
222a…プリロードクラス群データ
222b…クラスローダ
230…アプリケーションプロセス
231a…クラス群データ
231b…クラスローダ
301…中央処理制御装置
302…ROM
303…RAM
304…入力装置
305…表示装置
306…通信制御装置
307…記憶装置
308…リムーバブルディスク
309…入出力インタフェース
310…バス

Claims (4)

  1. 入力されたアプリケーション実行要求に従って、アプリケーションプログラムを記憶装置からメモリにロードして実行するアプリケーション実行方法であって、
    コンピュータが、アプリケーションプログラムの識別子であるクラス名が登録されるプリロード対象名リストに存在するアプリケーションプログラムのクラス群データのうち、予め定められるプリロード最大数のクラス群データを記憶装置からメモリにプリロードするステップと、
    コンピュータが、アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在する場合、前記メモリ上に存在するクラス群データの中から指定されたクラス名のクラス群データを利用してアプリケーションプログラムを中央処理制御装置が実行するステップと、
    コンピュータが、アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在しない場合、指定されたクラス名のアプリケーションプログラムのクラス群データを前記記憶装置からメモリ上にロードしてアプリケーションプログラムを中央処理制御装置が実行するステップと、
    コンピュータが、実行が終了したアプリケーションプログラムのクラス群データを前記メモリから削除するステップと、
    コンピュータが、前記アプリケーション実行要求で指定されたアプリケーションプログラムが、前記メモリにプリロードされたクラス群データにより実行された回数をヒット回数とし、また、前記メモリにプリロードされていなかったクラス群データにより実行された回数をミス回数としたとき、前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第1閾値以上である場合、前記プリロード最大数を減少させるステップと、
    コンピュータが、前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第2閾値以下である場合、前記プリロード最大数を増加させるステップと、
    を有することを特徴とするアプリケーション実行方法。
  2. 入力されたアプリケーション実行要求で指定されたアプリケーションプログラムの実行が行われる中央処理制御装置の負荷値を検出し、検出された前記負荷値が閾値と比較して高い場合、前記メモリにプリロードするクラス群データ数を減少させるステップを有することを特徴とした請求項1に記載のアプリケーション実行方法。
  3. 入力されたアプリケーション実行要求に従って、アプリケーションプログラムを記憶装置からメモリにロードして実行するアプリケーション実行プログラムであって、
    アプリケーションプログラムの識別子であるクラス名が登録されるプリロード対象名リストに存在するアプリケーションプログラムのクラス群データのうち、予め定められるプリロード最大数のクラス群データを記憶装置からメモリにプリロードするステップと、
    アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在する場合、前記メモリ上に存在するクラス群データの中から指定されたクラス名のクラス群データを利用してアプリケーションプログラムを中央処理制御装置が実行するステップと、
    アプリケーション実行要求で指定されたクラス名のアプリケーションプログラムのクラス群データが前記メモリ上に存在しない場合、指定されたクラス名のアプリケーションプログラムのクラス群データを前記記憶装置からメモリ上にロードしてアプリケーションプログラムを中央処理制御装置が実行するステップと、
    実行が終了したアプリケーションプログラムのクラス群データを前記メモリから削除するステップと、
    前記アプリケーション実行要求で指定されたアプリケーションプログラムが、前記メモリにプリロードされたクラス群データにより実行された回数をヒット回数とし、また、前記メモリにプリロードされていなかったクラス群データにより実行された回数をミス回数としたとき、前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第1閾値以上である場合、前記プリロード最大数を減少させるステップと、
    前記ヒット回数を前記ヒット回数及び前記ミス回数の和で割って求めた値予め決められている第2閾値以下である場合、前記プリロード最大数を増加させるステップと、
    をコンピュータに実行させることを特徴するアプリケーション実行プログラム。
  4. 入力されたアプリケーションプログラムの実行要求で指定されたアプリケーションプログラムの実行が行われる中央処理制御装置の負荷値を検出し、検出された前記負荷値が閾値と比較して高い場合、前記メモリにプリロードするクラス群データ数を減少させるステップを有することを特徴とした請求項3に記載のアプリケーション実行プログラム。
JP2004381846A 2004-12-28 2004-12-28 アプリケーション実行方法およびアプリケーション実行プログラム Expired - Fee Related JP4217682B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004381846A JP4217682B2 (ja) 2004-12-28 2004-12-28 アプリケーション実行方法およびアプリケーション実行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004381846A JP4217682B2 (ja) 2004-12-28 2004-12-28 アプリケーション実行方法およびアプリケーション実行プログラム

Publications (2)

Publication Number Publication Date
JP2006189944A JP2006189944A (ja) 2006-07-20
JP4217682B2 true JP4217682B2 (ja) 2009-02-04

Family

ID=36797108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004381846A Expired - Fee Related JP4217682B2 (ja) 2004-12-28 2004-12-28 アプリケーション実行方法およびアプリケーション実行プログラム

Country Status (1)

Country Link
JP (1) JP4217682B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155789A (zh) * 2016-06-28 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种应用冻结方法及移动终端

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160035A (zh) * 2008-09-18 2011-08-17 马维尔国际贸易有限公司 至少部分地在引导期间向存储器预加载应用

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155789A (zh) * 2016-06-28 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种应用冻结方法及移动终端

Also Published As

Publication number Publication date
JP2006189944A (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
US11340803B2 (en) Method for configuring resources, electronic device and computer program product
US11397675B2 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
CN116010312A (zh) 用于管理输入/输出的方法、设备和计算机程序产品
US7962926B2 (en) Method, system, and program storage device for generating a retry message when a thread in a real-time application is unavailable to process a request to utilize the real-time application
US10877790B2 (en) Information processing apparatus, control method and storage medium
EP3812904B1 (en) Swap area in memory using multiple compression algorithms
CN114168490A (zh) 确定内存回收阈值的方法及相关设备
US10552318B2 (en) Working set adjustment in a managed environment
JP4217682B2 (ja) アプリケーション実行方法およびアプリケーション実行プログラム
US20040148464A1 (en) Cache memory device and method of controlling the cache memory device
US20230393782A1 (en) Io request pipeline processing device, method and system, and storage medium
JP6817827B2 (ja) アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム
CN112463028B (zh) 一种i/o处理方法、***、设备及计算机可读存储介质
CN112463027B (zh) 一种i/o处理方法、***、设备及计算机可读存储介质
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
US20200151118A1 (en) Method and apparatus for offloading file i/o based on remote direct memory access using unikernel
US20080126625A1 (en) Just-in-time buffer allocation for use in event completion style input/output models
US7191443B2 (en) Digital device, task management method and program therefor
EP3812902B1 (en) Method for controlling memory resources in an electronic device, device for controlling memory resources, electronic device and computer program
US8037249B1 (en) Asynchronous memory access queuing
US20210382752A1 (en) Server, apparatus, and method for accelerating file input-output offload for unikernel
KR102030167B1 (ko) 임베디드 기기를 위한 디버깅 방법
WO2019221131A1 (ja) 入出力処理割り当て制御装置、入出力処理割り当て制御システム、入出力処理割り当て制御方法、及び、入出力処理割り当て制御プログラムが格納された記録媒体
CN117806573A (zh) 一种固态硬盘的搜索方法、装置、设备及介质
CN112596862A (zh) 一种数据存储方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees