(57)【要約】【課題】プログラムを仮想メモリのメモリ領域から削除する際に、それが使用するタイマが削除されない場合において、セグメンテーションフォールトの発生を抑制し得る、メモリ管理装置、メモリ管理方法、及びプログラムを提供する。【解決手段】メモリ管理装置１０は、コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための装置であり、仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、メモリ領域からの削除が予定された場合に、特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、アドレス置換部１１と、アドレス置換部１１による置換の後であって、設定時間の経過後に、特定のモジュールをメモリ領域から削除する、モジュール削除部１２と、を備えている。【選択図】図１
2019168952.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための装置であって、
前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、アドレス置換部と、
前記アドレス置換部による置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、モジュール削除部と、
を備えている、
ことを特徴とするメモリ管理装置。
【請求項２】
請求項１に記載のメモリ管理装置であって、
前記アドレス置換部が、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするメモリ管理装置。
【請求項３】
請求項１に記載のメモリ管理装置であって、
前記アドレス置換部が、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするメモリ管理装置。
【請求項４】
請求項１〜３のいずれかに記載のメモリ管理装置であって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするメモリ管理装置。
【請求項５】
コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための方法であって、
（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を有している、
ことを特徴とするメモリ管理方法。
【請求項６】
請求項５に記載のメモリ管理方法であって、
前記（ａ）のステップにおいて、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするメモリ管理方法。
【請求項７】
請求項５に記載のメモリ管理方法であって、
前記（ａ）のステップにおいて、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするメモリ管理方法。
【請求項８】
請求項５〜７のいずれかに記載のメモリ管理方法であって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするメモリ管理方法。
【請求項９】
コンピュータにおいて、オペレーティングシステムが提供する仮想メモリを管理するためのプログラムであって、
前記コンピュータに、
（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を実行させる、
ことを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムであって、
前記（ａ）のステップにおいて、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするプログラム。
【請求項１１】
請求項９に記載のプログラムであって、
前記（ａ）のステップにおいて、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするプログラム。
【請求項１２】
請求項９〜１１のいずれかに記載のプログラムであって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムにおける仮想メモリを管理するための、メモリ管理装置、及びメモリ管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータにおいて、オペレーティングシステム（以下「ＯＳ」と表記する）は、メモリ領域に、物理的なアドレスとは別に、これに対応する仮想的なアドレスを割り当てて、メモリ領域を管理している（例えば、特許文献１参照。）
【０００３】
また、ＯＳは、プログラムを実行する場合は、この仮想的なアドレスが割り当てられているメモリ領域（以下「仮想メモリ領域」）に、実行対象となるプログラムを割り当てて、これを実行するので、プログラム側での物理メモリの管理は不要となる。また、プログラムは、仮想メモリ領域に割り当てられると、ＯＳが提供する機能を使うことができる。ＯＳが提供する機能としては、タイマが挙げられる。タイマによれば、設定時刻となったときに、所定の処理が実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００４−５００６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、通常、タイマは、それを使用するプログラムによって管理されており、プログラムが仮想メモリ領域から削除されると、一緒に削除されるが、プログラムのバグ等によって、タイマが削除されない場合がある。このような場合、削除されないで残ったタイマは、設定時刻となったときに、所定の処理を実行することになる。
【０００６】
しかしながら、タイマを使用していたプログラムは既に削除されているため、タイマは、仮想メモリ領域上の許可されていない位置にアクセスすることとなる。この結果、セグメンテーションフォールトが発生し、ＯＳ自体が停止してしまうという問題が発生してしまう。
【０００７】
本発明の目的の一例は、上記問題を解消し、プログラムを仮想メモリのメモリ領域から削除する際に、それが使用するタイマが削除されない場合において、セグメンテーションフォールトの発生を抑制し得る、メモリ管理装置、メモリ管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一側面におけるメモリ管理装置は、コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための装置であって、
前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、アドレス置換部と、
前記アドレス置換部による置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、モジュール削除部と、
を備えている、
ことを特徴とする。
【０００９】
また、上記目的を達成するため、本発明の一側面におけるメモリ管理方法は、コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための方法であって、（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を有している、
ことを特徴とする。
【００１０】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータにおいて、オペレーティングシステムが提供する仮想メモリを管理するためのプログラムであって、
前記コンピュータに、
（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を実行させる、
ことを特徴とする。
【発明の効果】
【００１１】
以上のように、本発明によれば、プログラムを仮想メモリのメモリ領域から削除する際に、それが使用するタイマが削除されない場合において、セグメンテーションフォールトの発生を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態１におけるメモリ管理装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１におけるメモリ管理装置１０の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１でのアドレス置換部による処理の一例を具体的に示す説明図であり、図３（ａ）は処理前の状態を示し、図３（ｂ）は処理後の状態を示している。
【図４】図４は、本発明の実施の形態１におけるメモリ管理装置の動作を示すフロー図である。
【図５】図５は、本発明の実施の形態１でのアドレス置換部による処理の他の例を具体的に示す説明図であり、図５（ａ）は処理前の状態を示し、図５（ｂ）は処理後の状態を示している。
【図６】図６は、本発明の実施の形態におけるメモリ管理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下、本発明の実施の形態１における、メモリ管理装置、メモリ管理方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００１４】
［装置構成］
最初に、本実施の形態１におけるメモリ管理装置の概略構成について説明する。図１は、本発明の実施の形態１におけるメモリ管理装置の概略構成を示すブロック図である。
【００１５】
図１に示す、本実施の形態１におけるメモリ管理装置１０は、コンピュータのオペレーティングシステム（ＯＳ：Operating System）が提供する仮想メモリを管理するための装置である。図１に示すように、
は、アドレス置換部１１と、モジュール削除部１２と、を備えている。
【００１６】
アドレス置換部１１は、仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、メモリ領域からの削除が予定された場合に、特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する。モジュール削除部１２は、アドレス置換部１１による置換の後であって、設定時間の経過後に、特定のモジュールをメモリ領域から削除する。
【００１７】
このように、本実施の形態１では、特定のモジュール、即ち、プログラムは、それが使用するアドレスの置き換えの後に、削除される。このため、プログラムが使用するタイマが削除されない場合が発生しても、セグメンテーションフォールトの発生は抑制されることになる。
【００１８】
続いて、図２及び図３を用いて、本実施の形態１におけるメモリ管理装置１０の構成をより具体的に説明する。図２は、本発明の実施の形態１におけるメモリ管理装置１０の具体的構成を示すブロック図である。図３は、本発明の実施の形態１でのアドレス置換部による処理の一例を具体的に示す説明図であり、図３（ａ）は処理前の状態を示し、図３（ｂ）は処理後の状態を示している。
【００１９】
図２に示すように、本実施の形態１では、メモリ管理装置１０は、コンピュータ３０のＯＳ２０上に、後述するプログラムによって構築されている。また、ＯＳ２０は、仮想メモリ２１を提供し、仮想メモリ２１のアドレスと、物理メモリ３１のアドレスとを対応付けている。
【００２０】
また、図２の例では、仮想メモリ２１のメモリ領域に、モジュール２２が割り当てられている。モジュール２２は、カーネルモジュールとも呼ばれ、その具体例としては、ドライバモジュールが挙げられる。また、ページテーブル２３は、ＯＳ２０上に構築されており、仮想アドレスと物理アドレスとの関係を格納している。本実施の形態では、ページテーブル２３は、モジュール２２が使用する物理空間へのアクセス先を示している。
【００２１】
アドレス置換部１１は、本実施の形態では、モジュール２２について仮想メモリ２１のメモリ領域からの削除が予定されると、ページテーブル２３において、モジュール２２が使用する物理空間のアクセス先のアドレスを、物理空間の別の領域のアドレスに置換する。
【００２２】
具体的には、図３（ａ）に示すように、削除処理が行われる前において、モジュール２２のページテーブルには、物理ページ番号及びオフセットが設定されている。それによって、モジュール２２は、物理メモリのカーネル空間の特定の領域にアクセスすることができる。
【００２３】
この場合において、モジュール２２が削除されたにも関わらず、モジュール２２が使用するタイマが削除されずに残ってしまうと、セグメンテーションフォールトが発生してしまう。このため、図３（ｂ）に示すように、モジュール２２が削除対象となると、アドレ
ス置換部１１は、モジュール２２が使用するページテーブル２３上の物理ページ番号及びオフセットを、物理メモリのカーネル空間の別の領域（「タイマ削除漏れ防止用領域」と表記する）に置換する。
【００２４】
また、アドレス置換部１１は、タイマ削除漏れ防止用領域には、処理を何も実行しない関数、ログにメッセージを出力するだけの関数等、セグメンテーションフォールトを発生させることがない関数を記録する。以上の処理により、タイマが削除されずに残ってしまっても、セグメンテーションフォールトの発生が抑制される。
【００２５】
［装置動作］
次に、本発明の実施の形態１におけるメモリ管理装置１０の動作について図４を用いて説明する。図４は、本発明の実施の形態１におけるメモリ管理装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態１では、メモリ管理装置１０を動作させることによって、メモリ管理方法が実施される。よって、本実施の形態におけるメモリ管理方法の説明は、以下のメモリ管理装置１０の動作説明に代える。
【００２６】
まず、前提として、特定のモジュール２２は、外部から削除が指示されると、削除に必要な固有の処理を実行する。
【００２７】
図４に示すように、最初に、アドレス置換部１１は、モジュール２２が削除のために固有の処理を開始すると、仮想メモリ２１を解放しない状態で、削除の対象となるモジュール２２が使用するページテーブル２３において、モジュール２２が使用する物理空間のアクセス先のアドレスを、物理空間の別の領域のアドレスに置換する（ステップＡ２：図３（ａ）及び（ｂ）参照）。
【００２８】
次に、モジュール削除部１２は、時間のカウントを開始し（ステップＡ３）、カウントした時間が一定時間を経過したかどうかを判定する（ステップＡ３）。ステップＡ３の判定の結果、カウントした時間が一定時間を経過していない場合は、ステップＡ２を再度実行する。
【００２９】
一方、ステップＡ３の判定の結果、カウントした時間が一定時間を経過している場合は、モジュール削除部１２は、削除の対象となるモジュール２２を仮想メモリ２１から削除すると共に、仮想メモリを解放する（ステップＡ４）。
【００３０】
［変形例］
ここで、本実施の形態における変形例について図５を用いて説明する。図５は、本発明の実施の形態１でのアドレス置換部による処理の他の例を具体的に示す説明図であり、図５（ａ）は処理前の状態を示し、図５（ｂ）は処理後の状態を示している。
【００３１】
本変形例では、アドレス置換部１１は、モジュール２２について仮想メモリ２１のメモリ領域からの削除が予定されると、特定のモジュール２２のアクセス先の物理空間の物理アドレスを、リターン命令に置換する。
【００３２】
具体的には、図５（ａ）に示すように、削除処理が行われる前において、モジュール２２のページテーブルには、物理ページ番号及びオフセットが設定されている。それによって、モジュール２２は、物理メモリのカーネル空間の特定の領域にアクセスすることができる。
【００３３】
この場合において、モジュール２２が削除されたが、タイマが残ってしまうと、セグメ
ンテーションフォールトが発生してしまう。このため、本変形例では、図５（ｂ）に示すように、モジュール２２が削除対象となると、アドレス置換部１１は、モジュール２２のアクセス先の物理空間の物理アドレスに、リターン命令を記録する。
【００３４】
以上の処理により、本変形例でも、セグメンテーションフォールトの発生が抑制される。なお、本変形例では、上述した例と異なり、アドレス置換部１１が、モジュール２２によって使用されるページテーブルを書き換えることはない。
【００３５】
［実施の形態における効果］
以上のように、本実施の形態によれば、特定のモジュール２２を仮想メモリ２１のメモリ領域から削除する際に、モジュール２２がアクセスする物理アドレスには、セグメンテーションフォールトを発生させない関数又はリターン命令が記録される。このため、モジュール２２を削除したにもかかわらず、タイマが残ってしまい、その後にタイマが起動しても、セグメンテーションフォールトの発生は回避される。
【００３６】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図４に示すステップＡ１〜Ａ５を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるメモリ管理装置１０とメモリ管理方法とを実現することができる。この場合、コンピュータのプロセッサは、アドレス置換部１１、及びモジュール削除部１２として機能し、処理を行なう。
【００３７】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、アドレス置換部１１、及びモジュール削除部１２のいずれかとして機能しても良い。
【００３８】
ここで、本実施の形態におけるプログラムを実行することによって、メモリ管理装置１０を実現するコンピュータ３０の物理構成について図６を用いて説明する。図６は、本発明の実施の形態におけるメモリ管理装置を実現するコンピュータの一例を示すブロック図である。
【００３９】
図６に示すように、コンピュータ３０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。コンピュータ３０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００４０】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、上述した物理メモリ３１に相当し、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。
【００４１】
本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００４２】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメ
モリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００４３】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００４４】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００４５】
なお、本実施の形態におけるメモリ管理装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、メモリ管理装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００４６】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００４７】
（付記１）
コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための装置であって、
前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、アドレス置換部と、
前記アドレス置換部による置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、モジュール削除部と、
を備えている、
ことを特徴とするメモリ管理装置。
【００４８】
（付記２）
付記１に記載のメモリ管理装置であって、
前記アドレス置換部が、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするメモリ管理装置。
【００４９】
（付記３）
付記１に記載のメモリ管理装置であって、
前記アドレス置換部が、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするメモリ管理装置。
【００５０】
（付記４）
付記１〜３のいずれかに記載のメモリ管理装置であって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするメモリ管理装置。
【００５１】
（付記５）
コンピュータのオペレーティングシステムが提供する仮想メモリを管理するための方法であって、
（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を有している、
ことを特徴とするメモリ管理方法。
【００５２】
（付記６）
付記５に記載のメモリ管理方法であって、
前記（ａ）のステップにおいて、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするメモリ管理方法。
【００５３】
（付記７）
付記５に記載のメモリ管理方法であって、
前記（ａ）のステップにおいて、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするメモリ管理方法。
【００５４】
（付記８）
付記５〜７のいずれかに記載のメモリ管理方法であって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするメモリ管理方法。
【００５５】
（付記９）
コンピュータにおいて、オペレーティングシステムが提供する仮想メモリを管理するためのプログラムであって、
前記コンピュータに、
（ａ）前記仮想メモリのメモリ領域に割り当てられた特定のモジュールについて、前記メモリ領域からの削除が予定された場合に、前記特定のモジュールが使用しているアドレスを、予め設定されたルールに沿って置換する、ステップと、
（ｂ）前記（ａ）のステップによる置換の後であって、設定時間の経過後に、前記特定のモジュールを前記メモリ領域から削除する、ステップと、
を実行させる、
ことを特徴とするプログラム。
【００５６】
（付記１０）
付記９に記載のプログラムであって、
前記（ａ）のステップにおいて、前記特定のモジュールのアクセス先の物理空間の物理アドレスを、リターン命令に置換する、
ことを特徴とするプログラム。
【００５７】
（付記１１）
付記９に記載のプログラムであって、
前記（ａ）のステップにおいて、前記特定のモジュールが使用する、物理空間へのアクセス先を示すテーブルにおいて、そのアクセス先のアドレスを、前記物理空間の別の領域のアドレスに置換する、
ことを特徴とするプログラム。
【００５８】
（付記１２）
付記９〜１１のいずれかに記載のプログラムであって、
前記特定のモジュールが、デバイスを制御するためのドライバモジュールである、
ことを特徴とするプログラム。
【産業上の利用可能性】
【００５９】
以上のように、本発明によれば、プログラムを仮想メモリのメモリ領域から削除する際に、それが使用するタイマが削除されない場合において、セグメンテーションフォールトの発生を抑制することができる。本発明は、タイマが利用される種々のオペレーティングシステムに有用である。
【符号の説明】
【００６０】
１０  メモリ管理装置
１１  アドレス置換部
１２  モジュール削除部
２０  オペレーティングシステム
２１  仮想メモリ
２２  モジュール
２３  ページテーブル
３０  コンピュータ３０
３１  物理メモリ
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2019168952.tif 000003
【図２】
2019168952.tif 000004
【図３】
2019168952.tif 000005
【図４】
2019168952.tif 000006
【図５】
2019168952.tif 000007
【図６】
2019168952.tif 000008