(57)【要約】【課題】  プログラムがマルチタスク動作する際に、省メモリでの動作を実現可能な携帯端末装置を提供する。【解決手段】  メモリバッファ１３に空きブロックがない状態で、プログラムＣがブロックＣ２を必要とした場合、メモリ管理部１６はプログラムＡ及びプログラムＢのうちの使用頻度の低いほうを選び、そのメモリ使用領域の中で最も使用していないメモリブロックを選択する。メモリブロック退避制御部１４は、メモリ管理部１６で選択されたメモリブロック＃１の内容をブロックサイズ分、ストレージデバイス１２に格納するとともに、管理情報として、割り当てられていた仮想メモリアドレス情報をストレージデバイス１２に格納する。メモリ管理部１６は、空きブロックとなったメモリブロック＃１をブロックＣ２に割り当て、そのブロック割り当て情報を保存する。【選択図】      図１
2008077255.tif 000002
【特許請求の範囲】
【請求項１】
マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置であって、
前記プログラムの使用頻度を監視する監視手段と、前記実メモリに空き領域がない場合に前記監視手段で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する手段と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる手段とを有することを特徴とする携帯端末装置。
【請求項２】
前記仮想的に静的メモリ領域として使用するメモリブロックと前記実メモリのブロックとの割り当て情報によって、前記ストレージデバイスに登録されたメモリイメージを前記実メモリのブロックに復帰することを特徴とする請求項１記載の携帯端末装置。
【請求項３】
前記静的メモリ領域は、任意の領域を設定自在としたことを特徴とする請求項１または請求項２記載の携帯端末装置。
【請求項４】
マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスと、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開手段と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御手段と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理手段とを有することを特徴とする携帯端末装置。
【請求項５】
前記プログラムが使用する仮想メモリ領域に前記メモリブロックを割り当て、前記メモリブロックの使用頻度に応じて前記メモリブロックの内容を入れ替えることを特徴とする請求項４記載の携帯端末装置。
【請求項６】
マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置に用いるメモリ管理方法であって、
前記携帯端末装置が、前記プログラムの使用頻度を監視する監視処理と、前記実メモリに空き領域がない場合に前記監視処理で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する処理と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる処理とを実行することを特徴とするメモリ管理方法。
【請求項７】
前記携帯端末装置が、前記仮想的に静的メモリ領域として使用するメモリブロックと前記実メモリのブロックとの割り当て情報によって、前記ストレージデバイスに登録されたメモリイメージを前記実メモリのブロックに復帰することを特徴とする請求項６記載のメモリ管理方法。
【請求項８】
前記静的メモリ領域は、任意の領域を設定自在としたことを特徴とする請求項６または請求項７記載のメモリ管理方法。
【請求項９】
携帯端末装置に、マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスとを設け、
前記携帯端末装置が、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開処理と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御処理と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理処理とを実行することを特徴とするメモリ管理方法。
【請求項１０】
前記携帯端末装置が、前記プログラムが使用する仮想メモリ領域に前記メモリブロックを割り当て、前記メモリブロックの使用頻度に応じて前記メモリブロックの内容を入れ替えることを特徴とする請求項９記載のメモリ管理方法。
【請求項１１】
マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置が実行するプログラムであって、
前記携帯端末装置の中央処理装置に、前記プログラムの使用頻度を監視する監視処理と、前記実メモリに空き領域がない場合に前記監視処理で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する処理と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる処理とを実行させるためのプログラム。
【請求項１２】
マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスとを含む携帯端末装置の中央処理装置に、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開処理と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御処理と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理処理とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は携帯端末装置及びそれに用いるメモリ管理方法並びにそのプログラムに関し、特にマルチタスク動作可能な携帯端末装置に関する。
【背景技術】
【０００２】
従来、携帯電話機やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等の携帯端末装置においては、マルチタスク動作するプログラムを搭載することでマルチタスク動作可能としている（例えば、特許文献１参照）。
【０００３】
従来の携帯端末装置では、マルチタスク動作するプログラムが使用するメモリ領域を、そのプログラム毎に使用の有無に関わらず、予め静的に確保しておかなければならない。
【０００４】
【特許文献１】特開２００４−０６２３６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来の携帯端末装置では、マルチタスク動作するプログラムが必要とするメモリ領域を、予め装置全体のメモリ領域において静的に確保しておかなければならず、装置全体のメモリ領域において、マルチタスク動作するプログラムの静的メモリ領域（の合計）が大きな割合を占めている。そのため、従来の携帯端末装置では、装置全体のメモリを大容量化させ、メモリ使用効率を低下させるという問題がある。
【０００６】
そこで、本発明の目的は上記の問題点を解消し、プログラムがマルチタスク動作する際に、省メモリでの動作を実現することができる携帯端末装置及びそれに用いるメモリ管理方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明による第１の携帯端末装置は、マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置であって、
前記プログラムの使用頻度を監視する監視手段と、前記実メモリに空き領域がない場合に前記監視手段で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する手段と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる手段とを備えている。
【０００８】
本発明による第２の携帯端末装置は、マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスと、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開手段と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御手段と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理手段とを備えている。
【０００９】
本発明による第１のメモリ管理方法は、マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置に用いるメモリ管理方法であって、
前記携帯端末装置が、前記プログラムの使用頻度を監視する監視処理と、前記実メモリに空き領域がない場合に前記監視処理で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する処理と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる処理とを実行している。
【００１０】
本発明による第２のメモリ管理方法は、携帯端末装置に、マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスとを設け、
前記携帯端末装置が、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開処理と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御処理と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理処理とを実行している。
【００１１】
本発明による第１のプログラムは、マルチタスク動作するプログラムが使用するメモリ領域を仮想的に静的メモリ領域として使用し、前記プログラムのマルチタスク動作時に実際にアクセスがあった場合にのみ実メモリを使用する携帯端末装置が実行するプログラムであって、
前記携帯端末装置の中央処理装置に、前記プログラムの使用頻度を監視する監視処理と、前記実メモリに空き領域がない場合に前記監視処理で前記使用頻度が低いと判断されたプログラムが使用しているメモリ領域の状態を示すメモリイメージをストレージデバイスに登録する処理と、前記メモリイメージを前記ストレージデバイスに登録することで得られる前記実メモリの空き領域に前記プログラムが使用するメモリ領域を割り当てる処理とを実行させている。
【００１２】
本発明による第２のプログラムは、マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスとを含む携帯端末装置の中央処理装置に、前記ストレージデバイスから前記メモリイメージを任意のアドレスに展開する展開処理と、前記プログラム各々の使用頻度を監視しかつその使用頻度に応じて前記メモリイメージを前記ストレージデバイスに格納するメモリブロック退避制御処理と、前記メモリバッファを任意の実メモリ領域に割り当てかつそのメモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理処理とを実行させている。
【００１３】
すなわち、本発明の携帯端末装置は、静的メモリ領域を必要とするプログラムのマルチタスク動作時に、メモリ使用量を少なくするため、動的メモリ割り当てを行い、省メモリ動作を実現することを特徴とする。
【００１４】
このために、本発明の携帯端末装置では、マルチタスク動作するプログラムが使用するメモリ領域を、仮想的に静的メモリ領域として使用可能とし、その静的メモリ領域として任意の領域を設定可能としている。
【００１５】
また、本発明の携帯端末装置では、プログラムのマルチタスク動作時に、実際にアクセスがあった場合にのみ、実メモリを使用し、使用頻度の低いプログラムが使用しているメモリ領域のメモリイメージをストレージデバイスに登録している。さらに、本発明の携帯端末装置では、仮想メモリブロックと実メモリブロックの割り当て情報によって、以前アクセスのあった仮想メモリブロックに使用していたメモリブロックの内容を復帰させることを可能としている。
【００１６】
より具体的に説明すると、本発明の携帯端末装置では、マルチタスク動作するプログラム群が使用しかつ複数のメモリブロックに分割されたメモリバッファと、そのメモリバッファの状態を示すメモリイメージを格納するストレージデバイスと、ストレージデバイスからメモリイメージを任意のアドレスに展開する展開部と、マルチタスク動作するプログラムの使用頻度を監視し、その使用頻度に応じてメモリイメージをストレージデバイスに格納するメモリブロック退避制御部と、メモリバッファを任意の実メモリ領域に割り当て、メモリ使用量を監視して動的に仮想メモリ領域に実メモリ領域を割り当てるメモリ管理部とを備えている。
【００１７】
本発明の携帯端末装置では、プログラムが使用する仮想メモリ領域にメモリブロックを割り当て、メモリブロックの使用頻度に応じてメモリブロックの内容を入れ替えられる構成としているため、限られた実メモリ領域で複数のプログラムを動作させることが可能となる。よって、本発明の携帯端末装置では、プログラムがマルチタスク動作する際に、省メモリでの動作を実現することが可能となる。
【発明の効果】
【００１８】
本発明は、上記のような構成及び動作とすることで、プログラムがマルチタスク動作する際に、省メモリでの動作を実現することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例による携帯端末装置の構成を示すブロック図である。図１において、携帯端末装置１は、ＣＰＵ１１と、ストレージデバイス１２と、メモリバッファ［ＲＡＭ（ランダムアクセスメモリ）］１３と、メモリブロック退避制御部１４と、展開部１５と、メモリ管理部１６と、メインメモリ１７とから構成されている。
【００２０】
ＣＰＵ１１はメインメモリに格納された制御プログラムを実行することで、携帯端末装置１内の各部を制御する。メモリバッファ１３はマルチタスク動作するプログラムが使用する任意のブロックサイズに分割されている。ストレージデバイス１２はそのプログラムのメモリ領域における状態を示すメモリイメージを格納する。
【００２１】
展開部１５はメモリイメージをストレージデバイス１２から読出し、メモリバッファ１３の任意のアドレスに展開する。メモリブロック退避制御部１４はプログラムと、そのプログラムに属するメモリブロックの使用頻度とを監視し、その使用頻度に応じてプログラムが使用するメモリ領域のメモリブロックのメモリイメージをストレージデバイス１２に格納する。
【００２２】
メモリ管理部１６はメモリ使用量を監視し、動的にメモリ領域を割り当てる。メモリバッファ１３は、メモリ管理部１６によって任意の実メモリ領域に設定され、プログラムが使用するメモリ領域を仮想的に静的空間にみせる機能を持つ。
【００２３】
図２は本発明の一実施例による携帯端末装置１のメモリブロックの割り当て例を示す図であり、図３及び図４は本発明の一実施例による携帯端末装置１におけるメモリブロックの割り当て動作を示すフローチャートである。これら図１〜図４を参照して本発明の一実施例による携帯端末装置１におけるメモリブロックの割り当て動作について説明する。尚、図３及び図４に示す処理動作はＣＰＵ１１がメインメモリ１７の制御プログラムを実行して各部を制御することで実現される。
【００２４】
まず、携帯端末装置１においては、マルチタスク動作するプログラムＡが起動し（図３ステップＳ１）、プログラムＡ仮想メモリ領域のブロックＡ１及びブロックＡ２へのアクセスがあった場合（図３ステップＳ２）、メモリ管理部１６がプログラムＡ仮想メモリ領域のブロックＡ１にメモリバッファ１３のメモリブロックが割り当てられているか否かを判断する（図３ステップＳ３）。
【００２５】
メモリ管理部１６はプログラムＡ仮想メモリ領域のブロックＡ１にメモリバッファ１３のメモリブロックが割り当てられていなければ、メモリバッファ１３の空きメモリブロックを割り当て、そのブロック割り当て情報を保存する（図３ステップＳ５，Ｓ６）。本実施例では、図２に示すように、メモリブロック＃１及びメモリブロック＃２をそれぞれブロックＡ１及びブロックＡ２に割り当てている。
【００２６】
次に、プログラムＢの起動があった場合も、上記のプログラムＡの場合と同様に、メモリ管理部１６がブロックＢ１にメモリブロック＃３を割り当てている。図２において、メモリブロック＃４は、プログラムＢの起動後にプログラムＡがブロックＡ３領域を必要としたため、メモリ管理部１６がブロックＡ１に割り当てたものである。
【００２７】
メモリバッファ１３に空きブロックがない状態で（図３ステップＳ５）、プログラムＣがブロックＣ２を必要とした場合、メモリ管理部１６はプログラムＡ及びプログラムＢのうちの使用頻度の低いほうを選び、そのメモリ使用領域の中で最も使用していないメモリブロックを選択する（図３ステップＳ７）。ここでは、最も使用していないメモリブロックをメモリブロック＃１とする。
【００２８】
メモリブロック退避制御部１４は、メモリ管理部１６で選択されたメモリブロック＃１の内容をブロックサイズ分、ストレージデバイス１２に格納する。この時、メモリブロック退避制御部１４は、管理情報として、割り当てられていた仮想メモリアドレス情報をストレージデバイス１２に格納する（図３ステップＳ８）。メモリ管理部１６は、空きブロックとなったメモリブロック＃１をブロックＣ２に割り当て、そのブロック割り当て情報を保存する（図３ステップＳ９）。
【００２９】
再度、プログラムＡがブロックＡ１を必要とする場合（図３ステップＳ４）、メモリ管理部１６は最も使用していないブロックをストレージデバイス１２に格納した後（図４ステップＳ１０）、ブロックＡ１の割り当て情報から該当するメモリブロックを判断し、展開部５を介して該当するメモリイメージをストレージデバイス１２から読出し、ブロックＡ１に割り当て、そのブロック割り当て情報を保存する（図４ステップＳ１１）。図２において、本実施例では、ストレージデバイス１２からメモリブロック＃１のメモリイメージを読出し、ブロックＡ１に割り当てる。
【００３０】
このように、本実施例では、プログラムが使用する仮想メモリ領域にメモリブロックを割り当て、ブロックの使用頻度に応じてブロックの内容を入れ替える構成としているため、限られた実メモリ領域で複数のプログラムを動作させることができる。よって、本実施例では、携帯端末装置１でプログラムがマルチタスク動作する際に、省メモリでの動作を実現することができる。
【産業上の利用可能性】
【００３１】
本発明は、携帯電話機やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等のストレージデバイスを搭載した携帯端末装置において、装置全体の省メモリ化に適用することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例による携帯端末装置の構成を示すブロック図である。
【図２】本発明の一実施例による携帯端末装置のメモリブロックの割り当て例を示す図である。
【図３】本発明の一実施例による携帯端末装置におけるメモリブロックの割り当て動作を示すフローチャートである。
【図４】本発明の一実施例による携帯端末装置におけるメモリブロックの割り当て動作を示すフローチャートである。
【符号の説明】
【００３３】
１  携帯端末装置
１１  ＣＰＵ
１２  ストレージデバイス
１３  メモリバッファ
１４  メモリブロック退避制御部
１５  展開部
１６  メモリ管理部
１７  メインメモリ
【図１】
2008077255.tif 000003
【図２】
2008077255.tif 000004
【図３】
2008077255.tif 000005
【図４】
2008077255.tif 000006