(57)【要約】【課題】処理速度の最適化・高速化を実現することが可能となる情報処理装置、ソフトウェアモジュールのリンク管理方法及びプログラムを提供する。【解決手段】ソフトウェアモジュールを実行するソフトウェアモジュール実行手段と、実行手段が実行するソフトウェアモジュールが配置される主記憶手段と、複数のソフトウェアモジュールが記憶されている副記憶手段と、ソフトウェアモジュールに対するアクセス頻度を算出し、算出されたアクセス頻度に基づいて、ソフトモジュールを管理するソフトウェアモジュール管理手段と、を有し、ソフトウェアモジュール管理手段は、副記憶手段から主記憶手段に配置されたソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残す。【選択図】図１
2007172519.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアモジュールに設定されたアクセス頻度に基づいて、前記ソフトモジュールを管理することを特徴とする情報処理装置。
【請求項２】
ソフトウェアモジュールを実行するソフトウェアモジュール実行手段と、
前記実行手段が実行するソフトウェアモジュールが配置される主記憶手段と、
複数のソフトウェアモジュールが記憶されている副記憶手段と、
前記ソフトウェアモジュールに対するアクセス頻度を算出し、算出されたアクセス頻度に基づいて、前記ソフトモジュールを管理するソフトウェアモジュール管理手段と、を有し、
前記ソフトウェアモジュール管理手段は、前記副記憶手段から前記主記憶手段に配置されたソフトウェアモジュールの実行終了時に、前記ソフトウェアモジュールに対するアクセス頻度を算出し、該アクセス頻度が所定の閾値より高いソフトウェアモジュールを前記主記憶手段に残すことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ソフトウェアモジュール管理手段は、前記アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを前記主記憶手段から削除することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記アクセス頻度の算出に利用するための時間を計測するタイマ手段を有し、
前記ソフトウェアモジュール管理手段は、前記タイマ手段により計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、前記アクセス頻度を算出することを特徴とする請求項２又は３記載の情報処理装置。
【請求項５】
情報処理装置で行われるソフトウェアモジュールのリンク管理方法であって、
ソフトウェアモジュールにアクセス頻度を設定し、該アクセス頻度に基づいて、前記ソフトモジュールを管理することを特徴とするソフトウェアモジュールのリンク管理方法。
【請求項６】
所定のソフトウェアモジュールの実行終了時に、前記ソフトウェアモジュールに対するアクセス頻度を算出し、該アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残すことを特徴とする請求項５記載のソフトウェアモジュールのリンク管理方法。
【請求項７】
所定のソフトウェアモジュールの実行終了時に、前記ソフトウェアモジュールに対するアクセス頻度を算出し、前記アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを前記主記憶手段から削除することを特徴とする請求項６記載のソフトウェアモジュールのリンク管理方法。
【請求項８】
前記アクセス頻度の算出に利用するための時間を計測し、
計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、前記アクセス頻度を算出することを特徴とする請求項６又は７記載のソフトウェアモジュールのリンク管理方法。
【請求項９】
情報処理装置に、ソフトウェアモジュールのリンク管理方法を実行させるプログラムであって、
ソフトウェアモジュールにアクセス頻度を設定し、該アクセス頻度に基づいて、前記ソフトモジュールを管理する処理を情報処理装置に実行させることを特徴とするプログラム。
【請求項１０】
所定のソフトウェアモジュールの実行終了時に、前記ソフトウェアモジュールに対するアクセス頻度を算出し、該アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残す処理を情報処理装置に実行させることを特徴とする請求項９記載のプログラム。
【請求項１１】
所定のソフトウェアモジュールの実行終了時に、前記ソフトウェアモジュールに対するアクセス頻度を算出し、前記アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを前記主記憶手段から削除する処理を情報処理装置に実行させることを特徴とする請求項１０記載のプログラム。
【請求項１２】
前記アクセス頻度の算出に利用するための時間を計測し、計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、前記アクセス頻度を算出する処理を情報処理装置に実行させることを特徴とする請求項１０又は１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアモジュールについて、アクセス頻度に応じて動的にリンク管理を行う情報処理装置、ソフトウェアモジュールのリンク管理方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェアモジュールの動的なリンク管理は、パソコンなどのＯＳで広く採用されているが、ソフトウェアモジュール単位で、メインメモリへの常駐に関して自動的に制御する手段や方法はなかった。このため、ＬＲＵ（Least Recently Used）やＬＦＵ（Least Frequently Used）などのページング処理によるメモリ管理が一般的には用いられているが、処理負荷の状況で、メモリの使われ方が大きく変化してしまうため、リアルタイムシステムなどへの適応には向かないなどの問題点があり、また、時間が経過すると不要となるメモリが増えてしまい、システム（装置）が不安定になるなどの問題を抱えていた。
【０００３】
また、組み込み系のシステムにおいても、汎用ＯＳを使うシステムが、ディジタル家電やカーナビゲーションなどを中心として増えてきているが、上記のような問題は、よりメモリリソースが制限される組込み系で汎用ＯＳを採用したシステムにて顕著に見られる傾向がある。また、組込みシステムとしては、非力なＣＰＵ装置の処理能力をできるだけ引き出したいという要望が根強い。
【０００４】
従来技術例として、スワップされたくないページに対して、参照回数（アクセス頻度）を所定の最大値にセットすることにより、実際の参照回数に関わりなく、最もスワップされにくいページにすることが可能な「仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラム・インターフェース」がある（例えば、特許文献１参照）。
【特許文献１】特開２００４−５００６０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１記載の発明は、参照回数に閾値を設けて、実際の参照回数が閾値以上であるページをスワップしないように設定することはできない。すなわち、実際のアクセス頻度に基づいて、アクセス頻度の高いソフトウェアモジュールをメインメモリに残すことはできない。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、実際のアクセス頻度に基づいて、アクセス頻度の高いソフトウェアモジュールをメインメモリに残すことができる、情報処理装置、ソフトウェアモジュールのリンク管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために、請求項１記載の発明は、ソフトウェアモジュールに設定されたアクセス頻度に基づいて、ソフトモジュールを管理することを特徴とする。
【０００８】
請求項２記載の発明は、請求項１記載の発明において、ソフトウェアモジュールを実行するソフトウェアモジュール実行手段と、実行手段が実行するソフトウェアモジュールが配置される主記憶手段と、複数のソフトウェアモジュールが記憶されている副記憶手段と、ソフトウェアモジュールに対するアクセス頻度を算出し、算出されたアクセス頻度に基づいて、ソフトモジュールを管理するソフトウェアモジュール管理手段と、を有し、ソフトウェアモジュール管理手段は、副記憶手段から主記憶手段に配置されたソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残すことを特徴とする。
【０００９】
請求項３記載の発明は、請求項２記載の発明において、ソフトウェアモジュール管理手段は、アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを主記憶手段から削除することを特徴とする。
【００１０】
請求項４記載の発明は、請求項２又は３記載の発明において、アクセス頻度の算出に利用するための時間を計測するタイマ手段を有し、ソフトウェアモジュール管理手段は、タイマ手段により計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、アクセス頻度を算出することを特徴とする。
【００１１】
請求項５記載の発明は、情報処理装置で行われるソフトウェアモジュールのリンク管理方法であって、ソフトウェアモジュールにアクセス頻度を設定し、アクセス頻度に基づいて、ソフトモジュールを管理することを特徴とする。
【００１２】
請求項６記載の発明は、請求項５記載の発明において、所定のソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残すことを特徴とする。
【００１３】
請求項７記載の発明は、請求項６記載の発明において、所定のソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを主記憶手段から削除することを特徴とする。
【００１４】
請求項８記載の発明は、請求項６又は７記載の発明において、アクセス頻度の算出に利用するための時間を計測し、計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、アクセス頻度を算出することを特徴とする。
【００１５】
請求項９記載の発明は、情報処理装置に、ソフトウェアモジュールのリンク管理方法を実行させるプログラムであって、ソフトウェアモジュールにアクセス頻度を設定し、アクセス頻度に基づいて、ソフトモジュールを管理する処理を情報処理装置に実行させることを特徴とする。
【００１６】
請求項１０記載の発明は、請求項９記載の発明において、所定のソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が所定の閾値より高いソフトウェアモジュールを主記憶手段に残す処理を情報処理装置に実行させることを特徴とする。
【００１７】
請求項１１記載の発明は、請求項１０記載の発明において、所定のソフトウェアモジュールの実行終了時に、ソフトウェアモジュールに対するアクセス頻度を算出し、アクセス頻度が予め設定された閾値より低いソフトウェアモジュールを主記憶手段から削除する処理を情報処理装置に実行させることを特徴とする。
【００１８】
請求項１２記載の発明は、請求項１０又は１１記載の発明において、アクセス頻度の算出に利用するための時間を計測し、計測された所定の時間内の同一ソフトウェアモジュールに対するアクセス回数に基づいて、アクセス頻度を算出する処理を情報処理装置に実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、実際のアクセス頻度に基づいて、アクセス頻度の高いソフトウェアモジュールをメインメモリに残すことができるので、処理速度の最適化・高速化を実現することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００２１】
従来、パーソナルコンピュータなどの通常の情報処理装置では、ダイナミックリンクされるソフトウェアモジュールが二次記憶装置に存在する場合、このソフトウェアモジュールが処理のため主記憶（メインメモリ）に配置されるとき、物理メモリ中のキャッシュメモリに依存した配置がなされるため、容量の大きいソフトウェアモジュールでは、キャッシュメモリに配置される局所的なアドレス空間でのアクセス効率は改善される。しかし、この方式では、ソフトウェアモジュール単位での物理メモリへの動的な配置管理を実施しないため、頻繁にアクセスされるソフトウェアモジュールの場合でも、毎回、二次記憶装置から物理メモリへの読み込みが発生する可能性が高く処理速度が低下する。
【００２２】
また、従来、メインメモリの効率的活用の手段として、ＬＦＵによるページング処理があるが、これは、アクセス頻度の低い部分を単に置き換えてしまうため、アクセス頻度値にかかわらず、相対的にアクセス頻度の低いものからメインメモリより排除される。そのため、状況によっては本来メインメモリにあることが望ましいソフトウェアモジュールを排除してしまい、処理効率を下げる可能性がある。
【００２３】
従来のページング手法であるＬＦＵと本発明の相違を述べた動作概念図を図６に示す。
従来のＬＦＵによるソフトウェアモジュール管理は、図６（ａ）に示すように、例えば、主記憶手段であるメインメモリに、アクセス頻度の高い順にソフトウェアＡ，Ｂ，Ｃ，Ｄが配置されていて、次にソフトウェアＧ，Ｆ，Ｅが実行される場合、アクセス頻度の低いモジュールから順に置き換えられるため、図６（ｂ）に示すように、メインメモリの制限でソフトウェアＣ，Ｄは強制的に置き換えられてしまう。しかし、例えば、このソフトウェアＣが、リアルタイム処理が必要で、定期的に呼ばれるモジュールである場合は、ソフトウェアＣをメインメモリ上に残しておく必要がある。その理由は、リアルタイム応答性、システム性能が劣化し、最大応答時間を増大させることになるからである。
【００２４】
そこで、本発明によるモジュール管理は、図６（ｃ）に示すように、アクセス頻度に閾値を設定し、従来と同じくアクセス頻度の低い順に置き換えられるが、閾値以上のモジュールは入れ替えないようにする。よって、例えば、ソフトウェアＣが、リアルタイム処理が必要で、定期的に呼ばれるモジュールである場合でも、ソフトウェアＣは閾値を超えているので、図６（ｄ）に示すようにメインメモリ上に残ることとなり、従来のようなシステムの破綻が起こらない。なお、ソフトウェアＧは実行待ちとなる。
【００２５】
以上のことから、本発明は、ソフトウェアモジュールの動的リンク管理を行う情報処理装置において、モジュールのアクセス頻度を管理し、アクセス頻度の高いモジュール（アクセス頻度が閾値として設定した値より高いモジュール）を、ＣＰＵ装置に近いメインメモリに自動的に配置することにより、処理速度の最適化を行うことを特徴とする。
【００２６】
具体的には、本発明は、ソフトウェアモジュールにアクセス頻度フラグを設けることにより、アクセス履歴を参照して、二次記憶装置から一旦メインメモリに配置されたソフトウェアモジュールの再利用や廃棄の管理について、アクセス頻度フラグの値をあらかじめ設定した閾値と比較して行うことにより、従来の情報処理装置に比べて処理速度を向上させることが可能となる。
【実施例１】
【００２７】
以下に、本発明のソフトウェアモジュールのリンク管理方法を実行する情報処理装置について説明する。図１は、本実施例の情報処理装置の構成を示している。
【００２８】
図１に示すように、本実施例の情報処理装置は、メインメモリ（主記憶手段）７、二次記憶装置（副記憶手段）８、キャッシュメモリ６、ＣＰＵ装置（ソフトウェアモジュール実行手段）５、メモリ管理ユニット（ソフトウェアモジュール管理手段）１０、インターバルタイマ（タイマ手段）１４、とを有している。
【００２９】
ソフトウェアモジュールを実行処理するＣＰＵ装置５は、実アドレスバス１１を介してメモリ管理ユニット１０と接続され、また、キャッシュメモリバス１３を介してキャッシュメモリ６と接続されている。実アドレスバス１１は、ＣＰＵ装置５が実行すべきソフトウェアモジュールが存在するアドレス情報を出力する。キャッシュメモリバス１３は、ＣＰＵ装置５とキャッシュメモリ６とを高速につなぐデータバスである。
【００３０】
キャッシュメモリ６はＣＰＵ装置５が実行すべき命令を一時的に記憶し、局所的なループ処理などでの処理効率を高める。このキャッシュメモリ６は、データバス９を介してメインメモリ７と接続されている。
【００３１】
メモリ管理ユニット１０は、ＣＰＵ装置５が出力する実アドレスバス１１の情報を、メインメモリ７で使用可能な論理アドレスに変換し、その情報を論理アドレスバス１２に出力する。このメモリ管理ユニット１０は、論理アドレスバス１２は、データバス９を介してメインメモリ７と接続されている。
【００３２】
メインメモリ７は、ＣＰＵ装置５が処理を行うために必要となるソフトウェアモジュール１が必要に応じて複数配置される。
【００３３】
二次記憶装置８には、プログラムなどのソフトウェアモジュール１が複数記憶されており、ＣＰＵ装置５が処理に必要となったソフトウェアモジュール１を、データバス９を通じてメインメモリ７に呼び込み、処理の対象とする。
【００３４】
インターバルタイマ１４は、ソフトウェアモジュール１のアクセス頻度を算出するための時間計測に用いられる。
【００３５】
図２にソフトウェアモジュール１の構成を示す。図２に示すように、ソフトウェアモジュール１は、ソフトウェアモジュール１の再利用または廃棄の管理をするための、アクセス頻度フラグ３と、モジュールＩＤ２を含むヘッダ部分と、実行モジュール４と、で構成される。
【００３６】
次に、図１及び図２を参照して本実施例の動作について詳細に説明する。
ＣＰＵ装置５がプログラムを実行することにより、通常は二次記憶装置８にある任意のソフトウェアモジュール１がデータバス９を通じてメインメモリ７へ配置される。このときソフトウェアモジュール１をメインメモリ７に配置するための論理アドレスバス１２の情報は、メモリ管理ユニット１０が、ＣＰＵ装置５から出力される実アドレスバス１１の情報に基づいて出力する。
【００３７】
ＣＰＵ装置５は、メインメモリ７に配置された該当ソフトウェアモジュール１の実行モジュール４を、データバス９を通じてキャッシュメモリ６に読み込み、キャッシュメモリバス１３を通じて処理を行う。
【００３８】
該当ソフトウェアモジュール１の実行終了時に、メモリ管理ユニット１０はＣＰＵ装置５から処理を奪取し、アクセス頻度フラグ３を参照し、アクセス頻度の高いモジュールＩＤ２のソフトウェアモジュール１をメインメモリ７から削除せずに残す。
【００３９】
一方で、アクセス頻度の低いソフトウェアモジュール１に関しては、メインメモリ７から排除し、ＣＰＵ装置５に処理を戻す。
【００４０】
アクセス頻度は、インターバルタイマ１４を用いて、所定時間内に同一ソフトウェアモジュールが何回呼び出されたかを、モジュールＩＤ２でメモリ管理ユニット１０が管理することで算出される。
【００４１】
図３は、本実施例における、アクセス頻度に応じてソフトウェアモジュール１をメインメモリ７に残すか否かを管理する処理についてのフローチャートである。
【００４２】
まず、実行モジュール４の処理終了を検知し（ステップＡ１）、アクセス頻度フラグ３を参照し（ステップＡ２）、アクセスが初回であるかどうかを判断する（ステップＡ３）。初回のアクセスの場合は（ステップＡ３／ＹＥＳ）、アクセス頻度フラグ３の書き込み値を、アクセス済み状態を示す所定の値に設定する（ステップＡ８）。その後、ソフトウェアモジュール１をメインメモリ７に残し（ステップＡ９）、アクセス頻度フラグ３を更新して終了となる（ステップＡ１０）。
【００４３】
一方で、ステップＡ２にて、初回アクセス以外の場合には（ステップＡ２／ＮＯ）、インターバルタイマ１４の所定時間内での該当ソフトウェアモジュール１のアクセス頻度をメモリ管理ユニット１０により算出する（ステップＡ４）。
【００４４】
算出されたアクセス頻度の値があらかじめ設定した任意の値以上であれば（ステップＡ５／ＹＥＳ）、該当ソフトウェアモジュール１を残す処理を行い（ステップＡ９）、アクセス頻度フラグ３を更新して終了となる（ステップＡ１０）。また、アクセス頻度の値が設定値に満たない場合には（ステップＡ５／ＮＯ）、アクセス頻度フラグをクリアし（ステップＡ６）、ソフトウェアモジュール１をメインメモリ７から削除する処理を実施する（ステップＡ７）。
【００４５】
以上、本実施例の処理によれば、アクセス頻度フラグ３の利用により、頻繁に呼び出されると判断されるソフトウェアモジュール１はＣＰＵ装置５に近いメインメモリ７に保持されるため、従来のようにＣＰＵ装置５からの呼び出し待ち時間を二次記憶装置８から毎回呼び出す場合と比較すると、最小限に抑えることが可能となり、プログラムの処理時間が高速化される。
【００４６】
よって、従来、ソフトウェアモジュール１がハードディスクドライブなどの二次記憶装置８に存在しているため、ＣＰＵ装置に読み込まれるまでのアクセス時間は、数ms程度必要となるが、本実施例によれば、頻繁に呼び出されるソフトウェアモジュール１に関しては、メインメモリ７上に配置されることになり、ＣＰＵ装置に読み込まれるまでのアクセス時間は、およそ0.5μｓ程度となり、数千倍程度の高速化を実現することが可能となる。
【００４７】
例えば、リアルタイム応答性が必要なソフトウェアモジュールが呼ばれるアクセス頻度に閾値を設定すれば、対象とするソフトウェアモジュールは、主記憶内に残るため、このモジュールの呼び出し時間は、安定かつ高速となる。
【００４８】
本実施例の動作概要を、図７に示す。
従来のＬＦＵによるモジュール管理は、図７（ａ）に示すように、（１）において、最初の１回である応答時間は読み出し時間が含まれる。（２）において、実行予定のソフトウェア（プログラム）Ｅ，Ｆ，Ｇが割り込む場合、既存のソフトウェアはアクセス頻度の低い順にメインメモリから解放されてしまう（図６参照）。これは、応答性が重視されるソフトウェアについても同様である。そして、（３）において、応答時間は（１）の応答時間と一緒になってしまう。よって、応答時間が不安定となる。
【００４９】
これに対し、本実施例のモジュール管理は、図７（ｂ）に示すように、（１）において、最初の１回である応答時間は読み出し時間が含まれる。（２），（３）において、アクセス頻度の閾値を調整することで、ソフトウェアＣがメインメモリ上に残ることとなり、応答時間が安定かつ向上する（なお、アクセス頻度が落ちれば解放される）。このように、アクセス頻度の閾値で所定のソフトウェアをロックすることにより、閾値以上のアクセス頻度があれば、別の割り込み処理が起こる間は応答時間が保証される。
特に、本実施例は、図７（ｃ）に示すようなバースト割り込みが発生する場合の応答処理時間の保証に有効である。
【実施例２】
【００５０】
本発明の実施例２について図４を参照して説明する。本実施例は、図４に示すように、物理的なメモリ管理ユニットも持たずに、ソフトウェアで仮想的にメインメモリ７へのソフトウェアモジュール１の配置管理を処理する。よって、実施例１に比べ、簡単なハードウェア構成で実現している。
【００５１】
ソフトウェアモジュールを実行処理するＣＰＵ装置５は、データバス９及び実アドレスバス１１を介してメインメモリ７に接続される。メインメモリ７は、ＣＰＵ装置５が処理を行うのに必要となるソフトウェアモジュール１が必要に応じて複数配置される。二次記憶装置８には、プログラムなどのソフトウェアモジュール１が複数記憶されており、ＣＰＵ装置５が処理に必要となったソフトウェアモジュール１を、データバス９を通じてメインメモリ７に呼び込み、処理の対象とする。インターバルタイマ１４は、ソフトウェアモジュール１のアクセス頻度を算出するための時間計測に用いられる。
【００５２】
以下、本実施例の動作について説明する。
ＣＰＵ装置５がプログラムを実行することにより、通常は二次記憶装置８にある任意のソフトウェアモジュール１がデータバス９を通じてメインメモリ７へ配置される。このときメモリモジュール１をメインメモリ７に配置するための情報は、ＣＰＵ装置５から出力される実アドレスバス１１の情報に基づいて実施される。
【００５３】
ＣＰＵ装置５は、メインメモリ７に配置された該当ソフトウェアモジュール１の実行モジュール４を、データバス９を通じて読み込み、実行する。
【００５４】
該当ソフトウェアモジュール１の実行終了時に、ＣＰＵ装置５は、アクセス頻度フラグ３を参照し、アクセス頻度の高いモジュールＩＤ２のソフトウェアモジュール１をメインメモリ７から削除せずに残す。
【００５５】
一方で、アクセス頻度の低いソフトウェアモジュール１に関しては、メインメモリ７から排除する。
【００５６】
アクセス頻度は、インターバルタイマ１４を用いて、所定時間内に同一ソフトウェアモジュールが何回呼び出されたかを、モジュールＩＤ２でＣＰＵ装置５が管理することで算出される。
【００５７】
図５は、本実施例における、アクセス頻度に応じてソフトウェアモジュール１をメインメモリ７に残すか否かを管理する処理についてのフローチャートである。
【００５８】
まず、実行モジュール４の処理終了を検知し（ステップＡ１）、アクセス頻度フラグ３を参照し（ステップＡ２）、アクセスが初回であるかどうかを判断する（ステップＡ３）。初回のアクセスの場合は（ステップＡ３／ＹＥＳ）、アクセス頻度フラグ３の書き込み値を、アクセス済み状態を示す所定の値に設定する（ステップＡ８）。その後、ソフトウェアモジュール１をメインメモリ７に残し（ステップＡ９）、アクセス頻度フラグ３を更新して終了となる（ステップＡ１０）。
【００５９】
一方で、ステップＡ２にて、初回アクセス以外の場合には（ステップＡ２／ＮＯ）、インターバルタイマ１４の所定時間内での該当ソフトウェアモジュール１のアクセス頻度をＣＰＵ装置５により算出する（ステップＡ４）。
【００６０】
算出されたアクセス頻度の値があらかじめ設定した任意の値以上であれば（ステップＡ５／ＹＥＳ）、該当ソフトウェアモジュール１を残す処理を行い（ステップＡ９）、アクセス頻度フラグ３を更新して終了となる（ステップＡ１０）。また、アクセス頻度の値が設定値に満たない場合には（ステップＡ５／ＮＯ）、アクセス頻度フラグをクリアし（ステップＡ６）、ソフトウェアモジュール１をメインメモリ７から削除する処理を実施する（ステップＡ７）。
【００６１】
以上、本実施例の処理によれば、アクセス頻度フラグ３の利用により、頻繁に呼び出されると判断されるソフトウェアモジュール１はＣＰＵ装置５に近いメインメモリ７に保持されるため、従来のようにＣＰＵ装置５からの呼び出し待ち時間を二次記憶装置８から毎回呼び出す場合と比較すると、最小限に抑えることが可能となり、プログラムの処理時間が高速化される。
【００６２】
以上、本発明の実施例についてそれぞれ説明したが、上記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【産業上の利用可能性】
【００６３】
本発明は、ディジタル家電やカーナビゲーションなどの組込み系システム全般に適用できる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施例１に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の実施例１に係るソフトウェアモジュールの構成を示すブロック図である。
【図３】本発明の実施例１に係る動作を示すフローチャートである。
【図４】本発明の実施例２に係る情報処理装置の構成を示すブロック図である。
【図５】本発明の実施例２に係る動作を示すフローチャートである。
【図６】従来技術の動作と本発明の動作の相違を示す概念図である。
【図７】本発明の動作の概要を示す概念図である。
【符号の説明】
【００６５】
１    ソフトウェアモジュール
２    モジュールＩＤ
３    アクセス頻度フラグ
４    実行モジュール
５    ＣＰＵ装置
６    キャッシュメモリ
７    メインメモリ
８    二次記憶装置
９    データバス
１０    メモリ管理ユニット
１１    実アドレスバス
１２    論理アドレスバス
１３    キャッシュメモリバス
１４    インターバルタイマ
【図１】
2007172519.tif 000003
【図２】
2007172519.tif 000004
【図３】
2007172519.tif 000005
【図４】
2007172519.tif 000006
【図５】
2007172519.tif 000007
【図６】
2007172519.tif 000008
【図７】
2007172519.tif 000009