(57)【要約】【課題】情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムに関し、障害調査における個人情報の漏えいを防止する。【解決手段】メモリダンプを実行する演算処理装置２と、演算処理装置２に接続される主記憶装置１３を有する情報処理装置１において、演算処理装置２がメモリダンプを実行後にメモリダンプ対象となる対象データを主記憶装置１３の格納領域に格納する場合、対象データのみを選択する処理部１７と、処理部１７が選択した対象データを出力する出力部１２とを有する。【選択図】図１
2018120297.tif 000002
【特許請求の範囲】
【請求項１】
メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置において、
前記演算処理装置が前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択する処理部と、
前記処理部が選択した前記対象データを出力する出力部とを、
有する情報処理装置。
【請求項２】
前記処理部は、前記対象データの格納を示す対象データ格納情報を、前記格納領域に設定するとともに、格納される前記対象データのアドレスとサイズを前記主記憶装置に格納された対象データリストに登録する請求項１に記載の情報処理装置。
【請求項３】
前記出力部は、前記対象データリストに登録されたアドレスに基づいて、前記対象データを記主記憶装置の格納領域に出力するとともに、他の対象データを格納する他の格納領域から前記他の対象データを前記主記憶装置の格納領域に出力する請求項２に記載の情報処理装置。
【請求項４】
前記処理部は、前記対象データを前記主記憶装置に格納する場合、入出力の対象であるユーザデータの格納を示すユーザデータ格納情報を前記格納領域に設定する請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置はさらに、
前記ユーザデータが前記情報処理装置の外部からの読み込みデータである場合、前記ユーザデータに前記対象データが付加されているかを判断し、付加されている場合、前記処理部に対して、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録の依頼を発行する依頼部を有し、
前記処理部は、発行された前記依頼に基づいて、前記対象データ格納情報の設定及び前記対象データリストへの登録を行う請求項４に記載の情報処理装置。
【請求項６】
発行される前記依頼は、前記対象データのアドレスとサイズの情報を含む請求項５に記載の情報処理装置。
【請求項７】
前記ユーザデータが前記情報処理装置の外部からの書き込みデータであり、且つ、前記格納領域に格納される前記対象データが、他の対象データのみを格納する他の格納領域から前記他の対象データが複写された対象データである場合、前記処理部は、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録を中止する請求項４に記載の情報処理装置。
【請求項８】
前記情報処理装置はさらに、
前記格納領域を取得要求に基づいて取得する取得部と、
前記格納領域を取得する際、前記取得部に対して前記取得要求を発行する要求部とを有する請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記除法処理装置はさらに、
前記ユーザデータと前記対象データの前記格納領域における格納状況を表示させる場合、前記ユーザデータの格納位置に対応付け、出力された前記対象データを対応付けられた前記対象データの格納位置に表示させるとともに、前記ユーザデータに代わる代替情報を対応付けられた前記ユーザデータの格納位置に表示させる請求項４乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記ユーザデータを使用するプログラムは、前記対象データを除いた前記ユーザデータの格納領域にアクセスすることを特徴とする請求項４乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置の制御方法において、
前記情報処理装置が有する処理部が、前記演算処理装置が前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択し、
前記情報処理装置が有する出力部が、選択された前記対象データを出力する情報処理装置の制御方法。
【請求項１２】
メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置の制御プログラムにおいて、
前記演算処理装置が、
前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択し、
選択された前記対象データを出力する情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
従来の情報処理装置において、重大な障害が発生した場合、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）が使用していた物理メモリ（ＯＳのカーネルが使用しているカーネルメモリ）の内容をファイルに出力するメモリダンプ技術が知られている。メモリダンプは、デバッガ等を用いた障害の原因特定のための有益な情報源となっている。
【０００３】
このようなメモリダンプ機能を備えたＯＳを実行するコンピュータシステムの一例が下記の特許文献１に示されている。具体的には、コンピュータシステムに異常が発生した場合に複写したメモリの内容を格納するメモリダンプ装置と、メモリダンプされた情報から障害解析を行う障害解析装置と、障害解析結果などをシステム保守センタへ送信する通信部を備えたコンピュータシステムが開示されている。
【０００４】
ＯＳでは、物理メモリは主記憶装置に記憶されたページテーブルを用いてページという単位で管理されており、メモリダンプの際にもページ単位でカーネルメモリの内容が主記憶装置に書き込まれる。カーネルやユーザプロセスがメモリを使用する場合は、ページ単位でメモリを獲得した上で、ページを細分化して使用する。ページを細分化して使用する理由は、ページ単位でメモリを使用するとメモリの使用効率が悪くなるためである。
【０００５】
また、ファイルの入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（Ｉ／Ｏ））の対象であるユーザデータを外部ストレージから読み込んだ場合は、ユーザデータは高速化のため読み込みキャッシュ用のページに配置される。このような処理はページキャッシュといい、従来技術として知られている。ユーザデータなどのファイルデータはＯＳの障害調査には不要であり、しかも個人情報を含む可能性が高い。このため、ページキャッシュはメモリダンプの書き込み対象とはなっていない。ユーザデータとはユーザに関するデータであって、例えば各ユーザに割り振られた管理番号（例えば、マイナンバー）などである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−８１４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記の従来技術において、メモリダンプの対象メモリであるカーネルメモリ上にファイルデータなどのユーザデータが含まれてしまう場合がある。その結果、障害発生時にはカーネルメモリの内容が出力され、メモリダンプされた情報にユーザデータが含まれてしまう場合がある。そのため、メモリダンプされた情報が採取できたとしても、ユーザデータに含まれる個人情報が漏えいする懸念があることから、ユーザはカーネルメモリの内容の提供を拒否せざるを得ない。カーネルメモリの内容が提供されないことにより、情報処理装置のベンダや保守サービス会社は、メモリダンプによる情報を入手できず、障害調査を実質できないという問題があった。
【０００８】
カーネルメモリにユーザデータが含まれてしまう理由は、ユーザからのファイルデータＩ／Ｏ要求をカーネルが処理する際に、カーネルメモリにユーザデータが含まれる場合があるためである。従来技術におけるファイルへの書き込み処理について図１５を用いて説明する。この例は、ユーザメモリ２０１のユーザデータ２００がメモリダンプ対象メモリのカーネルメモリ２０３に配置される例である。ユーザデータ２００は、データサイズが小さく、ファイルのオブジェクトの種類（通常ファイル、ディレクトリ、（エイリアス、ショートカット等の）リンク）、ファイルのデータサイズ、ファイルの作成日、ファイルの最終更新日、ファイルの所有者、アクセス権限等のファイルデータをカーネルが管理するためのデータであるメタデータ２０２が配置されているカーネルメモリページの余った領域に配置される。そのため、障害発生時には、メタデータ２０２とともにユーザデータ２００は外部記憶媒体２０４に出力されてしまう。
【０００９】
なお、ユーザデータ２０６のようにユーザデータのデータサイズが大きく複数のページにまたがる場合は、ユーザデータ２０６は、メモリダンプ非対象のページキャッシュ２０５に配置され、メタデータ２０８とユーザデータ２０６は異なるメモリページ上に配置される。
【００１０】
また、外部記憶装置からファイルデータを読み込む際にも、一部のユーザデータがカーネルメモリに配置される場合がある。従来技術におけるファイルからの読み込み処理について図１６を用いて説明する。ファイルＩ／Ｏによりメタデータ２１２を外部記憶装置２１０からカーネルメモリ２１１に読み込む際、メタデータ２１２の直後にユーザデータ２１４が配置され、かつ外部記憶装置２１０からカーネルメモリ２１１に読み込みや書き込みを行う単位（以下、ブロック）内にユーザデータ２１４が含まれる場合がある。この場合には、ユーザデータ２１４はメタデータ２１２とともに同一のカーネルメモリページ上に読み込まれる。
【００１１】
また、不図示のネットワーク経由でユーザデータを受け取った場合には、ファイルＩ／Ｏにおけるページキャッシュ相当の機能がないため、直接カーネルメモリ上にユーザデータが配置される。
【００１２】
上記のように、カーネルメモリにユーザデータが配置された場合における従来のメモリダンプ出力について図１７を用いて説明する。上述したように、メモリダンプにより、カーネルメモリの内容はページ単位で書き込まれる。そのため、メモリを管理するページテーブル２２１のカーネルメモリフラグ２２３が参照され、カーネルメモリページにメタデータ２２０とともにユーザデータ２２２が含まれていると、不図示のメモリダンプファイルにメタデータ２２０とユーザデータ２２２が書き込まれる。これにより、ユーザデータ２２２が外部記憶装置２２４に出力され、ユーザデータ２２２に含まれる個人情報が漏えいする可能性が生じる。
【００１３】
上記の問題を解決する方法として、メタデータとユーザデータを分離して同じメモリページ／同じブロックに配置されないようにネットワークへの送受信やディスクＩ／Ｏを行う方法が考えられる。しかし、この方法では、データのやり取り（通信又はＩ／Ｏ）回数が増加し、過大なオーバーヘッドが発生することにより、性能に影響を与えてしまうこととなる。
【００１４】
そこで、本発明の１つの側面では、障害調査における個人情報の漏えいを防止することを目的とする。
【課題を解決するための手段】
【００１５】
態様の一例では、メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置において、前記演算処理装置が前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択する処理部と、前記処理部が選択した前記対象データを出力する出力部とを、有する。
【発明の効果】
【００１６】
障害調査における個人情報の漏えいを防止することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態の情報処理装置のブロック図である。
【図１Ａ】第１の実施形態の情報処理装置のブロック図である。
【図２Ａ】第１の実施形態におけるページテーブルの一例を示す図である。
【図２Ｂ】第１の実施形態におけるページテーブルエントリの一例を示す図である。
【図３Ａ】第１の実施形態におけるメモリダンプ格納対象データリストの登録前と登録後の状態の一例を示す図である。
【図３Ｂ】第１の実施形態におけるメモリダンプ格納対象データリストへの登録処理の一例の一部を示すフローチャートである。
【図３Ｃ】第１の実施形態におけるメモリダンプ格納対象データリストへの登録処理の一例の一部を示すフローチャートである。
【図３Ｄ】第１の実施形態におけるメモリダンプ格納対象データリストの削除前と削除後の状態の一例を示す図である。
【図３Ｅ】第１の実施形態におけるメモリダンプ格納対象データリストからの削除処理の一例を示すフローチャートである。
【図４】第１の実施形態における情報処理装置がファイルデータを読み込む際の構成要素間における指示やデータの流れの一例を示す図である。
【図５】第１の実施形態における情報処理装置のデータ読み込みの際のページテーブルエントリへのフラグ設定及びメモリダンプ格納対象データリストへの登録の処理の一例を示すシーケンス図である。
【図６】第１の実施形態における情報処理装置がユーザデータを書き込む際の構成要素間における指示やデータの流れの一例を示す図である。
【図７】第１の実施形態における情報処理装置のデータ書き込みの際のページテーブルエントリへのフラグ設定及びデータ書き込みの処理の一例を示すシーケンス図である。
【図８】第１の実施形態における情報処理装置のダンプ出力処理部によるメモリダンプ出力処理の流れの一例を示す図である。
【図９Ａ】第１の実施形態における情報処理装置のメモリダンプ出力処理の一例の一部を示すフローチャートである。
【図９Ｂ】第１の実施形態における情報処理装置のメモリダンプ出力処理の一例の一部を示すフローチャートである。
【図１０】第１の実施形態におけるメモリダンプ出力の具体的なケースを示す図である。
【図１１】第２の実施形態の情報処理装置のブロック図である。
【図１２】第２の実施形態における調査ツール画像の表示例を示す図である。
【図１３】第２の実施形態における調査ツール画像の表示処理の一例を示すフローチャートである。
【図１４】各実施形態における情報処理装置を実現するためのハードウェア構成の一例を示す図である。
【図１５】従来技術におけるファイルへの書き込み処理の流れの一例を示す図である。
【図１６】従来技術におけるファイルからの読み込み処理の流れの一例を示す図である。
【図１７】従来技術におけるメモリダンプ出力の流れの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について図面を参照しながら説明する。図１は、情報処理装置の第１の実施形態のブロック図である。
【００１９】
第１の実施形態は、Ｃメモリにユーザデータとともに格納されるメタデータを管理し、処理部１７が、ＯＳが有するメモリダンプ機能の起動（演算処理装置２によるメモリダンプの実行）時にメタデータのみを選択し、出力部１２が選択されたメタデータを出力する情報処理装置１である。情報処理装置１は、メモリダンプを実行する演算処理装置２と、演算処理装置２に接続され、メモリダンプの対象のデータであるメタデータを格納する主記憶装置１３をさらに有する。Ｃメモリとは、ユーザデータを含むとともに、ファイルシステムのデータ管理に必要なメタデータやネットワークのプロトコルデータなど障害調査の際に利用される調査対象のデータを含む可能性のあるメモリである。Ｃメモリは主記憶装置１３（メインメモリ）の領域の一部を使用している。
【００２０】
メモリダンプにより出力される情報は、メタデータのみでなく、ネットワークのプロトコルデータなども含み、これらのデータをメモリダンプ格納対象データ又は対象データとも言う。上記構成により、メモリダンプ起動時にユーザデータが出力されることはない。
【００２１】
第１の実施形態の情報処理装置１は他の構成要素を更に含み、その構成を図１Ａに示す。
【００２２】
第１の実施形態の情報処理装置１は、上述した演算処理装置２、主記憶装置１３、処理部１７、出力部（以下、ダンプ出力処理部とも言う）１２以外に、ファイルシステム管理部１０、メモリ管理部１１を有する。
【００２３】
ファイルシステム管理部１０は、獲得要求部（要求部とも言う）１４、登録依頼部（依頼部とも言う）１５を有する。ファイルシステム管理部１０におけるこれらの処理ブロックによる処理は、例えばＣｅｎｔｒａｌ Ｐｒｏｃｅｓｓｏｒ Ｕｎｉｔ（ＣＰＵ、中央演算処理装置）１４１がＨａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ（ＨＤＤ）１４２などに記憶されたＯＳに含まれる処理プログラムを実行する処理である。
【００２４】
獲得要求部１４は、Ｃメモリの獲得（取得）要求（ｃ_ａｌｌｏｃ）をメモリ管理部１１に対して行う。具体的には、ユーザプロセスからデータを受け取り、又は外部記憶媒体のディスクからデータを読み込み、又はネットワーク経由でデータを受け取るなど、不図示のカーネルが外部からデータを受け取る場合、獲得要求部１４はＣメモリの獲得要求をメモリ管理部１１に発行する。
【００２５】
獲得要求部１４は、Ｃメモリの獲得要求を発行する際、後述するように、ユーザプロセスから受信した読み込み要求に含まれるｓｉｚｅの情報をＣメモリの獲得要求に含めるようにする。ｓｉｚｅは獲得すべきメモリの大きさを示す情報である。これにより、メモリ管理部１１の取得部１６は、Ｃメモリを獲得する際、無駄にメモリを獲得しなくて済み、メモリ資源を効率よく利用することが可能となる。なお、獲得要求部１４は、上記読み込み要求にｓｉｚｅの情報が含まれていない場合、外部から受け取るデータのサイズを自ら判断し、発行する獲得要求にｓｉｚｅの情報を含めるようにしてもよい。
【００２６】
例えば、障害調査の際に利用される調査対象のデータは、上記メモリダンプ格納対象データとも言う。Ｃメモリを新たに獲得し、ユーザデータをＣメモリに格納することにより、従来のようにカーネルメモリに格納されたユーザデータがメモリダンプにより出力されることを防ぐことが可能となる。ユーザデータが格納されたＣメモリにメモリダンプ格納対象データが格納された場合、メモリダンプ格納対象データのみがメモリダンプ出力の対象となるように処理が施されるためである。詳細については後述する。
【００２７】
対象データが出力されることによって、情報処理装置１のベンダや保守サービス会社は、障害調査を行うことができる。以下では、メモリダンプ格納対象データとしてメタデータのみを例にとって主に説明するが、プロトコルデータなどを含むものであってもよい。なお、Ｃメモリ以外の本明細書において示されるカーネルメモリはメタデータなどのメモリダンプ格納対象データのみを含む。また、ユーザメモリはユーザデータを含む。ユーザデータとはユーザに関するデータであって、例えば各ユーザに割り振られた管理番号（例えば、マイナンバー）などである。Ｃメモリ、カーネルメモリ、ユーザメモリは、それぞれページ単位で管理され、１つのメモリ空間（主記憶装置１３）に存在し、メモリ空間におけるアドレスによって特定される。
【００２８】
登録依頼部１５は、獲得されたＣメモリへのメタデータの登録依頼（ｃ_ｅｘｃｅｐｔ_ｒｅｇ）をメモリ管理部１１に対して行う。具体的には、まず登録依頼部１５は、情報処理装置１の外部から受け取ったデータを、取得部１６によって獲得されたＣメモリに取り込んだ後、受け取ったデータにメタデータが含まれている（付加されている）か判断する。含まれている場合、登録依頼部１５は、Ｍフラグ（対象データ格納情報）の設定の依頼、含まれたメタデータのアドレスとメタデータのサイズの情報を含む上記登録依頼をメモリ管理部１１に発行し、メタデータのアドレスとサイズをメモリダンプ格納対象データリストへ登録するよう依頼を行う。メモリダンプ格納対象データリストの詳細については後述する。
【００２９】
受け取ったデータにメタデータが含まれているかの判断は、例えば障害調査に利用されるデータを認識できるレイヤのカーネル内のモジュールによってデータ構造などに基づいて行われる。ここでのモジュールは、例えばメタデータであれば上述したファイルシステム管理部１０の登録依頼部１５であり、プロトコルデータであればネットワークの各プロトコルの処理部である。
【００３０】
また、メモリダンプ格納対象データリストに登録されたエントリの情報を外す（削除する）場合には、登録依頼部１５は、該当データの削除依頼（ｃ_ｅｘｃｅｐｔ_ｕｎｒｅｇ）をメモリ管理部１１に対して発行する。このとき、登録依頼部１５は、上記登録依頼と同様、削除依頼に該当エントリのデータのアドレスとデータサイズの情報を含めて発行する。これにより、処理部１７は、該当エントリのデータをメモリダンプ格納対象データリストから削除する。
【００３１】
メモリ管理部１１は、取得部１６、処理部１７を有する。メモリ管理部１１におけるこれらの処理ブロックによる処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる処理プログラムを実行する処理である。
【００３２】
取得部１６は、獲得要求部１４によるＣメモリの獲得要求（取得要求）に基づいて、メモリ空間上においてＣメモリを獲得（取得）する。具体的には、取得部１６は、Ｃメモリの獲得要求に獲得すべきメモリサイズの情報が含まれている場合、含まれているメモリサイズに基づいて、メモリ空間上にＣメモリを獲得する。Ｃメモリの獲得要求に獲得すべきメモリサイズの情報が含まれていない場合には、取得部１６は、例えば所定のサイズのＣメモリを獲得するようにしてもよい。
【００３３】
処理部１７は、取得部１６によってＣメモリが獲得された後、ページテーブルにおいて、獲得されたＣメモリに対応するページテーブルエントリにＣメモリフラグ（ユーザデータ格納情報）の設定を行う。例えば、ＣメモリフラグのＣをＯＮと設定する。ページテーブルエントリは、メモリを管理するページテーブルを構成するものである。ページテーブルエントリの詳細については後述する。
【００３４】
ＣメモリフラグのＣがＯＮに設定されることにより、当該メモリはＣメモリであり、メモリダンプ格納対象データ以外のデータ（例えば、ユーザデータなど）が含まれていることがわかる。なお、カーネルメモリフラグのＫがＯＮに設定される場合には、カーネルモードでのみアクセス可能であり、カーネルメモリフラグが設定されたメモリには、メモリダンプ格納対象データが含まれている。ユーザデータはメモリダンプの対象ではないため、ダンプ出力処理部１２によって出力されることはない。なお、登録依頼部１５によるＣメモリへの受け取りデータの読み込みは、処理部１７によるＣメモリフラグの設定の前に行っても後に行ってもよい。
【００３５】
また、処理部１７は、登録依頼部１５によるＣメモリへのメタデータの登録依頼に基づいて、対応するページテーブルエントリにＭフラグ（対象データ格納情報）の設定を行う。Ｍフラグとは、該当するＣメモリページ内にメモリダンプ格納対象データが存在することを示すフラグである。Ｍフラグの設定により、Ｍフラグが設定されたメモリには、メモリダンプ格納対象データではないユーザデータ以外にメタデータが含まれていることがわかる。メタデータはメモリダンプの対象であるため、ダンプ出力処理部１２によって出力される。出力方法については後述する。
【００３６】
また、処理部１７は、登録依頼部１５によるＣメモリへのメタデータの登録依頼に基づいて、データのアドレスとサイズを後述のメモリダンプ格納対象データリストへ登録する。なお、登録依頼に基づいてデータのエントリをメモリダンプ格納対象データリストへ登録する処理については後述する。メモリダンプ格納対象データリストは、例えば主記憶装置１３に格納されている。
【００３７】
また、処理部１７は、登録依頼部１５による該当エントリのデータの削除依頼に基づいて、該当エントリのデータをメモリダンプ格納対象データリストから削除する。その際、処理部１７は、該当のＣメモリにメモリダンプ格納対象データが１つも存在しなくなった場合、ページテーブルエントリのＭフラグの設定を解除する。例えば、ＭフラグをＯＦＦと設定する。
【００３８】
ここで、ページテーブルエントリの一例について図２Ａを用いて説明する。ページテーブルエントリ２０は、ページテーブル２１を構成するものであって、ページごとに管理されるメモリ（カーネルメモリ、Ｃメモリ、ユーザメモリ）に格納されるデータに関する情報を示す。図２Ａに示す例では、ページテーブル２１は１３個のページテーブルエントリを有している。
【００３９】
ページテーブルエントリ２０のデータ構造は、フラグの領域（フラグ域）２０ａ、仮想メモリアドレスの領域２０ｂ、物理メモリアドレスの領域２０ｃを有する。フラグの領域２０ａは、ページテーブルエントリ２０に対応するページがメタデータのみを有するカーネルメモリであるか、ユーザデータのみを有するＣメモリであるか、メタデータを有するＣメモリであるかを示すために用いられる領域である。
【００４０】
例えば、フラグの領域２０ａのＫはカーネルメモリフラグを示し、カーネルメモリフラグが設定されている（ＯＮに設定されている）場合には、対応するページはカーネルメモリのページであり、メモリダンプの対象である。また、フラグの領域２０ａのＣはＣメモリフラグを示し、Ｃメモリフラグが設定されている場合には、対応するページはＣメモリのページであり、メモリダンプの対象ではない。また、フラグの領域２０ａのＭはＭフラグを示し、Ｍフラグが設定されている場合には、対応するページはメタデータを含むＣメモリのページであり、一部のデータ（メタデータ）がメモリダンプの対象である。ここでは３つのフラグについて説明したが、フラグの領域２０ａには上記３つのフラグ以外に他のフラグが設けられるようにすることも可能である。
【００４１】
仮想メモリアドレスの領域２０ｂには、ページテーブルエントリ２０に対応するデータの仮想メモリ上のアドレス情報が含まれている。仮想メモリアドレスの領域２０ｂが空白の場合には仮想メモリアドレスの割り当てがないことを示す。
【００４２】
物理メモリの領域２０ｃには、ページテーブルエントリ２０に対応するデータの物理メモリ上のアドレス情報が含まれている。
【００４３】
ページテーブルエントリ２０によって構成されたものがページテーブル２１であり、ページテーブル２１は、例えば主記憶装置１３に格納されてもよく、また不図示の格納部に格納されてもよい。
【００４４】
ページテーブルエントリの具体的な一例が図２Ｂに示されている。図２Ｂには、メモリ上のページテーブルエントリ２３と、メモリダンプファイルにコピーし、仮想アドレスが書き換えられたページテーブルエントリ２４が示されている。メモリ上のページテーブルエントリ２３の場合、フラグ域には先頭の３ビット（カーネルメモリフラグ、Ｃフラグ、Ｍフラグ）がＯＮであることが示されている。フラグ域の後続の仮想メモリアドレスの領域には仮想アドレス０ｘ３００１４ｄ１６０００、物理メモリの領域には物理アドレス０ｘ２８４０００が設定（登録）されている。また、メモリダンプファイルにはページテーブルをコピーした管理用のページテーブルが存在する。ページテーブルエントリ２４の仮想メモリアドレスの領域には、メモリダンプファイル内のオフセットが設定される。
【００４５】
ダンプ出力処理部１２は、カーネルメモリに格納されたメタデータと、Ｃメモリに格納されたメタデータを主記憶装置１３の格納領域（メモリダンプファイル）に出力する。個人情報などを含む可能性のあるユーザデータが出力されないため、障害調査などにおける個人情報の漏えいを防止することが可能となる。具体的には、ダンプ出力処理部１２は、メモリダンプ格納対象データリストに登録されたデータのアドレスに基づいて、メタデータを主記憶装置１３の格納領域に出力する。さらに、ダンプ出力処理部１２は、他のメタデータを格納する格納領域（カーネルメモリ）から他のメタデータを主記憶装置１３の格納領域に出力する。
【００４６】
ここで、上記登録依頼に基づくメモリダンプ格納対象データリストへの登録処理の一例について図３Ａから図３Ｃを用いて説明する。図３Ａはメモリダンプ格納対象データリストの登録前と登録後の状態の一例を示す図である。図３Ｂ及び図３Ｃはメモリダンプ格納対象データリストへの登録処理のフローの一例を示すフローチャートである。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる登録処理プログラムを実行する処理である。当該処理について以下で説明するが、より詳しい説明は省略する。
【００４７】
図３Ａに示すように、新規登録する前（登録前）のメモリダンプ格納対象データリスト（データリスト）３０ａには複数のエントリが登録されている。このときの登録前の空きエントリリスト３１ａも複数の空きエントリが登録されている。登録前の空きエントリリスト３１ａには新規に登録可能な空きエントリが示されている。各エントリの次エントリポインタには当該エントリに続く次のエントリのアドレスを示す値が設定され、前エントリポインタには当該エントリの前のエントリのアドレスを示す値が設定される。なお、登録前の空きエントリリスト３１ａに空きエントリが登録されていない場合には、処理部１７などが新規にカーネルメモリを獲得して空きエントリを作成する。
【００４８】
まず、処理部１７は、登録前の空きエントリリスト３１ａに空きエントリが登録されているか確認する。登録されている場合は、処理部１７は、登録前の空きエントリリスト３１ａの先頭に登録されている空きエントリ３２を登録前の空きエントリリスト３１ａから外し、登録前のメモリダンプ格納対象データリスト３０ａへ挿入する。登録前の空きエントリリスト３１ａに空きエントリが登録されていない場合は、処理部１７は新規にカーネルメモリを獲得して空きエントリを作成する。
【００４９】
このときの登録前のメモリダンプ格納対象データリスト３０ａ及び登録後のメモリダンプ格納対象データリスト３０ｂは、例えば、対象データのアドレスの小さいものから順番に登録するものとする。このことから、処理部１７は、登録前のメモリダンプ格納対象データリスト３０ａのポインタを張り替えて、新規登録するデータのアドレスより小さいエントリと大きいエントリの間に新規登録する空きエントリ３２を挿入する。挿入された空きエントリ３２は、登録後のメモリダンプ格納対象データリスト３０ｂに示すように新たなエントリ３３となる。登録前の空きエントリリスト３１ａから空きエントリ３２が外されたため、登録後の空きエントリリスト３１ｂは、登録前の空きエントリリスト３１ａよりも空きエントリが少なくなっている。
【００５０】
以下では、メモリダンプ格納対象データリストへの登録処理について図３Ｂ及び図３Ｃを用いて説明する。まず、処理部１７は、登録前の空きエントリリスト３１ａに空きエントリが登録されているか否かを判断する（ステップＳ３０１）。空きエントリが登録されていない場合（ステップＳ３０１でＮｏ）、処理部１７は、カーネルメモリを新規に獲得して空きエントリを作成する（ステップＳ３０２）。一方、空きエントリが登録されている場合（ステップＳ３０１でＹｅｓ）、ステップＳ３０３へ進む。
【００５１】
処理部１７は、空きエントリリスト３１ａの先頭の空きエントリの次エントリポインタの値を空きエントリリストのポインタとして設定する（ステップＳ３０３）。処理部１７は、新しく空きエントリリストの先頭になった空きエントリの前エントリポインタに、空きエントリリストから外した空きエントリの前エントリポインタの値を設定する（ステップＳ３０４）。処理部１７は、空きエントリリストから外した空きエントリに、新規登録するデータアドレス及びデータサイズを設定する（ステップＳ３０５）。
【００５２】
処理部１７は、メモリダンプ格納対象データリスト３０ａを読み込み（ステップＳ３０６）、該当のエントリが最初のエントリで、かつ、新規登録データの仮想アドレスが該当エントリの仮想アドレスより小さいか否かを判断する（ステップＳ３０７）。小さくない場合（ステップＳ３０７でＮｏ）、処理部１７は、新規登録データの仮想アドレスが該当エントリの仮想アドレスより大きいか否かを判断する（ステップＳ３０８）。大きくない場合（ステップＳ３０８でＮｏ）、処理部１７は、カレントポインタに次エントリへのポインタをセットする（ステップＳ３０９）。
【００５３】
一方、新規登録データの仮想アドレスが該当エントリの仮想アドレスより大きい場合（ステップＳ３０８でＹｅｓ）、すなわち新規登録データのエントリが該当エントリの下位に登録される場合、処理部１７は以下の処理を行う。
【００５４】
具体的には、処理部１７は、空きエントリリスト３１ａから外した空きエントリの次エントリポインタに、該当エントリの次エントリポイントに設定されている値をコピーする（ステップＳ３１０）。
【００５５】
さらに、処理部１７は、空きエントリリスト３１ａから外した空きエントリの前エントリポインタに、該当エントリの次エントリの前エントリポインタの値を設定する（ステップＳ３１１）。
【００５６】
さらに、処理部１７は、該当エントリの次エントリの前エントリポインタに、空きエントリリスト３１ａから外した空きエントリへのポインタを設定する（ステップＳ３１２）。
【００５７】
さらに、処理部１７は、該当エントリの次エントリポインタに、空きエントリリスト３１ａから外した空きエントリへのポインタを設定する（ステップＳ３１３）。
【００５８】
一方、該当エントリが最初のエントリで、かつ、新規登録データの仮想アドレスが該当エントリの仮想アドレスより小さい場合（ステップＳ３０７でＹｅｓ）、すなわち新規登録データのエントリが該当エントリの上位に登録される場合、処理部１７は以下の処理を行う。
【００５９】
具体的には、処理部１７は、空きエントリリスト３１ａから外した空きエントリの次エントリポインタに、メモリダンプ格納対象データリストへのポインタの値を設定する（ステップＳ３１４）。
【００６０】
さらに、処理部１７は、空きエントリリスト３１ａから外した空きエントリの前エントリポインタに、該当エントリの前エントリポインタの値を設定する（ステップＳ３１５）。
【００６１】
さらに、処理部１７は、該当エントリの前エントリの次エントリポインタに、空きエントリリスト３１ａから外した空きエントリへのポインタを設定する（ステップＳ３１６）。
【００６２】
さらに、処理部１７は、該当エントリの前エントリポインタに、空きエントリリスト３１ａから外した空きエントリへのポインタを設定する（ステップＳ３１７）。
【００６３】
また、上記削除依頼に基づくメモリダンプ格納対象データリストからの削除処理の一例について図３Ｄ及び図３Ｅを用いて説明する。図３Ｄはメモリダンプ格納対象データリストの削除前と削除後の状態の一例を示す図である。図３Ｅはメモリダンプ格納対象データリストからの削除処理のフローの一例を示すフローチャートである。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる削除処理プログラムを実行する処理である。当該処理について以下で説明するが、より詳しい説明は省略する。
【００６４】
図３Ｄに示すように、削除前のメモリダンプ格納対象データリスト（データリスト）３０ｃには複数のエントリが登録されている。削除前の空きエントリリスト３１ｃには複数の空きエントリが登録されている。
【００６５】
処理部１７は、メモリダンプ格納対象データリスト３０ｃのポインタを張り替えて、登録を削除するエントリ３４をデータリスト３０ｃから外す。外されたエントリ３４は、空きエントリリスト３１ｄの先頭に空きエントリ３５として登録される。削除後の空きエントリリスト３１ｄは、削除前の空きエントリリスト３１ｃよりも空きエントリが多くなり、空きエントリ３５は新規登録時に再利用される。
【００６６】
なお、Ｃメモリを解放する際には、獲得要求部１４がＣメモリの解放要求（ｃ_ｆｒｅｅ）をメモリ管理部１１に対して行う。処理部１７は、解放要求に基づいて、ページテーブルエントリのＣメモリフラグの設定を解除する。例えば、Ｃメモリフラグの設定をＯＦＦにする。なお、Ｍフラグが設定されている場合、処理部１７は、Ｃメモリの解放処理は行わず、エラーメッセージを獲得要求部１４へ返す。
【００６７】
以下では、メモリダンプ格納対象データリストからの削除処理について図３Ｅを用いて説明する。まず、処理部１７は、メモリダンプ格納対象データリスト３０ｃを読み込み（ステップＳ３２１）、該当のエントリが最終のエントリであるか否かを判断する（ステップＳ３２２）。最終エントリの場合（ステップＳ３２２でＹｅｓ）、削除対象がないため、エラーとなり（ステップＳ３２３）、削除処理は終了する。
【００６８】
一方、最終エントリではない場合（ステップＳ３２２でＮｏ）、処理部１７は、該当エントリのデータアドレスが、削除依頼されたアドレスと同じか否かを判断する（ステップＳ３２４）。同じでない場合（ステップＳ３２４でＮｏ）、処理部１７は、カレントポインタを次エントリへセットする（ステップＳ３２５）。
【００６９】
アドレスが同じである場合（ステップＳ３２４でＹｅｓ）、処理部１７は、該当エントリの前のエントリの次エントリポインタに、該当エントリの次エントリポインタの値を設定する（ステップＳ３２６）。
【００７０】
さらに、処理部１７は、該当エントリの次のエントリの前エントリポインタに、該当エントリの前エントリポインタの値を設定する（ステップＳ３２７）。
【００７１】
さらに、処理部１７は、該当エントリのデータアドレス及びデータサイズをクリアする（ステップＳ３２８）。
【００７２】
さらに、処理部１７は、該当エントリの次エントリポインタに、空きエントリリスト３１ｃへのポインタの値を設定する（ステップＳ３２９）。
【００７３】
さらに、処理部１７は、該当エントリの前エントリポインタに、空きエントリリスト３１ｃの先頭エントリの前エントリポインタの値を設定する（ステップＳ３３０）。
【００７４】
さらに、処理部１７は、空きエントリリスト３１ｃの先頭エントリの前エントリポインタに、該当エントリへのポインタを設定する（ステップＳ３３１）。
【００７５】
さらに、処理部１７は、空きエントリリスト３１ｄへのポインタに、該当エントリへのポインタを設定する（ステップＳ３３２）。
【００７６】
情報処理装置１の構成の説明に戻り、主記憶装置１３は、カーネルメモリ、Ｃメモリ、ユーザメモリの各データをページごとに格納する。また、主記憶装置１３は、上記ページテーブルやメモリダンプ格納対象データリストなどを格納してもよい。
【００７７】
次に、ファイルデータを外部から読み込む際における情報処理装置１のページテーブルエントリへのフラグ設定及びメモリダンプ格納対象データリストへの登録の処理について図４及び図５を用いて具体的に説明する。ここでは、外部記憶媒体４０からファイルデータ４２を読み込む際の情報処理装置１のページテーブルエントリへのフラグ設定及びメモリダンプ格納対象データリストへの登録の処理について説明する。
【００７８】
図４は、第１の実施形態の情報処理装置１がファイルデータ４２を読み込む際の構成要素間における指示やデータの流れの一例を示す図である。図５は、第１の実施形態の情報処理装置１におけるデータ読み込みの際のページテーブルエントリへのフラグ設定及びメモリダンプ格納対象データリストへの登録の処理の一例を示すシーケンス図である。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる登録処理プログラムを実行する処理である。
【００７９】
まず、ユーザプロセス４１は、外部記憶媒体４０からファイルデータ４２を読み込む場合、ファイルデータ４２のファイルデータ読み込みバッファを準備する（ステップＳ５０１）。ユーザプロセス４１は、ファイルデータ４２を読み込むためのファイルデータ読み込み要求ｒｅａｄ（ｆｄ、ｂｕｆ、ｓｉｚｅ）をファイルシステム管理部１０の獲得要求部１４へ送信する（ステップＳ５０２）。
【００８０】
ファイルデータ読み込み要求に含まれるパラメータのｆｉｌｅ ｄａｔａ（ｆｄ）は読み込み対象のファイルデータ４２を識別する情報を示し、ｂｕｆｆｅｒ（ｂｕｆ）は読み込みに必要なバッファ量を示し、ｓｉｚｅはファイルデータ４２のデータサイズを示す。なお、ファイルデータ読み込み要求のパラメータは上記に限定されるものではなく、例えば読み込み先の外部記憶媒体４０に関する情報を示すパラメータなどを含むものであってもよい。
【００８１】
獲得要求部１４は、ユーザプロセス４１から送信されたファイルデータ読み込み要求に基づいて、Ｃメモリの獲得要求をメモリ管理部１１に対して送信する（ステップＳ５０３）。獲得要求部１４は、獲得要求を送信する際、ユーザプロセス４１から受信したファイルデータ読み込み要求に含まれるｓｉｚｅの情報をＣメモリの獲得要求に含める。
【００８２】
メモリ管理部１１の取得部１６は、獲得要求部１４から送信されたＣメモリの獲得要求に含まれるメモリサイズに基づいて、メモリ空間上においてＣメモリを獲得する（ステップＳ５０４）。
【００８３】
メモリ管理部１１の処理部１７は、取得部１６によってＣメモリが獲得された後、獲得されたＣメモリに対応するページテーブルエントリにＣメモリフラグの設定を行う（ステップＳ５０５）。具体的には、例えばＣメモリフラグをＯＮと設定する。
【００８４】
Ｃメモリフラグが設定されると、ファイルシステム管理部１０の登録依頼部１５は、獲得されたＣメモリへファイルデータ４２を外部記憶媒体４０から読み込む（ステップＳ５０６）。なお、ファイルデータ４２の読み込みは、Ｃメモリの獲得後であれば、Ｃメモリフラグの設定の前であっても後であってもよい。
【００８５】
登録依頼部１５は、獲得されたＣメモリにファイルデータ４２を読み込んだ後、読み込んだファイルデータ４２にメタデータが含まれているか判断する（ステップＳ５０７）。含まれていると判断された場合（ステップＳ５０７でＹｅｓ）には、登録依頼部１５は、含まれているメタデータのアドレスとサイズの情報を含む登録依頼ｃ_ｅｘｃｅｐｔ_ｒｅｇ（ａｄｄｒ、ｓｉｚｅ）を処理部１７へ送信する（ステップＳ５０８）。すなわち、登録依頼部１５は、メモリダンプ格納対象データリストへの登録依頼を処理部１７へ送信（発行）する。一方、登録依頼部１５は、読み込んだファイルデータ４２にメタデータが含まれていない場合（ステップＳ５０７でＮｏ）には、ページテーブルエントリへのフラグ設定及びメモリダンプ格納対象データリストへの登録の処理フローは終了する。
【００８６】
処理部１７は、上記登録依頼に基づいて、メタデータのアドレスとサイズをメモリダンプ格納対象データリストへ登録する（ステップＳ５０９）。さらに、処理部１７は、メタデータが含まれるページ（Ｃメモリ）に対応するページテーブルエントリにＭフラグの設定を行う（ステップＳ５１０）。具体的には、例えばＭフラグをＯＮと設定する。Ｍフラグ設定の際、処理部１７は、対応するページテーブルエントリのページ（Ｃメモリ）のアドレスをページテーブルの仮想メモリアドレスに格納する。
【００８７】
なお、ユーザデータを使用するプログラムは、メタデータを除いたユーザデータの格納領域にアクセスする。すなわち、Ｍフラグが設定されたページテーブルエントリに対応するＣメモリのユーザデータが書き込まれた領域のみにアクセスする。ユーザからは仮想メモリ上のデータしか見えないため、ユーザデータは仮想メモリへマッピングし、メタデータなどのデータはユーザには見えない物理メモリにマッピングすることも可能である。
【００８８】
次に、ユーザデータを外部から書き込む際における情報処理装置１のページテーブルエントリへのフラグ設定及びデータ書き込みの処理について図６及び図７を用いて具体的に説明する。ここでは、外部記憶媒体６０へユーザデータ６２を書き込む際の情報処理装置１のページテーブルエントリへのフラグ設定及びデータ書き込みの処理について説明する。
【００８９】
図６は、第１の実施形態の情報処理装置１が外部記憶媒体６０へユーザデータ６２を書き込む際の構成要素間における指示やデータの流れの一例を示す図である。図７は、第１の実施形態の情報処理装置１におけるデータ書き込みの際のページテーブルエントリへのフラグ設定及びデータ書き込みの処理の一例を示すシーケンス図である。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる設定プログラムを実行する処理である。
【００９０】
ユーザプロセス６１から書き込み要求のあったユーザデータ６２は、Ｃメモリ６４に格納される。この際、メタデータ６５とユーザデータ６２のディスクＩ／Ｏをまとめて行うため、ユーザデータ６２を管理するメタデータ６５（カーネルメモリ６３上に存在）の内容を、ユーザデータ６２と同じブロック（Ｃメモリ６４上）にコピー（複写）してからＩ／Ｏ要求を行う。これにより、Ｉ／Ｏ回数増加によるオーバーヘッドが発生しない。なお、書き込み要求のためにＣメモリ６４上にコピーしたメタデータ６５は、カーネルメモリ６３上に存在しているため、メモリダンプ出力の対象となる。
【００９１】
一方、ディスクなどの外部記憶媒体６０に内容が書き込まれた後、Ｃメモリ６４上のメタデータ６５はユーザデータ６２と併せて破棄されるため、それぞれのデータはメモリダンプの対象とはならない。よって、メモリダンプ格納対象データリストへの登録依頼は行われず、さらにＭフラグの設定も行われない。すなわち、ユーザプロセス６１などの情報処理装置１の外部からユーザデータ６２の書き込み依頼があった場合で、且つＣメモリ６４に格納されるメタデータ６５が、メタデータ６５のみを格納するカーネルメモリ６３から複写されたメタデータである場合には、処理部１７は、データテーブルのデータテーブルエントリへのメタデータ６５の格納を示すフラグ（Ｍフラグ）の設定及びメモリダンプ格納対象データリストへの登録を中止する。
【００９２】
以下では、情報処理装置１におけるデータ書き込みの際のページテーブルエントリへのフラグ設定及びデータ書き込みの流れについてより詳細に説明する。
【００９３】
まず、ユーザプロセス６１は、外部記憶媒体６０にユーザデータ６２を書き込む場合、ユーザデータ６２の書き込みバッファを準備する（ステップＳ７０１）。ユーザプロセス６１は、ユーザデータ６２を書き込むための書き込み要求ｗｒｉｔｅ（ｆｄ、ｂｕｆ、ｓｉｚｅ）をファイルシステム管理部１０の獲得要求部１４へ送信する（ステップＳ７０２）。書き込み要求に含まれるパラメータｆｄは書き込み対象のユーザデータ６２を識別する情報を示し、ｂｕｆは必要なバッファ量を示し、ｓｉｚｅはユーザデータ６２のデータサイズを示す。なお、書き込み要求のパラメータは上記に限定されるものではなく、例えば書き込み先の外部記憶媒体６０に関する情報を示すパラメータなどを含むものであってもよい。
【００９４】
獲得要求部１４は、ユーザプロセス６１から送信された書き込み要求に基づいて、Ｃメモリの獲得要求をメモリ管理部１１に対して送信する（ステップＳ７０３）。このとき、獲得要求部１４は、カーネルメモリ６３に格納されたメタデータ６５のコピーを、獲得するＣメモリ６４に格納するため、メタデータ６５の分を加算したデータサイズをＣメモリ６４の獲得要求に含める。
【００９５】
メモリ管理部１１の取得部１６は、獲得要求部１４から送信されたＣメモリ６４の獲得要求に含まれるデータサイズに基づいて、メモリ空間上においてＣメモリ６４を獲得する（ステップＳ７０４）。
【００９６】
メモリ管理部１１の処理部１７は、取得部１６によってＣメモリ６４が獲得された後、獲得されたＣメモリ６４に対応するページテーブルエントリにＣメモリフラグの設定を行う（ステップＳ７０５）。具体的には、例えばＣメモリフラグをＯＮと設定する。
【００９７】
Ｃメモリフラグが設定されると、ファイルシステム管理部１０の登録依頼部１５は、ユーザデータ６２を管理するメタデータ６５を獲得されたＣメモリ６４にコピーする（ステップＳ７０６）。さらに、登録依頼部１５は、書き込み要求のあったユーザデータ６２をＣメモリ６４に格納する（ステップＳ７０７）。なお、ステップＳ７０６の処理とステップＳ７０７の処理は、順番を入れ替えて行うことも可能である。
【００９８】
登録依頼部１５は、書き込み要求を行ったユーザプロセス６１に対して書き込み処理が正常に終了した旨を通知する（ステップＳ７０８）とともに、Ｃメモリ６４に格納されたデータの書き込み依頼を外部記憶媒体６０へ通知する（ステップＳ７０９）。登録依頼部１５は、外部記憶媒体６０にデータが書き込まれた後、Ｃメモリ６４のデータ６５及びユーザデータ６２を破棄する。これにより、ユーザデータ６２はメモリダンプの対象とならないが、メタデータ６５はカーネルメモリ６３上に存在しているため、メモリダンプ出力の対象となる。
【００９９】
次に、第１の実施形態の情報処理装置１におけるメモリダンプ出力処理について図８、図９Ａ、図９Ｂを用いて具体的に説明する。図８は、第１の実施形態の情報処理装置１のダンプ出力処理部１２によるメモリダンプ機能の起動時の処理（メモリダンプ出力処理）を具体的に説明するための図である。図９Ａ及び図９Ｂは、第１の実施形態の情報処理装置１におけるメモリダンプ出力処理のフローの一例を示すフローチャートである。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれるメモリダンプ出力プログラムを実行する処理である。
【０１００】
メモリダンプ出力処理では、情報処理装置１は、まずページテーブル８０の各ページテーブルエントリを参照する。参照の結果、カーネルメモリフラグがＯＮに設定されているページテーブルエントリに対応するカーネルメモリ８４については、ページの内容がそのままメモリダンプファイル８３に出力される。このとき、情報処理装置１は、メモリダンプファイル８３内での管理用にページテーブル８０をコピーして、メモリダンプファイル８３内のデータを追えるようにポインタを貼り直す。
【０１０１】
その後、情報処理装置１は、メモリダンプ格納対象データリスト８２を参照し、登録されているデータの内容（Ｃメモリ８１のページ内に含まれるデータの内容）をメモリダンプファイル８３へ出力する。このとき、情報処理装置１は、メモリダンプ格納対象データリスト８２もコピーしてメモリダンプファイル８３内のデータを追えるようにポインタを貼り直す。これにより、メモリダンプファイル８３にはユーザデータは含まれず、かつ障害調査に有益なデータは洩らさず含めることができる。
【０１０２】
図８に示すメモリダンプ格納対象データリスト８２の最上段のエントリは、ページテーブル８０においてＭフラグが設定されているページテーブルエントリ以外の不図示のＭフラグが設定されているページテーブルエントリに対応する情報である。最上段のエントリに該当する不図示のＣメモリのデータ内容もメモリダンプファイル８３へ出力される。
【０１０３】
また、図８に示すページテーブル８０の最下段のページテーブルエントリに対応するＣメモリ８５にはユーザデータのみが格納されている。そのため、これらのユーザデータはメモリダンプ出力の対象ではなく、メモリダンプファイル８３へ出力されない。
【０１０４】
以下では、情報処理装置１におけるメモリダンプ出力処理のフローについて図９Ａ及び図９Ｂを用いて詳細に説明する。
【０１０５】
ある重大な障害が発生するとメモリダンプ機能が起動され、ダンプ出力処理部１２は、まずページテーブル８０をメモリにコピーする（ステップＳ９０１）。その際、ダンプ出力処理部１２は、カレントポインタをメモリにコピーしたページテーブル８０の先頭のページテーブルエントリにセットする（ステップＳ９０２）。
【０１０６】
ダンプ出力処理部１２は、カレントポインタがセットされたページテーブルエントリが最終のページテーブルエントリであるか否か判断する（ステップＳ９０３）。最終でない場合（ステップＳ９０３でＮｏ）、ダンプ出力処理部１２は、カーネルメモリフラグがＯＮに設定されているか否かを判断する（ステップＳ９０４）。ＯＮに設定されていない場合（ステップＳ９０４でＮｏ）、ステップ９０７へ進む。
【０１０７】
一方、ＯＮに設定されている場合（ステップＳ９０４でＹｅｓ）、ダンプ出力処理部１２は、該当のページテーブルエントリの仮想メモリアドレスが示すカーネルメモリ（メモリページ）８４の内容をメモリダンプファイル８３へ出力する（ステップＳ９０５）。さらに、ダンプ出力処理部１２は、メモリにコピーしたページテーブル８０の仮想メモリアドレスを、メモリページの内容を出力したメモリダンプファイル８３のオフセットに書き換える（ステップＳ９０６）。ダンプ出力処理部１２は、カレントポインタを次のページテーブルエントリにセットし（ステップＳ９０７）、ステップＳ９０３に戻る。
【０１０８】
一方、ステップ９０３において、ページテーブルエントリが最終のページテーブルエントリである場合（ステップＳ９０３でＹｅｓ）、ダンプ出力処理部１２は、メモリダンプ格納対象データリスト８２をメモリにコピーする（ステップＳ９０８）。ダンプ出力処理部１２は、カレントポインタをメモリにコピーしたメモリダンプ格納対象データリスト８２の先頭のエントリにセットする（ステップＳ９０９）。
【０１０９】
ダンプ出力処理部１２は、カレントポインタが指しているエントリが最終エントリであるか否かを判断する（ステップＳ９１０）。最終エントリでない場合（ステップＳ９１０でＮｏ）、ダンプ出力処理部１２は、該当のエントリが示すデータアドレスにより特定されるデータの内容をメモリダンプファイル８３へ出力する（ステップＳ９１１）。すなわち、ダンプ出力処理部１２は、Ｍフラグが設定されたページテーブルエントリに対応するＣメモリに格納されたメモリダンプ格納対象データをメモリダンプファイル８３へ出力する。
【０１１０】
ダンプ出力処理部１２は、該当のエントリが示すデータを含むＣメモリの仮想メモリアドレス（メモリにコピーしたページテーブル８０のページテーブルエントリの仮想メモリアドレス）に、既に他のエントリへのポインタが設定されているか判断する（ステップＳ９１２）。設定されている場合（ステップＳ９１２でＹｅｓ）、ダンプ出力処理部１２は、メモリにコピーしたページテーブル８０のページテーブルエントリの仮想メモリアドレスからポイントされているエントリのデータリストを辿る。そして、末尾に該当エントリを挿入し、次のエントリにＮＵＬＬ設定をする（ステップＳ９１３）。設定後、ダンプ出力処理部１２は、カレントポインタを次のエントリにセットする（ステップ９１５）。
【０１１１】
一方、ステップＳ９１２において、設定されていない場合（ステップＳ９１２でＮｏ）、ダンプ出力処理部１２は、メモリにコピーしたページテーブル８０のページテーブルエントリの仮想メモリアドレスに該当エントリへのポインタを設定し、次のエントリにＮＵＬＬ設定をする（ステップＳ９１４）。設定後、ダンプ出力処理部１２は、カレントポインタを次のエントリにセットする（ステップ９１５）。
【０１１２】
一方、ステップＳ９１０において、最終エントリである場合（ステップＳ９１０でＹｅｓ）、ダンプ出力処理部１２は、メモリにコピーしたページテーブル８０、メモリダンプ格納対象データリスト８２をメモリダンプファイル８３へ出力する（ステップＳ９１６）。これにより、メモリダンプファイル８３内のデータを追うことが可能となる。
【０１１３】
以下では、具体的なケースを例にとってメモリダンプ出力処理について図１０を用いて説明する。ページテーブル１００には７つのページテーブルエントリが存在する。上から数えて１、２、４段目のページテーブルエントリにはＫフラグが設定されている。３段目のページテーブルエントリにはＣメモリフラグが設定されている。５段目及び７段目のページテーブルエントリにはＣメモリフラグ及びＭフラグが設定されている。６段目のページテーブルエントリにはフラグが設定されていない。
【０１１４】
各ページテーブルエントリの仮想メモリアドレスの欄に示されるアルファベットは、仮想メモリアドレスを示すものとし、メモリ空間上に配列されるメモリページの仮想メモリイメージ１０２に示されるアルファベットに対応している。このことから、仮想メモリイメージ１０２に示されるアルファベットは、ページテーブルエントリに対応するメモリページのアドレスを示している。
【０１１５】
Ｍフラグが設定されているページテーブルエントリに対応するメモリダンプ格納対象データリスト１０１には、４つのエントリが示されている。例えば、１段目から３段目のエントリはページテーブル１００の５段目のページテーブルエントリに対応するエントリであり、４段目のエントリはページテーブル１００の７段目のページテーブルエントリに対応するエントリである。
【０１１６】
メモリダンプ格納対象データリスト１０１のデータアドレスに示されるアルファベットは、データのアドレスを示し、仮想メモリイメージ１０２に示されるアルファベットに対応している。
【０１１７】
上記ページテーブルエントリに対応するメモリページは、仮想メモリイメージ１０２に示されるように、ページテーブル１００のページテーブルエントリ順にメモリ空間上において格納されている。仮想メモリイメージ１０２には、ページテーブル１００の１段目、２段目、４段目のページテーブルエントリそれぞれに対応するカーネルメモリのページ１０２ａ、１０２ｂ、１０２ｄが示されている。
【０１１８】
また、仮想メモリイメージ１０２には、ページテーブル１００の３段目のページテーブルエントリに対応するＣメモリのページ１０２ｃがカーネルメモリのページ１０２ｂとページ１０２ｄの間に示されている。また、仮想メモリイメージ１０２には、ページテーブル１００の５段目及び７段目のページテーブルエントリそれぞれに対応するＭフラグが設定されているＣメモリのページ１０２ｅ、１０２ｇが示されている。また、仮想メモリイメージ１０２には、ページテーブル１００の６段目のページテーブルエントリに対応するユーザメモリのページ１０２ｆがＣメモリのページ１０２ｅとページ１０２ｇの間に示されている。
【０１１９】
ページ１０２ｃ、ページ１０２ｅから１０２ｇには、個人情報が含まれている。ここでの個人情報とはユーザに関する情報であって、例えばマイナンバーなどの情報であり、メモリダンプの対象データではない。また、個人情報が含まれるページ１０２ｅ及びページ１０２ｇには、メモリダンプ格納対象データも含まれており、それぞれのデータにはデータのアドレス（アルファベットＨ、Ｉ、Ｊ、Ｌ）が付されている。
【０１２０】
上記状況において重大な障害が発生すると、ダンプ出力処理部１２は、ページテーブル１００を参照し、カーネルメモリであることを示すカーネルメモリフラグがＯＮに設定されているページテーブルエントリに該当するページの内容をメモリダンプファイル１０３へ出力する。さらに、ダンプ出力処理部１２は、メモリダンプ格納対象データリスト１０１を参照し、登録されているデータの内容をメモリダンプファイル１０３へ出力する。
【０１２１】
上記の場合、カーネルメモリのページ１０２ａ、１０２ｂ、１０２ｄの内容がメモリダンプファイル１０３へ出力される。また、Ｃメモリのページ１０２ｅのメモリダンプ格納対象データ（データのアドレスがそれぞれＨ、Ｉ、Ｊ）と、Ｃメモリのページ１０２ｇのメモリダンプ格納対象データ（データのアドレスがＬ）がメモリダンプファイル１０３へ出力される。しかし、Ｍフラグが設定されたＣメモリページ１０２ｅ、１０２ｇの個人情報はメモリダンプファイル１０３へ出力されない。また、Ｃメモリページ１０２ｃの個人情報及びユーザメモリページ１０２ｆの個人情報もメモリダンプの対象データではないため、メモリダンプファイル１０３へ出力されない。
【０１２２】
次に、第２の実施形態における情報処理装置１１０について説明する。第２の実施形態における情報処理装置１１０は、上述した第１の実施形態の情報処理装置１と同様の構成を有するとともに、以下で説明する構成、すなわち制御部１１１を更に有する。
【０１２３】
第２の実施形態の情報処理装置１１０は、図１１に示すように、第１の実施形態の情報処理装置１が有する構成以外に、仮想メモリイメージを視覚可能にした調査ツール画像の表示を行う制御部１１１を更に有する。制御部１１１は、ユーザによるメモリダンプ調査ツールの利用指示に基づいて、ユーザデータとメモリダンプ格納対象データのメモリ空間における格納状況（仮想メモリイメージ）を視覚可能にした調査ツール画像を表示させる。メモリダンプ調査ツールとは、例えば、情報処理装置１１０のベンダや保守サービス会社の担当者による障害調査の際に利用されるものである。メモリダンプ調査ツールの利用によってメモリダンプ機能の起動時に採取されたメモリダンプ格納対象データの内容が表示されるため、障害調査を行う担当者は障害の原因などを特定することが可能となる。
【０１２４】
具体的には、制御部１１１は、メモリ空間におけるユーザデータとメモリダンプ格納対象データの格納位置に対応付け、出力されたメモリダンプ格納対象データと、ユーザデータに代わる代替情報とを不図示のディスプレイなどに表示させる。すなわち、制御部１１１は、ユーザデータの格納位置に対応付け、出力されたメモリダンプ格納対象データを対応付けられたメモリダンプ格納対象データの格納位置に表示し、ユーザデータに代わる代替情報を対応付けられたユーザデータの格納位置に表示する。
ユーザデータに代わる代替情報とは、ユーザデータの代わりに表示される情報であって、表示されても個人情報の漏えいとならない情報（例えば図１２に示す“ｄｅａｄｆａｃｅ”という文字情報）である。ユーザデータに代わる情報は、文字情報に限られるものではなく、画像情報などであってもよい。図１１に示す制御部１１１以外の構成については第１の実施形態と同様であるため、ここでの説明は省略する。
【０１２５】
以下では、第２の実施形態における情報処理装置１１０におけるメモリダンプ調査ツールを用いた調査ツール画像の表示処理の一例について図１２及び図１３を用いて説明する。図１２は仮想メモリイメージ及び表示される調査ツール画像を示す図である。図１３は、調査ツール画像の表示処理のフローの一例を示すフローチャートである。この処理は、例えばＣＰＵ１４１がＨＤＤ１４２などに記憶されたＯＳに含まれる表示処理プログラムを実行する処理である。
【０１２６】
制御部１１１は、不図示の受付部によるメモリダンプ調査ツールの利用指示の受付に基づいて、メモリダンプファイル１２３に格納されているカーネルメモリのページ内容及びＣメモリのページ上のメモリダンプ格納対象データをアドレス情報とともに取得する（ステップＳ１３０１）。制御部１１１は、取得したアドレス情報に対応付けて、取得したカーネルメモリのページ内容と、Ｃメモリのページ上のメモリダンプ格納対象データとを含む調査ツール画像１２１を不図示の表示部（ディスプレイ）に表示する（ステップＳ１３０２）。ここでの表示部は、情報処理装置１１０に搭載されたものであっても、情報処理装置１１０に接続可能なものであってもよい。
【０１２７】
さらに、制御部１１１は、メモリダンプ格納対象データではないデータ（ユーザデータなど）のアドレス情報をページテーブルに基づいて取得する（ステップＳ１３０３）。制御部１１１は、取得したアドレス情報に対応付けてメモリダンプ格納対象データではないデータに代わる代替情報（この例ではｄｅａｄｆａｃｅ）を調査ツール画像１２１に表示する（ステップＳ１３０４）。これにより、ユーザデータの漏えいを防止できるとともに、障害調査を行うことが可能となる。
【０１２８】
また、制御部１１１は、調査ツール画像１２１の各ページの脇の先頭部分にメモリ空間におけるアドレスを表示させるようにしてもよい。図１２に示す例では、アドレスはアルファベットになっている。
【０１２９】
次に、各実施形態における情報処理装置を実現するためのハードウェア構成の一例について図１４を用いて説明する。ハードウェア構成は、例えば、ＣＰＵ１４１、ＨＤＤ１４２、Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ（ＲＡＭ）１４３、Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ（ＲＯＭ）１４４、グラフィック処理装置１４５、入力インタフェース（入力Ｉｎｔｅｒｆａｃｅ（Ｉ／Ｆ））１４６、通信インタフェース（通信Ｉｎｔｅｒｆａｃｅ（Ｉ／Ｆ））１４７、バス１４８を備えている。
【０１３０】
ＣＰＵ１４１は、バス１４８を介して、ＨＤＤ１４２などに格納される情報処理装置の各種処理を行うためのプログラム（例えば、情報処理プログラムなど）を読み込む。ＣＰＵ１４１は、読み込んだプログラムをＲＡＭ１４３に一時的に格納し、そのプログラムにしたがって上述した各種処理を行う。
【０１３１】
ＨＤＤ１４２には、情報処理装置の各種処理を行うためのアプリケーションプログラムや、情報処理装置の処理に必要なデータなどが格納される。
【０１３２】
ＲＡＭ１４３は、揮発性メモリであって、ＣＰＵ１４１に実行させるためのＯＳプログラムやアプリケーションプログラムの一部が一時的に格納される。また、ＲＡＭ１４３には、ＣＰＵ１４１による処理に必要な各種データが格納される。
【０１３３】
ＲＯＭ１４４は、不揮発性メモリであって、ブートプログラムやＢａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ（ＢＩＯＳ）などのプログラムを記憶する。
【０１３４】
グラフィック処理装置１４５は、不図示のディスプレイに表示させる情報（例えば、上記調査ツール画像）を生成するものである。
【０１３５】
入力インタフェース１４６は、不図示のキーボードやマウスなどを介して入力される情報（例えば、上記メモリダンプ調査ツールの利用指示）を受け付けるものである。
【０１３６】
通信インタフェース１４７は、外部（ディスプレイなど）とネットワークを介してデータの送受信を行うものである。
【０１３７】
バス１４８は、各装置間の制御信号、データ信号などの授受を媒介する経路である。
【０１３８】
上述した実施形態では、情報処理装置の主な処理をＣＰＵによるソフトウェア処理によって実行するものとして説明したが、この処理の全部又は一部をハードウェアによって実現するようにしてもよい。
【０１３９】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置の制御方法において、
前記情報処理装置が有する処理部が、前記演算処理装置が前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択し、
前記情報処理装置が有する出力部が、選択された前記対象データを出力する、
情報処理装置の制御方法。
（付記２）前記処理部が、前記対象データの格納を示す対象データ格納情報を、前記格納領域に設定するとともに、格納される前記対象データのアドレスとサイズを前記主記憶装置に格納された対象データリストに登録する付記１に記載の情報処理装置の制御方法。
（付記３）前記出力部が、前記対象データリストに登録されたアドレスに基づいて、前記対象データを記主記憶装置の格納領域に出力するとともに、他の対象データを格納する他の格納領域から前記他の対象データを前記主記憶装置の格納領域に出力する付記２に記載の情報処理装置の制御方法。
（付記４）前記処理部が、前記対象データを前記主記憶装置に格納する場合、入出力の対象であるユーザデータの格納を示すユーザデータ格納情報を前記格納領域に設定する付記２又は３に記載の情報処理装置の制御方法。
（付記５）前記情報処理装置が有する依頼部が、
前記ユーザデータが前記情報処理装置の外部からの読み込みデータである場合、前記ユーザデータに前記対象データが付加されているかを判断し、付加されている場合、前記処理部に対して、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録の依頼を発行し、
前記処理部が、発行された前記依頼に基づいて、前記対象データ格納情報の設定及び前記対象データリストへの登録を行う付記４に記載の情報処理装置の制御方法。
（付記６）発行される前記依頼が、前記対象データのアドレスとサイズの情報を含む付記５に記載の情報処理装置の制御方法。
（付記７）前記ユーザデータが前記情報処理装置の外部からの書き込みデータであり、且つ、前記格納領域に格納される前記対象データが、他の対象データのみを格納する他の格納領域から前記他の対象データが複写された対象データである場合、前記処理部が、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録を中止する付記４に記載の情報処理装置の制御方法。
（付記８）前記情報処理装置が有する取得部が、前記格納領域を取得要求に基づいて取得し、
前記情報処理装置が有する要求部が、前記格納領域を取得する際、前記取得部に対して前記取得要求を発行する付記１乃至７のいずれか一項に記載の情報処理装置の制御方法。
（付記９）前記ユーザデータと前記対象データの前記格納領域における格納状況を表示させる場合、前記ユーザデータの格納位置に対応付け、出力された前記対象データを対応付けられた前記対象データの格納位置に表示させるとともに、前記ユーザデータに代わる代替情報を対応付けられた前記ユーザデータの格納位置に表示させる付記４乃至８のいずれか一項に記載の情報処理装置の制御方法。
（付記１０）前記ユーザデータを使用するプログラムが、前記対象データを除いた前記ユーザデータの格納領域にアクセスする付記４乃至９のいずれか一項に記載の情報処理装置の制御方法。
（付記１１）メモリダンプを実行する演算処理装置と、前記演算処理装置に接続される主記憶装置を有する情報処理装置の制御プログラムにおいて、
前記演算処理装置が、
前記メモリダンプを実行後にメモリダンプ対象となる対象データを前記主記憶装置の格納領域に格納する場合、前記対象データのみを選択し、
選択された前記対象データを出力する情報処理装置の制御プログラム。
（付記１２）前記演算処理装置が、前記対象データの格納を示す対象データ格納情報を、前記格納領域に設定するとともに、格納される前記対象データのアドレスとサイズを前記主記憶装置に格納された対象データリストに登録する付記１１に記載の情報処理装置の制御プログラム。
（付記１３）前記演算処理装置が、前記対象データリストに登録されたアドレスに基づいて、前記対象データを記主記憶装置の格納領域に出力するとともに、他の対象データを格納する他の格納領域から前記他の対象データを前記主記憶装置の格納領域に出力する付記１２に記載の情報処理装置の制御プログラム。
（付記１４）前記演算処理装置が、前記対象データを前記主記憶装置に格納する場合、入出力の対象であるユーザデータの格納を示すユーザデータ格納情報を前記格納領域に設定する付記１２又は１３に記載の情報処理装置の制御プログラム。
（付記１５）前記演算処理装置が、
前記ユーザデータが前記情報処理装置の外部からの読み込みデータである場合、前記ユーザデータに前記対象データが付加されているかを判断し、付加されている場合、前記処理部に対して、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録の依頼を発行し、
前記演算処理装置が、発行された前記依頼に基づいて、前記対象データ格納情報の設定及び前記対象データリストへの登録を行う付記１４に記載の情報処理装置の制御プログラム。
（付記１６）発行される前記依頼が、前記対象データのアドレスとサイズの情報を含む付記１５に記載の情報処理装置の制御プログラム。
（付記１７）前記ユーザデータが前記情報処理装置の外部からの書き込みデータであり、且つ、前記格納領域に格納される前記対象データが、他の対象データのみを格納する他の格納領域から前記他の対象データが複写された対象データである場合、前記処理部が、前記対象データの格納を示す対象データ格納情報の設定及び前記対象データリストへの登録を中止する付記１４に記載の情報処理装置の制御プログラム。
（付記１８）前記演算処理装置が、前記格納領域を取得要求に基づいて取得し、
前記演算処理装置が、前記格納領域を取得する際、前記取得部に対して前記取得要求を発行する付記１１乃至１７のいずれか一項に記載の情報処理装置の制御プログラム。
（付記１９）前記ユーザデータと前記対象データの前記格納領域における格納状況を表示させる場合、前記ユーザデータの格納位置に対応付け、出力された前記対象データを対応付けられた前記対象データの格納位置に表示させるとともに、前記ユーザデータに代わる代替情報を対応付けられた前記ユーザデータの格納位置に表示させる付記１４乃至１８のいずれか一項に記載の情報処理装置の制御プログラム。
（付記２０）前記ユーザデータを使用するプログラムが、前記対象データを除いた前記ユーザデータの格納領域にアクセスする付記１４乃至１９のいずれか一項に記載の情報処理装置の制御プログラム。
【符号の説明】
【０１４０】
１、１１０  情報処理装置
２  演算処理装置
１０  ファイルシステム管理部
１１  メモリ管理部
１２  ダンプ出力処理部
１３  主記憶装置
１４  獲得要求部
１５  登録依頼部
１６  取得部
１７  処理部
２０  ページテーブルエントリ
２０ａ  フラグの領域（フラグ域）
２０ｂ  仮想メモリアドレスの領域
２０ｃ  物理メモリアドレスの領域
２１  ページテーブル
２３  メモリ上のページテーブルエントリ
２４  メモリダンプにコピーされたページテーブルエントリ
３０ａ  登録前のメモリダンプ格納対象データリスト
３０ｂ  登録後のメモリダンプ格納対象データリスト
３０ｃ  削除前のメモリダンプ格納対象データリスト
３０ｄ  削除後のメモリダンプ格納対象データリスト
３１ａ  登録前の空きエントリリスト
３１ｂ  登録後の空きエントリリスト
３１ｃ  削除前の空きエントリリスト
３１ｄ  削除後の空きエントリリスト
３２  空きエントリ
３３  新たなエントリ
３４  削除対象のエントリ
３５  空きエントリ
４０、２０４  外部記憶媒体
４１、６１  ユーザプロセス
４２  ファイルデータ
６２、２００、２０６、２１４、２２２  ユーザデータ
６３  カーネルメモリ
６４、８１  Ｃメモリ
６５、２０２、２０８、２１２、２２０  メタデータ
８０、１００、２２１  ページテーブル
８２、１０１  メモリダンプ格納対象データリスト
８３、１０３、１２３  メモリダンプファイル
８４、２０３、２１１  カーネルメモリ
８５、２０１  ユーザメモリ
１０２  仮想メモリイメージ
１０２ａ、１０２ｂ、１０２ｄ  カーネルメモリのページ
１０２ｃ、１０２ｅ、１０２ｇ  Ｃメモリのページ
１０２ｆ  ユーザメモリのページ
１１１  制御部
１２１  調査ツール画像
１４１  ＣＰＵ
１４２  ＨＤＤ
１４３  ＲＡＭ
１４４  ＲＯＭ
１４５  グラフィック処理装置
１４６  入力インタフェース（Ｉ／Ｆ）
１４７  通信インタフェース（Ｉ／Ｆ）
１４８  バス
２０５  ページキャッシュ
２１０、２２４  外部記憶装置
２２３  カーネルメモリフラグ
【図１】
2018120297.tif 000003
【図１Ａ】
2018120297.tif 000004
【図２Ａ】
2018120297.tif 000005
【図２Ｂ】
2018120297.tif 000006
【図３Ａ】
2018120297.tif 000007
【図３Ｂ】
2018120297.tif 000008
【図３Ｃ】
2018120297.tif 000009
【図３Ｄ】
2018120297.tif 000010
【図３Ｅ】
2018120297.tif 000011
【図４】
2018120297.tif 000012
【図５】
2018120297.tif 000013
【図６】
2018120297.tif 000014
【図７】
2018120297.tif 000015
【図８】
2018120297.tif 000016
【図９Ａ】
2018120297.tif 000017
【図９Ｂ】
2018120297.tif 000018
【図１０】
2018120297.tif 000019
【図１１】
2018120297.tif 000020
【図１２】
2018120297.tif 000021
【図１３】
2018120297.tif 000022
【図１４】
2018120297.tif 000023
【図１５】
2018120297.tif 000024
【図１６】
2018120297.tif 000025
【図１７】
2018120297.tif 000026