(57)【要約】【課題】  ページ単位で管理しているメモリに対するページごとの初期化処理は、システム全体に占めるオーバヘッドが大きいという課題があった。【解決手段】  プログラムを実行するために割り当てられるページについて、起動時に初期化されたページを起動後初めて取得した場合には、ページの初期化処理を行わない。  また、プログラムを再び実行する際に割り当てられるページについて、以前と同じページが同じプログラムに割り当てられた場合には、ページの初期化処理を行わない。  さらに、プログラムに対して割り当てられるページの安全性が安全でない場合であり、かつ、ページを割り当てられるプログラムの信頼性が信頼できない場合についてのみ、ページの初期化処理を行う。これらの手段により、ページの初期化処理の総量を削減する。【選択図】  図１
2006048437.tif 000002
【特許請求の範囲】
【請求項１】
ページ単位で管理されるメモリと、
システム内の全ての未使用ページの識別子の一覧を管理する空きページ管理部と、
前記空きページ管理部において管理される未使用ページの初期化処理を行うページ初期化処理部と、
システム内のページごとのシステム起動時からの利用頻度を保持するページ利用頻度保持部と、
前記ページ利用頻度保持部で保持するシステム内のページごとの利用頻度に対して、前記ページ初期化処理部で初期化処理される未使用ページの利用頻度をクリアし、未使用ページが利用された場合には、未使用ページが利用されたことを設定する利用頻度設定部と、
前記空きページ管理部より取得した未使用ページが、システム起動時より使用されたことがあるか否かを、前記利用頻度保持部を参照することにより判定するページ利用頻度確認部とを備え、
システム起動時には、前記空きページ管理部において管理される未使用ページを前記ページ初期化処理部において初期化し、
前記ページ利用頻度設定部は、前記ページ利用頻度保持部で保持する初期化を行った未使用ページの利用頻度をクリアし、
アプリケーションからのページ取得要求時には、前記空きページ管理部より未使用ページを取得し、
前記ページ利用頻度確認部より、前記空きページ管理部より取得した未使用ページがシステム起動時から利用されたことがあると判定された場合には、前記空きページ管理部より取得した未使用ページに対して前記ページ初期化処理部において初期化処理を行い、
逆に、前記空きページがシステム起動時から利用されていないと判定された場合には、前記空きページ管理部より取得した未使用ページに対して初期化処理を行わないことを特徴とする、ページ割り当てシステム。
【請求項２】
ページ単位で管理されるメモリと、
前記ページの取得要求を行うプログラムと、
システム内の全ての未使用ページの識別子の一覧を管理し、前記プログラムからの前記ページ取得要求時に未使用ページを取得する空きページ管理部と、
前記ページの識別子と前記ページごとに以前に割り当てられた前記プログラムの識別子を保持する履歴情報保持部と、
前記ページの識別子と前記ページごとに以前に割り当てられた前記プログラムの識別子を前記履歴情報保持部に設定する履歴情報設定部と、
前記履歴情報保持部に問い合わせ、前記空きページ管理部より取得した未使用ページに割り当てられる予定であるプログラムが以前に割り当てられたことがあるか否かを判定する利用履歴判定部と、
与えられたページの初期化処理を行うページ初期化処理部とを備え、
前記プログラムの前記ページ取得要求時に、
前記利用履歴判定部において、前記空きページ管理部より取得した未使用ページが割り当てられる予定である前記プログラムに以前に割り当てられたことがないと判定した場合には、初期化処理を行い、取得した未使用ページを前記プログラムに割り当て、
前記利用履歴判定部において、前記空きページ管理部より取得した未使用ページが割り当てられる予定である前記プログラムに以前に割り当てられたことがあると判定した場合には、初期化処理を行わずに、取得した未使用ページを前記プログラムに割り当てることを特徴とする、ページ割り当てシステム。
【請求項３】
ページ単位で管理されるメモリと、
前記ページの取得要求を行うプログラムと、
システム内の全ての未使用ページの識別子の一覧を管理し、前記プログラムからの前記ページ取得要求時に未使用ページを取得する空きページ管理部と、
プログラムごとの信頼性の情報を保持しているプログラム信頼性保持部と、
前記ページ信頼性保持部に問い合わせ、前記ページの割り当てを行う予定である前記プログラムが信頼できるプログラムであるか否かを判定するプログラム信頼性判定部と、
システム内のページごとの安全性の情報を保持しているページ安全性保持部と、
前記ページの安全性を設定するページ区分設定部と、
前記ページ安全性保持部に問い合わせ、前記空きページ管理部より取得した未使用ページが安全なページであるか否かを判定するページ安全性判定部と、
与えられたページの初期化処理を行う初期化処理部とを備え、
前記プログラムの前記ページ取得要求時に、前記プログラム信頼性判定部において、前記ページの割り当てを行う予定である前記プログラムが信頼できないと判定され、かつ、前記ページ安全性判定部において、前記空きページ管理部より取得した未使用ページが安全なページでないと判定された場合には初期化処理を行うことを特徴とする、ページ割り当てシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおいて用いられるメモリ割り当て方式に関する発明である。
【背景技術】
【０００２】
従来、ページ単位で管理されるメモリを保持する計算機システムでは、アプリケーションの実行のために必要なページが取得され、アプリケーションの実行の終了に伴い必要でなくなったページは解放される。アプリケーションの実行の終了に伴い解放されたページにユーザ情報などのデータが残っており、悪意あるアプリケーションが実行されたときに、ページに残されているユーザ情報を取得してしまい、重要な情報が流出してしまうという問題があった。
【０００３】
そこで、重要データの流出を防ぐために、アプリケーションがページを獲得する前にページの初期化処理を行うという技術がある。しかし、ページを初期化する処理時間は、ページ割り当て処理時間の中で大きな割合を占めており、プログラムの応答性を低下させる要因の一つとなっていた。このことに、着目し、ページの初期化処理をシステムの負荷が低いときにまとめて行うという発明があった。（特許文献１参照）。
【特許文献１】特開平１１−３２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ページ単位で管理しているメモリのページの割り当て時には、必ず、ページ内容の初期化処理を行うため、ページ割り当てのオーバヘッドが大きいという課題があった。
【課題を解決するための手段】
【０００５】
この課題を解決するために本発明は、プログラムを実行するために割り当てられるページについて、起動時にページが初期化される機能を利用し、起動時に初期化されたページを保持する機能部を備え、プログラムを実行するために取得したページが、起動時に初期化されたページを保持している機能部を参照することにより、起動時に初期化されたページについて起動後初めて使用すると判定された場合には、ページの初期化処理を行わない。
【０００６】
また、本発明は、プログラムを再び実行する際に割り当てられるページについて、システム内でページの識別子とページごとに以前に割り当てられたプログラムの識別子を保持する機能部を備え、この機能部を参照することより、取得したページを、以前と同じプログラムに割り当てようとしていると判定した場合には、ページの初期化処理を行わない。
【０００７】
さらに、本発明は、ページの安全性を判定する機能部と、プログラムの信頼性を判定する機能部を備え、プログラムに対して割り当てられるページの安全性が、ページの安全性を判定する機能部より安全でないと判定された場合であり、かつ、ページを割り当てられるプログラムの信頼性が、プログラムの信頼性を判定する機能部より信頼できないと判定された場合についてのみ、ページの初期化処理を行う。
これらの手段により、ページの初期化処理の総量を削減する。
【発明の効果】
【０００８】
本発明によれば、プログラムを実行するために割り当てられるページについて、起動時に初期化されるページを取得した場合には、ページの初期化処理を行わなくてよい。また、本発明によれば、プログラムを再び実行する際に割り当てられるページについて、以前と同じページに割り当てることで、ページの初期化処理を行わなくてよい。さらには、プログラムに対して割り当てられるページの安全性が安全でない場合であり、かつ、ページを割り当てられるプログラムの信頼性が信頼できない場合についてのみ、ページの初期化処理を行うことで、ページの初期化処理をできる限り行わない。このように、ページ割り当て時の初期化処理を削減することにより、ページ割り当て時のオーバヘッドを削減することを可能とする。
【発明を実施するための最良の形態】
【０００９】
（実施の形態１）
以下、本発明の実施の形態を図１を用いて説明する。図１は、本発明の実施の形態におけるシステム起動時のページ割り当てを行うシステム構成を示したものである。
【００１０】
システム起動時には、システム内の全ての未使用ページの識別子を管理している空きページ管理部１０１において、管理している未使用ページの初期化処理をページ初期化処理部１０２において行う。そして、利用頻度設定部１０４では、システム内のページごとのシステム起動時からの利用頻度を保持するページ利用頻度保持部１０５にアクセスし、ページ利用頻度保持部１０５で保持しているページごとの利用頻度のうち、ページ初期化処理部１０２において初期化されたページの利用頻度をクリアする。
【００１１】
アプリケーションからのページ取得要求時には、空きページ管理部１０１より未使用ページを取得する。取得した未使用ページがシステム起動時から使用されたことがあるか否かをページ利用頻度確認部１０３において、システム起動時からシステム内のページごとに利用されたか否かという情報を保持しているページ利用頻度保持部１０５にアクセスすることにより判定する。ページ利用頻度確認部１０３において、取得した未使用ページがシステム起動時から利用されたことがあると判定された場合には、取得した未使用ページの初期化処理をページ初期化処理部１０２において行い、取得した未使用ページがシステム起動時から利用されたことがないと判定された場合には、取得した未使用ページの初期化処理を行わない。このとき、取得した未使用ページが利用されたことを利用頻度設定部１０４よりページ利用頻度保持部１０５に対して設定する。そして、アプリケーションに対してページの割り当てを行う。
【００１２】
このように、アプリケーションに割り当てられるページについて、起動時に初期化されるページを取得した場合には、ページの初期化処理を行わなくてよいため、ページ割り当て時のオーバヘッドを削減することを可能とする。
【００１３】
（実施の形態２）
以下、本発明の実施の形態を図２を用いて説明する。図２は、本実施の形態におけるプログラムの再ページ割り当てを行うシステム構成を示したものである。
【００１４】
プログラムからのページ取得要求時には、システム内の全ての未使用ページの識別子を管理している空きページ管理部１０１において、利用履歴判定部２０２から、システム内のページの識別子とシステム内の全てのページごとに以前に割り当てられたプログラムの識別子を管理している履歴情報保持部２０１にアクセスすることにより、空きページ管理部１０１で管理している未使用ページの中で、ページの取得要求を行うプログラムに以前に割り当てられたページがあるか否かを利用履歴判定部２０２において判定し、以前割り当てられたページがあると判定された場合には、以前に割り当てられたページをページの初期化処理を行うことなく取得し、逆に、以前に割り当てられたページがないと判定された場合には、空きページ管理部１０１で管理しているどの未使用ページを取得しても良い。
【００１５】
このとき、以前に割り当てられたページがないと判定された場合については、ページ初期化処理部１０２において取得した未使用ページの初期化処理を行う。その後、取得した未使用ページが、ページ取得要求を行うプログラムに対して割り当てられるため、履歴情報設定部２００において、取得した未使用ページの識別子と取得した未使用ページに割り当てられているプログラムの識別子を履歴情報保持部２０１に反映する。そして、プログラムに対してページの割り当てを行う。
【００１６】
このように、プログラムを再び実行する際に、可能であれば以前と同じページをプログラムに再び割り当てることで、ページの初期化処理を行う必要がないため、ページ初期化処理に伴うシステム全体のオーバヘッドを削減することを可能とする。
なお、本実施の形態ではプログラムの識別子について特に限定していないが、プロセスＩＤを用いることも可能である。
【００１７】
（実施の形態３）
以下、本発明の実施の形態を図３を用いて説明する。図３は、本発明の実施の形態によるプログラムの信頼性とページの信頼性を考慮したページ割り当てを行うシステム構成を示したものである。
【００１８】
プログラムからのページ取得要求時には、システム内の全ての未使用ページの識別子を管理している空きページ管理部１０１より未使用ページを取得する。そして、ページの取得を要求しているプログラムが信頼できるか否かを、プログラム信頼性判定部３０３から、プログラムの識別子とプログラムごとの信頼性を保持しているプログラム信頼性保持部３０２にアクセスすることにより判定する。信頼できないプログラムとは、ページに格納されている情報を盗用する危険のあるプログラムのことを意味し、そのような危険がないプログラムを信頼できるプログラムとする。
【００１９】
プログラム信頼性判定部３０３において、ページの取得を要求しているプログラムが信頼できないと判定された場合には、ページ安全性判定部３０１から、システム内のページの識別子とページごとの安全性を保持しているページ安全性保持部３００にアクセスすることより、取得した未使用ページが安全であるか否かを判定する。安全でないページとは、ユーザ情報のような盗用されてはならない情報を含んでいるページのことを意味し、ユーザ情報のような盗用されてはならない情報を含んでいないページを安全なページとする。ページ安全性判定部３０１において、取得した未使用ページが安全でないと判定された場合には、取得した未使用ページの初期化処理をページ初期化処理部１０２において行う。
【００２０】
上記、プログラム信頼性判定部３０３において、ページ取得を要求しているプログラムが信頼できないと判定され、かつ、ページ安全性判定部３０１において、取得した未使用ページが安全でないと判定された場合には、ページの初期化処理を実施する。逆に、プログラム信頼性判定部３０３において、ページの取得を要求しているプログラムが信頼できると判定した場合、あるいは、ページ安全性判定部３０１において、取得した未使用ページが安全であると判定された場合には、取得した未使用ページの初期化処理を行わない。
【００２１】
その後、ページ区分設定部３０４において、プログラムが示す安全性の属性に基づき、プログラムを割り当てるページの安全性をページ安全性保持部３００に設定する。そして、プログラムに対してページの割り当てを行う。
【００２２】
なお、本実施の形態では、ページの割り当てを行うプログラムの信頼性を判定した後に、プログラムを割り当てる予定であるページの安全性を判定する例を示したが、プログラムを割り当てる予定であるページの信頼性を判定した後に、ページの割り当てを行うプログラムの信頼性を判定することも可能である。
【００２３】
このように、ページの割り当てを行うプログラムが信頼できるプログラムであれば、プログラムを割り当てるページに含まれるデータを盗用する危険がないと判定できるため、ページの初期化を必要とせず、また、プログラムを割り当てる予定であるページが安全なページであれば、どのような信頼性のプログラムが割り当てられたとしても、データの盗用に対する危険がなく、初期化処理を必要としない。従って、ページに割り当てられるプログラムが信頼できないプログラムであり、かつ、プログラムが割り当てられるページが安全でない場合にのみ、プログラムに割り当てるページの初期化処理を行えばよいため、ページの初期化処理に伴うシステムのオーバヘッドを削減することが可能である。
【産業上の利用可能性】
【００２４】
本発明は、オペレーティングシステムや機器全般に利用できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態１によるシステム起動時のページ割り当てを行うシステム構成を示す図
【図２】本発明の実施の形態２によるプログラムの再ページ割り当てを行うシステム構成を示す図
【図３】本発明の実施の形態３によるプログラムの信頼性とページの信頼性を考慮したページ割り当てを行うシステム構成を示す図
【符号の説明】
【００２６】
１００  ページで管理されているメモリ
１０１  空きページ管理部
１０２  ページ初期化処理部
１０３  ページ利用頻度確認部
１０４  利用頻度設定部
１０５  ページ利用頻度保持部
２００  履歴情報設定部
２０１  履歴情報保持部
２０２  利用履歴判定部
３００  ページ安全性保持部
３０１  ページ安全性判定部
３０２  プログラム信頼性保持部
３０３  プログラム信頼性判定部
３０４  ページ区分設定部
【図１】
2006048437.tif 000003
【図２】
2006048437.tif 000004
【図３】
2006048437.tif 000005