(57)【特許請求の範囲】
【請求項１】
メモリと補助記憶装置と前記メモリと前記補助記憶装置を制御する制御手段とを有する計算機システムのダンプ処理方法であって、
前記計算機システムは、前記制御手段がユーザにメモリを割当てるメモリ管理情報に基づいて分割した複数の領域のメモリ内容を補助記憶装置に保存するダンプ保存手段と、前記補助記憶装置に保存したメモリ内容をファイルに変換するダンプファイル生成手段と、メモリのアドレスまたはメモリ量によりメモリを複数の領域に分割する数値を示すメモリ構成情報に基づいてメモリを初期化するメモリ初期化手段と、前記ダンプ保存手段が補助記憶装置にメモリ内容を保存する際に、メモリ内容を保存する格納場所を示すダンプ領域管理手段とを備え、
前記制御手段が当該計算機システムの障害を検出した場合に、前記ダンプ保存手段は、前記メモリ管理情報及びダンプ取得範囲指定情報に基づいて分割した第１番目の領域のメモリ内容を補助記憶装置の前記ダンプ領域管理手段が示す格納場所に保存し、前記制御手段は前記ダンプ保存手段が保存した領域のメモリ量を前記メモリ構成情報に実メモリ量として設定すると共に前記メモリ初期化手段により前記第１番目の領域のメモリを初期化して前記計算機システムを再起動し、前記制御手段が前記計算機システムの再起動を完了した後に、前記ダンプ保存手段で保存した第１番目の領域を補助記憶装置から読み出し、前記ダンプファイル生成手段が読み出したメモリ領域をファイルに変換し、前記メモリ管理情報に基づいて分割した第２番目以降の領域を補助記憶装置の前記ダンプ領域管理手段が示す格納場所に保存し、第２番目以降の領域を補助記憶装置からファイルに変換することを特徴とする計算機システムのダンプ処理方法。
【請求項２】
前記ダンプ領域管理手段はダンプ格納領域の場所を示す値を有するエントリを少なくとも２つ保持していることを特徴とする請求項１に記載の計算機システムのダンプ処理方法。
【請求項３】
前記制御手段は仮想記憶制御機能を有することを特徴とする請求項１または２のいずれかに記載の計算機システムのダンプ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、障害が発生した計算機システムの障害情報の取得、及び障害が発生した計算機システムの再起動に関する。
【０００２】
【従来の技術】
従来、オペレーティングシステムはシステム動作中にデータの整合性等をチェックしており、何らかの障害によりデータの不整合が発生した場合、計算機システムを緊急停止するためにパニック処理を実行する。
【０００３】
パニック処理では、システム管理者が後で障害の原因を突き止めることができるように、障害発生時のメモリ内容をハードディスク等の補助記憶装置に保存する。メモリ内容を補助記憶装置に保存する処理はダンプ処理と呼ばれており、ダンプ処理終了後、計算機システムは再起動される。
【０００４】
ダンプ処理では、計算機システムのすべてのメモリをダンプする場合（全ダンプ）と、一部分のメモリをダンプする場合がある。メモリを全ダンプする場合には、一部分のメモリをダンプする場合と比較して、ダンプ処理に要する時間が長い。ダンプ処理時間を短縮するために、一部分のメモリを選択し、選択したメモリのみをダンプする技術については、特開昭６４―２５２５５号公報に記載されている。
【０００５】
システム再起動処理では、ハードディスク等の補助記憶装置に保存したメモリ内容を、システム管理者等が障害原因を解析可能なファイル形式に変換する。補助記憶装置の使用容量を節約するために、ファイル形式変換時にファイルの圧縮処理を実行する場合もある。
【０００６】
計算機システムで障害が発生した後、計算機システムを再起動するまでの一連の処理は、「Ｐａｎｉｃ！  ＵＮＩＸシステムクラッシュの追跡と対策」（１９９７）、ＩＳＢＮ４−７５６１−１９１２−３の第２７ページから第３３ページに記載されている。
【０００７】
【発明が解決しようとする課題】
近年、計算機システムに搭載するメモリ量が増加し、計算機システムで障害が発生してから再起動するまでに必要な時間が増加している。
【０００８】
先に述べたように、一部分のメモリを選択してダンプすることで、全ダンプする場合と比較して、ダンプする必要のあるメモリ量は少ない。しかし、障害発生時のメモリ内容を解析する前に、障害に関連するメモリ範囲を特定するのは困難な場合がある。さらに、一部分のメモリを選択してダンプしても、選択したメモリをすべてダンプ完了するまで再起動処理を実行できない。
【０００９】
また、先に述べたように、補助記憶装置の使用容量を節約するため、再起動時にファイル圧縮処理を実行する場合には、再起動に必要な時間がさらに増大する。計算機システムで障害が発生してから再起動を終了するまでの間、計算機システムはサービスをユーザに提供できない。そのため、ある一定期間における計算機システムの稼動時間は減少し、利用効率が下がるという課題があった。
【００１０】
本発明の目的は、計算機システムで障害が発生してから再起動を終了するまでの時間を短縮し、計算機システムの稼働率を向上すると共に、障害原因の分析に必要なメモリ内容をシステム管理者等に提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するために本発明は、初期化するメモリの領域を指定するアドレスまたはメモリ量を示すメモリ範囲指定情報およびメモリのアドレスまたはメモリ量によりメモリを複数の領域に分割する数値を示すメモリ構成情報を有し、ダンプ取得範囲指定手段が１回目のダンプ処理で保存するメモリ範囲を指定し、ダンプ取得手段が該ダンプ取得範囲指定手段で指定された範囲のメモリ内容を該ダンプ格納領域に保存し、さらに、ダンプファイル生成手段は、該ダンプ格納領域に保存したメモリ内容をファイルに変換する。そして、計算機システムで障害が発生した場合に、該ダンプ取得手段が該ダンプ取得範囲指定手段で指定されるメモリ範囲の内容を該ダンプ格納領域に保存し、計算機システムを再起動する時は、障害発生時に保存したメモリ範囲のみを初期化し、該ダンプファイル生成手段が該ダンプ格納領域の内容をファイルに変換し、計算機システムの再起動が完了した後、障害発生時に保存しなかったメモリ内容を該ダンプ格納領域に保存すると共に、該ダンプ格納領域の内容をファイルに変換する。
【００１２】
【発明の実施の形態】
本発明における実施例を説明する。
【００１３】
図１は、本発明の一実施例を示す計算機システムのブロック図である。本図において、計算機システム１２４は、プログラム命令列やデータを永続的に格納するための磁気ディスク等の補助記憶装置１１１、プログラム命令列やデータを永続的に格納するためのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）等の不揮発性メモリ１０１、プログラム命令列やデータを格納するためのメモリ１０７、不揮発性メモリ１０１やメモリ１０７に格納したプログラム命令列を実行するプロセッサ１００、計算機の各ブロック間の伝送路であるバス１１０から構成される。
【００１４】
補助記憶装置１１１には、計算機システムの障害発生時に保存するメモリ１０７の範囲を指定するダンプ取得範囲指定ファイル１１２、計算機システム１２４の補助記憶装置１１１やメモリ１０７等の資源を管理するオペレーティングシステム（ＯＳ）のプログラム命令列やデータを格納するためのＯＳ格納領域１１３、障害が発生した際のメモリ内容を保存するダンプ格納領域１１４を持つ。ダンプ格納領域１１４には、最初の１回目のダンプ処理で使用する1次ダンプ格納領域１１６と、2回目のダンプ処理で使用する２次ダンプ格納領域１１５を持つ。本実施例中では、ダンプ格納領域１１４に２つの格納領域１１５、１１６を持つ計算機システムについて説明しているが、必要に応じて２つ以上の複数の格納領域を備えていてもよい。
【００１５】
不揮発性メモリ１０１には、計算機システム１２４が搭載するメモリ１０７の大きさを保持するための構成情報１０２、補助記憶装置１１１における１次ダンプ格納領域１１６や２次ダンプ格納領域１１５の場所を管理するためのダンプ格納領域管理情報１０５、電源スイッチをＯＮにした時やリセット信号を検出した時に計算機システム１２４を起動するために実行するシステム起動手続き１０６を持つ。構成情報１０２では、計算機システム１２４を起動する時に使用するメモリ量を保持する実メモリ量格納領域１０３と、計算機システム１２４を起動した後で追加して使用するメモリ量を保持する予約メモリ量格納領域１０４を持つ。
【００１６】
メモリ１０７（１）は、最初の１回目のダンプ処理で保存するメモリ範囲に対応しており、１次ダンプ取得範囲１０８（１）には、ユーザが使用するプログラム命令列とデータを保持するユーザ領域１０９（１）と、ＯＳが使用するプログラム命令列とデータを保持するＯＳ領域１１９を持つ。ＯＳ領域１１９には、ＯＳがユーザにメモリを割り当てるために使用するメモリ管理情報１２０、計算機システム１２４で障害が発生した時に実行する障害処理手続き１２１、計算機システム１２４が再起動した時にダンプ格納領域１１４の内容をファイルに変換するためのダンプファイル生成手続き１２２と、計算機システム１２４が再起動した後で予約メモリ量１０４で指定したメモリを追加して利用するためのメモリ増設手続き１２３を持つ。障害処理手続き１２１やダンプファイル生成手続き１２２の実施形態としては、各々「Ｐａｎｉｃ！  ＵＮＩＸシステムクラッシュの追跡と対策」（１９９７）、ＩＳＢＮ４−７５６１−１９１２−３の第２９ページ、第３９ページに記載のｐａｎｉｃ（）ルーチン、ｓａｖｅｃｏｒｅプログラムに詳しい。
【００１７】
計算機システム１２４で、ＯＳの初期化終了後にＯＳを再初期化することなく、メモリ増設に必要な管理領域を予約するために必要な情報を保持する構成情報１０２、ＯＳがメモリ増設のために予約した管理領域を更新するためのメモリ増設手続き１２３の実施形態については、特願平１０―２７９６号公報に記載されている。
【００１８】
図２は、本発明におけるメモリ管理情報１２０の一実施例を示す。メモリ管理情報１２０は、プロセッサ１００が使用するメモリ１０７の範囲について、使用先頭アドレス２０１と使用最終アドレス２０２を持ち、プロセッサ１００が使用するメモリ１０７の別な範囲について、予約先頭アドレス２０３と予約最終アドレス２０４を持つ。予約先頭アドレス２０３から予約最終アドレス２０４までの範囲については、計算機システム１２４が起動後、ＯＳは使用できない。 ＯＳはメモリ増設手続き１２３を実行することによって、予約先頭アドレス２０３から予約最終アドレス２０４までの範囲を使用できる。
【００１９】
図３は、本発明におけるダンプ格納領域管理情報１０５の一実施例を示す。ダンプ領域管理情報１０５は、補助記憶装置１１１における１次ダンプ格納領域１１６の場所を示す値であるオフセットを１次ダンプ格納領域オフセット３０１に保持し、補助記憶装置１１１における２次ダンプ格納領域１１６の場所を示す値であるオフセットを２次ダンプ格納領域オフセット３０２に保持し、補助記憶装置１１１におけるダンプ格納領域１１４の最後尾を示す値である最大オフセットをダンプ格納領域最大オフセット３０３に保持し、１次ダンプ格納領域１１６に保持しているメモリ管理情報１２０の場所を示す値であるオフセットをメモリ管理情報オフセット３０４に保持する。
【００２０】
図４は、本発明における障害発生から再起動完了までの概略処理フローの一実施例を示すフローチャートである。
【００２１】
まず、計算機システムに障害が発生した時、すなわちＯＳがプログラム命令列の実行中にデータ不整合等の状態を検出した時に、ステップ４０１を実行する。ステップ４０１では障害処理手続き１２１を実行し、ダンプ取得範囲指定ファイル１１２で指定するメモリ１０７の内容を、１次ダンプ格納領域１１６に保存する。ここで、1次ダンプ取得範囲１０８（１）とはダンプ取得範囲指定ファイル１２によって決定される範囲である。ここでは、1次ダンプ取得範囲１０８（１）のサイズが１ＧＢの例で説明する。ダンプ取得範囲指定ファイルでは“１ＧＢ”と記述する。１ＧＢは０ｘ４０００００００番地（「０ｘ」は１６進数を意味する）に対応するので、ダンプ取得範囲は０番地から０ｘ４０００００００番地までのメモリ内容となる。他の例ではファイルに「ＦＲＯＭ＝０、ＴＯ＝０ｘ４０００００００」と記述する。この場合も、ダンプ取得範囲は０番地から０ｘ４０００００００番地までのメモリ内容となる。
【００２２】
次に、計算機システムを再起動するためにステップ４０２を実行する。ステップ４０２では、１次ダンプ取得範囲１０８（１）のメモリのみを使用してシステムを再起動する。また、１次ダンプ取得範囲１０８（１）以外のメモリ、すなわち２次ダンプ取得範囲１０８（２）のメモリを、ＯＳから使用できないように設定する。２次ダンプ取得範囲をＯＳが使用できないように設定する理由は、障害発生時のメモリ内容を破壊しないためである。もし、ＯＳが２次ダンプ取得範囲のメモリ１０８（２）を使用すると、障害発生時のメモリ内容を失って障害原因の解析が不可能になる。
【００２３】
次に、計算機システムの再起動を完了するとステップ４０３を実行する。計算機システムの再起動を完了した時点で、ユーザのプログラム命令列を実行できる。ステップ４０３ではダンプファイル生成手続き１２２を実行する。ダンプファイル生成手続き１２２は、１次ダンプ格納領域１１６に保存したメモリ内容を、システム管理者等がダンプ解析ツールで解析可能なファイル形式に変換する。また、２次ダンプ取得範囲１０８（２）のメモリ内容を２次ダンプ格納領域１１５に保存し、ダンプ解析ツールで解析可能なファイル形式に変換する。本実施例では、2次ダンプ取得範囲１０８（２）のメモリ内容を２次ダンプ格納領域１１５に保存してから、ファイル形式に変換する例を説明する。ここでは、２次ダンプ格納領域１１５に保存せず、メモリ内容を直接ファイル形式に変換してもよい。
【００２４】
次に、ダンプファイル生成手続き１２２の実行を完了するとステップ４０４を実行する。ステップ４０４では、システム再起動時に使用しなかった２次ダンプ取得範囲１０８（２）のメモリを、ＯＳが使用できるようにメモリ増設手続き１２３を実行する。
【００２５】
図５は、本発明における障害処理手続きの一実施例を示すフローチャートである。
【００２６】
まず、ステップ５０１では、メモリ管理情報１２０の使用先頭アドレス２０１から、ダンプ取得範囲指定ファイル１１２で指定したアドレスまでのメモリ内容を、ダンプ領域管理情報１０５の１次ダンプ格納領域のオフセット３０１が指定する１次ダンプ格納領域１１６に保存する。
【００２７】
ステップ５０２では、ステップ５０１で保存した１次ダンプ格納領域１１６の最後尾の位置（オフセット）を２次ダンプ格納領域オフセット３０２に設定する。
【００２８】
ステップ５０３では、１次ダンプ格納領域１１６に保存したメモリ管理情報１２０の位置（オフセット）をメモリ管理情報オフセット３０４に設定する。
【００２９】
ステップ５０４では、予約メモリ量１０４には、実メモリ量１０３からダンプ取得範囲指定ファイル１１２で指定されたアドレスに対応するメモリ量を引いた値を設定する。
【００３０】
ステップ５０５では、ダンプ取得範囲指定ファイル１１２で指定したアドレスが対応するメモリ量を、実メモリ量１０３に設定する。例えば、ダンプ取得範囲指定ファイル１１２でファイルに“１ＧＢ”と記述されている場合には１ＧＢを実メモリ量に設定する。他の例として、ファイルに“FROM=０、TO=０ｘ４０００００００”と記述されている場合には０ｘ４０００００００番地に対応するメモリ量１ＧＢを実メモリ量に設定する。
【００３１】
図６は、本発明におけるシステム起動手続きの一実施例を示すフローチャートである。
【００３２】
まず、ステップ６０１では、プロセッサ１００が補助記憶装置１１１とメモリ１０７に読み書きできるように、プロセッサ１００、補助記憶装置１１１及び実メモリ量１０３で保持する量のメモリ１０７を初期化する。
【００３３】
ステップ６０２では、プロセッサ１００がＯＳ格納領域１１３からＯＳのプログラム命令列とデータを読み出して、ステップ６０１で初期化したメモリ１０７に書き込み、ＯＳのプログラム命令列に制御を移す。
【００３４】
ステップ６０３では、構成情報１０２を読み出して、メモリ管理情報１２０を作成する。メモリ管理情報１２０を作成する際に、使用先頭アドレス２０１と使用最終アドレス２０２については、例えば使用先頭アドレス２０１に０を設定し、構成情報１０２の実メモリ量１０３を読み出して対応するアドレスに変換して使用最終アドレス２０２に設定する。実メモリ量１０３に１ＧＢが設定されていた場合には、使用最終アドレス２０２には０ｘ４０００００００番地を設定する。
【００３５】
また、予約先頭アドレス２０３と予約最終アドレス２０４については、例えば予約先頭アドレス２０３には、使用最終アドレス２０２と同じアドレスを設定し、構成情報１０２の予約メモリ量１０４を読み出してアドレスに変換して予約先頭アドレス２０３に加えたアドレスを、予約最終アドレス２０４に設定する。例えば、予約先頭アドレスに０ｘ４０００００００番地、予約メモリ量１０４に１ＧＢが設定されていた場合には、０ｘ４０００００００番地から１ＧＢ分のメモリを追加した場合の最終アドレスである０ｘ８０００００００番地を予約最終アドレス２０４に設定する。
【００３６】
図７は、本発明におけるダンプファイル生成手続きの一実施例を示すフローチャートである。
【００３７】
まず、ステップ７０１ではダンプ領域管理情報１０５からメモリ管理情報オフセット３０４を読み出し、補助記憶装置装置１１１からオフセットを使用して、ステップ５０１で保存した使用最終アドレス２０２を読み出す。
【００３８】
ステップ７０２では２次ダンプ格納領域オフセット３０２を読み出して、２次ダンプ格納領域１１５を決定する。
【００３９】
ステップ７０３では、ステップ５０５で設定した実メモリ量１０３に対応するアドレスから、ステップ７０１で読み出した使用最終アドレス２０２までのメモリ１０７の内容を、ステップ７０２で決定した２次ダンプ格納領域１１５に保存する。
【００４０】
ステップ７０４では、ｓａｖｅｃｏｒｅ手続きを実行する。ｓａｖｅｃｏｒｅ手続きの実施形態は「Ｐａｎｉｃ！  ＵＮＩＸシステムクラッシュの追跡と対策」（１９９７）、ＩＳＢＮ４−７５６１−１９１２−３の３９頁に記載されている。
【００４１】
ステップ７０５では、メモリ増設手続き１２３を実行する。
【００４２】
本実施例では、ステップ７０４にて、１次ダンプ格納領域１１６と２次ダンプ格納領域１１５に障害発生時のメモリ内容を格納した後、ダンプ解析ツールで解析可能なファイル形式（ダンプファイル）に変換する計算機システムについて説明している。他の実施例として、ステップ７０１の前に、ｓａｖｅｃｏｒｅ手続き呼び出しを実行し、１次ダンプ格納領域１１６のみをダンプファイルに変換し、ステップ７０４では、２次ダンプ格納領域１１５のみをダンプファイルに変換する計算機システムであってもよい。
【００４３】
図８は、本発明におけるメモリ増設手続きの一実施例を示すフローチャートである。
【００４４】
まず、ステップ８０１では実メモリ量１０３に対応するアドレスから、実メモリ量１０３に対応するアドレスに予約メモリ量１０４に対応するアドレスを加えたアドレスまでメモリ１０７を初期化する。例えば、実メモリ量１０３が対応するアドレスとは、実メモリ量１０３に１ＧＢが設定されている場合には１ＧＢが対応する０ｘ４０００００００番地となる。予約メモリ量１０４に１ＧＢが設定されている場合には、実メモリ量が対応する０ｘ４０００００００番地に予約メモリ量１ＧＢに対応する０ｘ４０００００００を加えた０ｘ８０００００００番地までのメモリを初期化する。
【００４５】
ステップ８０２では、実メモリ量１０３と予約メモリ量１０４を加えたメモリ量を、実メモリ量１０３に設定する。
【００４６】
ステップ８０３では、予約メモリ量を０に設定する。
【００４７】
ステップ８０４では、ＯＳのメモリ管理情報１２０を変更する。ステップ８０１で初期化を完了したメモリを使用するため、使用最終アドレス２０２を変更する。例えば使用最終アドレス２０２と予約先頭アドレス２０３が同一アドレスの場合には、予約最終アドレス２０４の保持する値を使用最終アドレスに設定する。その後、予約メモリ量が０であることを示すために、使用最終アドレス２０２の値を、予約先頭アドレス２０３及び予約最終アドレス２０４に設定する。
【００４８】
次に本発明を仮想記憶制御する計算機システムに適用した実施例を説明する。
【００４９】
仮想記憶制御とは、アドレス空間を一定のサイズ毎に分割して管理し、管理単位（ページと呼ばれる）の番号とページ中のオフセットから構成される論理アドレスを、物理メモリのアドレスに対応付ける仕組みである。ユーザプログラムでは、プロセッサがユーザプログラムの命令列やデータにアクセスする際には論理アドレスを使用する。ユーザプログラムで論理アドレスを使用することにより、ユーザプログラムのプログラマはプログラムが動作する物理メモリのアドレスを意識する必要がない。またＯＳでは使用頻度の低いページの内容を、物理メモリから補助記憶装置に追い出すことにより、物理メモリを有効に使用することが可能となる。仮想記憶制御についての詳細は、バーニー・グッドハート、ジェームス・コックス著、桜川貴司監訳プレンティスホール出版「ＵＮＩＸカーネルの魔法ＳｙｓｔｅｍＶリリース４のアーキテクチャ」（１９９７）の第８０ページから第８５ページに記載にされている。
【００５０】
図９は、本発明における仮想記憶制御する計算機システムのメモリ管理情報１２０の一実施例を示す。
【００５１】
仮想記憶制御する計算機では、メモリ管理情報は図２で説明した使用先頭アドレス２０１、使用最終アドレス２０２、予約先頭アドレス２０３、予約最終アドレス２０４の他に、アドレス変換不要先頭アドレス９０１、アドレス変換不要最終アドレス９０２、論理アドレス・物理アドレス変換表９０３、フリーリスト９０４から構成される。
【００５２】
アドレス変換不要先頭アドレス９０１とアドレス変換不要最終アドレス９０２は、論理アドレスから物理アドレスに変換する必要がない領域を示す。
【００５３】
論理アドレス・物理アドレス変換表９０３は論理アドレスと物理アドレスとの対応表である。
【００５４】
フリーリスト９０４は、計算機システム１２４で使用するメモリ資源を管理するための情報を管理する。
【００５５】
仮想記憶制御では、プロセッサがある論理アドレスにアクセスした時に、アクセスしたページが物理メモリではなく補助記憶装置に存在する場合がある。この場合、物理メモリに割り付けてあるページを使用頻度等の情報に基づいて選択した後に補助記憶装置に選択したページ内容を転送して、その代わりにアクセスされたページ内容を補助記憶装置から物理メモリに転送する。
【００５６】
ここで、ページ内容を補助記憶装置から物理メモリに転送するプログラム命令列を含むページが補助記憶装置に存在した場合には、プロセッサがアクセスしたページを物理メモリに転送することができない。このような状況が発生しないようにページ内容を補助記憶装置から物理メモリに転送するプログラム命令列等を含むページは、必ず物理メモリに存在する必要がある。
【００５７】
このようなページは、アドレス変換不要先頭アドレス９０１とアドレス変換不要最終アドレス９０２によってアドレス変換が不要な領域に含まれている。アドレス変換が不要な領域のデータは通常固定したサイズで管理されているため、計算機システムが再起動した後で、プロセッサが使用するメモリの大きさが変化する場合には、予め予約しておくことが必要となる。
【００５８】
予約が必要なデータとしては、論理アドレス・物理アドレス変換表やフリーリスト等があり、これはＯＳの実装によって異なる。本実施例では、論理アドレス・物理アドレス変換表とフリーリストの予約が必要なＯＳについて説明する。
【００５９】
図１０は、本発明における論理アドレス・物理アドレス変換表９０３の一実施例を示す。
【００６０】
論理アドレス・物理アドレス変換表９０３は、物理アドレスのページ番号を保持する物理ページ番号１００１、論理アドレスのページ番号を保持する論理ページ番号１００２、同一行にある物理ページ番号と論理ページ番号の変換対が有効かどうかを示すフラグ等を含む管理情報１００３から構成される。
【００６１】
本図は、約２ＧＢのメモリを搭載するページサイズが４ＫＢ（０ｘ１０００）の計算機システムにおいて、メモリ管理情報１２０が物理ページ番号０〜０ｘ１０００、ＯＳ領域が物理ページ番号０〜０ｘ８０００、ユーザ領域１０９（１）が物理ページ番号０ｘ８００１〜０ｘ４００００、ユーザ領域１０９（２）が物理ページ番号０ｘ４０００１〜０ｘ８００００、１次ダンプ取得範囲１０８（１）が物理ページ番号０〜０ｘ４００００、２次ダンプ取得範囲１０８（２）が物理ページ番号０ｘ４０００１〜０ｘ８００００に各々対応している。
【００６２】
本図において、論理ページ番号０ｘ１００００とページ中のオフセット０ｘ１２３から構成される論理アドレス０ｘ１００００１２３は、論理ページ番号０ｘ１００００に対応する物理アドレス番号０ｘ４００００とオフセット０ｘ１２３を使って物理アドレス０ｘ４０００１２３に変換される。
【００６３】
論理アドレス・物理アドレス変換表９０３の詳細については、Ｇｅｒｒｙ Ｋａｎｅ著、Ｐｒｅｎｔｉｃｅ Ｈａｌｌ出版「ＰＡ−ＲＩＳＣ ２．０ ＡＲＣＨＩＴＥＣＴＵＲＥ」ＩＳＢＮ ０―１３―１８２７３４―０（１９９６）の第３−９ページから第３−１６ページに記載されている。
【００６４】
仮想記憶制御する計算機システムに適用した場合のシステム起動手続き１０６について説明する。基本的な処理内容は図６で説明したフローチャート（６０１〜６０３）と同様である。仮想記憶制御する計算機システムでは、メモリ管理情報１２０に、アドレス変換不要先頭アドレス９０１、アドレス変換不要最終アドレス９０２、論理アドレス・物理アドレス変換表９０３、フリーリスト９０４が追加されている。そのため、ステップ６０３では、ＯＳ領域１１９の先頭アドレスと最終アドレスを各々アドレス変換不要先頭アドレス９０１とアドレス変換不要最終アドレス９０２に設定し、実メモリ量１０３と予約メモリ量１０４を合計したメモリ量を管理できるように論理アドレス・物理アドレス変換表９０３とフリーリスト９０３を格納する領域を確保する。フリーリスト９０３に登録したページのうち、予約メモリ量１０４に対応する分については、ＰＡＧＥ構造体のページロックを用いて、予約済みとし、ＯＳが使用できないように設定する。ページロックの実施形態は、バーニー・グッドハート、ジェームス・コックス著、桜川貴司監訳プレンティスホール出版「ＵＮＩＸカーネルの魔法ＳｙｓｔｅｍＶリリース４のアーキテクチャ」（１９９７）の第８０ページから第８５ページに記載にされている。
【００６５】
次に、仮想記憶制御する計算機システムに適用した場合のメモリ増設手続き１２３について説明する。基本的な処理内容は図８で説明したフローチャート（８０１〜８０４）と同様である。ステップ８０４にて、予約メモリ量１０４に対応する分のＰＡＧＥ構造体のページロックを解除することにより、ＯＳを再初期化することなく、予約メモリ量１０４のメモリを使用できる。
【００６６】
【発明の効果】
本発明によれば、計算機システムが停止してから再起動を完了してユーザにサービスを提供するまでに要する時間を短縮することができ、その結果、ある一定期間における計算機システムの稼動率が向上する。
【００６７】
また、再起動してから、最初の一回目の処理で保存しなかったメモリ範囲をファイルに変換し、障害の原因分析に必要なメモリ内容をシステム管理者に提供することができる。また、計算機システムの搭載するメモリの大きさよりも小さいダンプ格納領域しか持たない計算機システムでも、すべてのメモリ内容を含むファイルを入手でき、障害原因について十分な解析ができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す計算機システム１２４のブロック図である。
【図２】本発明におけるメモリ管理情報１２０の一実施例である。
【図３】本発明におけるダンプ格納領域管理情報１０５の一実施例である。
【図４】本発明における障害発生から再起動完了までの概略処理フローの一実施例を示すフローチャートである。
【図５】本発明における障害処理手続き１２１の一実施例を示すフローチャートである。
【図６】本発明におけるシステム起動手続き１０６の一実施例を示すフローチャートである。
【図７】本発明におけるダンプファイル生成手続き１２２の一実施例を示すフローチャートである。
【図８】本発明におけるメモリ増設手続き１２３の一実施例を示すフローチャートである。
【図９】本発明における仮想記憶制御する計算機システムのメモリ管理情報１２０の一実施例を示す。
【図１０】本発明における論理アドレス・物理アドレス変換表９０３の一実施例を示す。
【符号の説明】
１００：プロセッサ、１０１：不揮発性メモリ、１０２：構成情報、１０５  ダンプ格納領域管理情報、１０６：システム起動手続き、１０７：メモリ、１０８：ダンプ取得範囲、１０９：ユーザ領域、１１０：バス、１１１：補助記憶装置、１１２：ダンプ取得範囲指定ファイル、１１３：ＯＳ格納領域、１１４：ダンプ格納領域、１１９：ＯＳ領域、１２０：メモリ管理情報、１２１：障害処理手続き、１２２：ダンプファイル生成手続き、１２３：メモリ増設手続き
【図１】
0003903678.tif 000002
【図２】
0003903678.tif 000003
【図３】
0003903678.tif 000004
【図４】
0003903678.tif 000005
【図５】
0003903678.tif 000006
【図６】
0003903678.tif 000007
【図７】
0003903678.tif 000008
【図８】
0003903678.tif 000009
【図９】
0003903678.tif 000010
【図１０】
0003903678.tif 000011