(57)【要約】【課題】ＯＳに複雑なアルゴリズムを用いて検索することなく、開放すべきメモリを特定させること。【解決手段】仮想記憶を具備し、ウインドウシステムからの情報によりスワップアウトすべきメモリを管理するグラフィカルユーザインターフェースを具備することにより、効率的にメモリを管理する。【選択図】図３
2008065638.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶を具備し、ウインドウシステムからの情報によりスワップアウトすべきメモリを管理するグラフィカルユーザインターフェースを具備することにより、効率的にメモリを管理することを特徴とするメモリ管理方法。
【請求項２】
ウインドウのスタック情報を意識し、あらかじめページインする機能を持ったウインドウシステムを具備することを特徴とする請求項１記載のメモリ管理方法。
【請求項３】
あらかじめウインドウ生成時に、使用頻度をウインドウシステムへ登録することを特徴とする請求項１または２記載のメモリ管理方法。
【請求項４】
仮想記憶を具備し、ウインドウシステムからの情報によりスワップアウトすべきメモリを管理するグラフィカルユーザインターフェースを具備することにより、効率的にメモリを管理することを特徴とするメモリ管理装置。
【請求項５】
ウインドウのスタック情報を意識し、あらかじめページインする機能を持ったウインドウシステムを具備することを特徴とする請求項４記載のメモリ管理装置。
【請求項６】
あらかじめウインドウ生成時に、使用頻度をウインドウシステムへ登録することを特徴とする請求項４または５記載のメモリ管理装置。
【請求項７】
コンピュータに請求項４から６のいずれか１項に記載の機能を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、効率的にメモリを管理するための技術に関する。
【背景技術】
【０００２】
メモリ不足時にスワップアウトさせるメモリを決定するアルゴリズムはさまざまある。
【０００３】
また、ページ置換方式には、ＮＲＵ(Not Recently Used)や、ＬＲＵ(Least Recently Used)、ＮＦＵ(Not Frequently used)などさまざまあるが、オペレーティングシステム(ＯＳ)側の判断だけでは最適なページ置換の実現は困難であった。
【０００４】
ここで、全てのプロセスに対して、利用している物理ページ数がプロセス自身が要求したページ数を下回らずかつ利用している物理ページ数と利用したい物理ページ数の差が最も大きいプロセスを見つけ出し、見つけ出したプロセスの中から最も利用頻度の低い物理ページを見つけ、最も利用頻度の低い物理ページの内容を補助記憶部にスワップアウトし空き物理ページを作り出し、所定の仮想アドレスと物理メモリアドレスをマップし、物理ページに適切な内容を読込むことで、資源浪費型ＤＯＳ攻撃を防御しかつ使用効率を高めることが可能となるメモリ管理方法を提供することができる技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−２３３５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながらＯＳにおいて、すべてのケースで最適となるアルゴリズムの実装は困難であった。
【０００６】
本発明は、以上説明した問題点を解決するためになされたものである。その目的は、ＯＳに複雑なアルゴリズムを用いて検索することなく、開放すべきメモリを特定させることである。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、仮想記憶を具備し、ウインドウシステムからの情報によりスワップアウトすべきメモリを管理するグラフィカルユーザインターフェースを具備することにより、効率的にメモリを管理することを特徴とするメモリ管理方法である。
【０００８】
請求項２に記載の発明は、請求項１記載のメモリ管理方法において、ウインドウのスタック情報を意識し、あらかじめページインする機能を持ったウインドウシステムを具備することを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１または２記載のメモリ管理方法において、あらかじめウインドウ生成時に、使用頻度をウインドウシステムへ登録することを特徴とする。
【００１０】
請求項４に記載の発明は、仮想記憶を具備し、ウインドウシステムからの情報によりスワップアウトすべきメモリを管理するグラフィカルユーザインターフェースを具備することにより、効率的にメモリを管理することを特徴とするメモリ管理装置である。
【００１１】
請求項５に記載の発明は、請求項４記載のメモリ管理装置において、ウインドウのスタック情報を意識し、あらかじめページインする機能を持ったウインドウシステムを具備することを特徴とする。
【００１２】
請求項６に記載の発明は、請求項４または５記載のメモリ管理装置において、あらかじめウインドウ生成時に、使用頻度をウインドウシステムへ登録することを特徴とする。
【００１３】
請求項７に記載の発明は、コンピュータに請求項４から６のいずれか１項に記載の機能を実現させることを特徴とするプログラムである。
【発明の効果】
【００１４】
本発明によれば、ＯＳに複雑なアルゴリズムを用いて検索することなく、開放すべきメモリを特定させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の第１の実施の形態について図面を参照して詳細に説明する。グラフィカルなユーザインターフェース(ＧＵＩ)を備えた機器において、ウインドウを管理しているプログラム（ウインドウシステム）を具備したシステムおいて、図１を用いて例を示す。
【００１６】
状態１０１からアプリケーション１０３のプロセスが常駐したままウインドウが閉じられると、アプリケーション１０４が表示されることになる。この時、メモリの不足が発生した場合、もっとも最近使用したアプリケーション１０３が使用したメモリをスワップアウトしたほうが得策であるが、ＯＳでは判別できず、もっとも使用していないメモリなどを開放するなどの各種アルゴリズムを用いて開放することになる。
【００１７】
本実施の形態では、ウインドウシステムが明示的にアプリケーション１０３のメモリを開放するようにＯＳに通知することにより、効率よくメモリを回収できる。
【００１８】
図２において、本実施の形態におけるメモリ管理装置は、ページングによるメモリ管理機能を有するＯＳと、グラフィカルユーザインターフェースを提供するウインドウシステムと、複数のアプリケーションからなる。ここではアプリケーション１、アプリケーション２、およびアプリケーション３がある。
【００１９】
次に、本実施の形態の動作を図面を参照して説明する。
【００２０】
図４の状態４０１が示すようにアプリケーション１が現在表示されており、アプリケーション２がアプリケーション１の後ろに隠れて表示されていない状態である。
【００２１】
図３によると、アプリケーション１のウインドウを閉じるとき、アプリケーションはウインドウシステムへクローズを要求する。
【００２２】
ウインドウシステムは要求に従いアプリケーション１のウインドウを閉じると同時にアプリケーション１が確保しているメモリを優先的にスワップアウト可能であることをＯＳに通知する。
【００２３】
アプリケーション１のウインドウが閉じたことにより、アプリケーション２が表示される。
【００２４】
表示する過程においてメモリ不足が発生した場合、ＯＳはアプリケーション１が使用していたメモリを開放することにより、検索に時間をかけることなく、効果的にメモリを開放できる。
【００２５】
最終的に、図４の状態４０２のようになる。
【００２６】
アプリケーション１が使用していたメモリは直前まで使用していたので、ＬＲＵなどのアルゴリズムでは正しく選択することが出来ない。
【００２７】
上記の本実施の形態によれば、ＯＳは複雑なアルゴリズムを用いて検索することなく、開放すべきメモリを特定できる。
【００２８】
また、ウインドウシステムで一括管理するため、個々のアプリケーションが意識する必要がない。
【００２９】
さらに、本方法ではユーザの操作に連動可能であるので、操作の過程におけるもたつき感などが軽減可能であり、感応的な速度向上が見込める。
【００３０】
次に、本発明の第２の実施の形態について説明する。
【００３１】
図２、図３、および図４の説明ではＧＵＩ画面をアプリケーションが２つでの例示であったが、実際にはタイマー機能、キーボードなどの入力機器を制御する機能などさまざまなプログラムが動作している。
【００３２】
図４の状態４０２を見ると、アプリケーション２が終了後に表示されるのはアプリケーション３である可能性が高いことが想定できる。よって、アプリケーション３がもしページアウトされていた場合、アプリケーション２を表示後に事前にウインドウシステムがＯＳへアプリケーション３のページインを示唆することにより、ウインドウのスタック情報（重なり）を意識し、アプリケーション２が閉じたときに、もたつくことがなくアプリケーション３が処理可能となる。
【００３３】
このように、前述したページアウトすべきメモリだけでなく、あらかじめページインしておくべきメモリも検索可能である。
【００３４】
次に、本発明の第３の実施の形態について説明する。
【００３５】
指定時間にメッセージを表示するなど、アプリケーションの性格から、あらかじめ頻度が分かる場合がある。
【００３６】
このようなときにウインドウシステムに頻度を登録するＩ／Ｆを設けておき、常に優先的にスワップアウト可能とすることで、特殊なアルゴリズムを用いることなく頻度に応じてメモリを効率的に管理することも可能である。
【００３７】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、メモリ管理装置の機能を実現するためのプログラムを装置に読込ませて実行することにより装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００３８】
また、本発明はグラフィカルユーザインターフェースを持つ、携帯電話機などの組み込み機器にも適用可能である。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態における複数のアプリケーションの状態を示す図である。
【図２】本発明の実施の形態におけるメモリ管理装置の構成を示す図である。
【図３】本発明の実施の形態における処理動作を示す図である。
【図４】本発明の実施の形態における複数のアプリケーションの状態を示す図である。
【図１】
2008065638.tif 000003
【図２】
2008065638.tif 000004
【図３】
2008065638.tif 000005
【図４】
2008065638.tif 000006