(57)【要約】【課題】  コンピュータがリブートされてもリセットされない装置の有無に関わらず、情報処理装置の処理に関する情報を副記憶装置に書き込みつつ、異常処理の際のリブートに要する時間を短縮すること。【解決手段】  主記憶装置４４と副記憶装置５２とを備える基地局装置１０において、ＣＰＵ４０は、所定処理があるごとに、前記主記憶装置４４に、該所定処理に関する情報を書き込み、前記主記憶装置４４の初期化を行うことなく、前記情報処理装置のリブートを行い、リブートが行われた後に、前記主記憶装置４４に記憶される前記所定処理に関する情報を前記副記憶装置５２に書き込むことを特徴とする。【選択図】        図１
2006120102.tif 000002
【特許請求の範囲】
【請求項１】
主記憶装置と副記憶装置とを備える情報処理装置において、
所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込手段と、
前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御手段と、
前記リブート制御手段によりリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記主記憶装置の初期化を伴って、前記情報処理装置のブートを行うブート制御手段と、
前記リブート制御手段は、前記記憶情報書込手段による書き込みが終了した後、前記ブート制御手段によるブートを実行する、
ことを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記所定処理は割り込み処理であり、
前記所定処理に関する情報は、前記割り込み処理に関する割り込み情報である、
ことを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の情報処理装置において、
所定時間ごとに、前記情報処理装置が動作していることを確認するための監視用タスクを起動する監視用タスク起動手段と、
前記監視用タスクが所定時間内に起動しない場合に、タスクの切替え処理があるごとに、前記主記憶装置に、該タスクの切替え処理に関するタスク情報を書き込むタスク情報書込手段と、
をさらに含み、
前記記憶情報書込手段は、前記所定処理に関する情報として、前記主記憶装置に記憶される前記タスク情報をも前記副記憶装置に書き込む、
ことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記リブート制御手段は、前記監視用タスクが所定時間内に起動しない場合に、リブートを行う、
ことを特徴とする情報処理装置。
【請求項６】
主記憶装置と副記憶装置とを備える情報処理装置をリブートするリブート方法であって、
所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込ステップと、
前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御ステップと、
前記リブート制御ステップにおいてリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込ステップと、
を含むことを特徴とするリブート方法。
【請求項７】
主記憶装置と副記憶装置とを備える情報処理装置を機能させるためのプログラムであって、
所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込手段、
前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御手段、及び、
前記リブート制御手段によりリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込手段、
として前記情報処理装置を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、リブート方法及びプログラムに関し、特に情報処理装置のリブート原因を特定するための技術に関する。
【背景技術】
【０００２】
コンピュータのＯＳ（オペレーティングシステム）は、処理を継続できないような異常が発生した場合に強制終了し、自動的にリブートが行われるように構成されていることがある。そしてその際には、強制終了直前のメモリやレジスタなどの主記憶装置の記憶内容（コアダンプ情報）を副記憶装置に書き込むことにより、異常が発生した原因を、後に究明できるようにされているものがある。具体的には、ＵＮＩＸ（登録商標）におけるコアダンプが挙げられる。
【０００３】
また、特許文献１には、コンピュータがリブートされる場合にもリセットされない通信制御装置を備えた該コンピュータにおいて、上記のようにリブート時に主記憶装置の記憶内容を副記憶装置に書き込む際、一旦通信制御装置の主記憶装置に通信のトレース情報である障害解析用情報を書き込んでおき、コンピュータのリブート後にコンピュータ側の主記憶装置にコピーするという構成が記載されている。さらに、コンピュータ側の主記憶装置にコピーされた障害解析用情報はコンピュータの副記憶装置に書き込まれるが、その際、障害解析用情報の内容を検査し、内容がクリアされたものである場合には、副記憶装置に書き込まないようにする構成が記載されている。特許文献１に記載の技術では、このようにすることにより、通信制御装置及びコンピュータの処理を軽くしている。
【特許文献１】特開平８−２７４８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、上記従来の技術では、リブートが行われると主記憶装置の内容は一旦破棄されるため、リブートを行う前に主記憶装置の記憶内容を副記憶装置へ書き込む必要があった。このため、リブートが行われる前に書き込み時間が必要となり、リブートが遅れるという問題があった。
【０００５】
また、特許文献１に記載の上記技術では、副記憶装置に書き込む前にまず通信制御装置のメモリに書き込むため、上記書き込み時間を短縮することが可能となっている。しかしながら、該技術では、コンピュータがリブートされる場合にも通信制御装置はリセットされないため、リブート後も通信制御装置の主記憶装置の記憶内容は保持されるという特徴を利用して、上記効果を実現している。このため、上記通信制御装置のように、コンピュータがリブートされてもリセットされない装置を備えていない限り、特許文献１に記載の技術を適用することはできない。
【０００６】
本発明は、上記課題を解決するためになされたもので、その目的の一つは、コンピュータがリブートされてもリセットされない装置の有無に関わらず、情報処理装置の処理に関する情報を副記憶装置に書き込みつつ、異常処理の際のリブートに要する時間を短縮することを可能にする情報処理装置、リブート方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明に係る情報処理装置は、主記憶装置と副記憶装置とを備える情報処理装置において、所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込手段と、前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御手段と、前記リブート制御手段によりリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込手段と、を含むことを特徴とする。
【０００８】
このようにすることにより、まず主記憶装置の初期化を行なわないウオームブートを行ってから、記憶情報書込手段による書き込みを行うことができるので、コンピュータがリブートされてもリセットされない装置の有無に関わらず、情報処理装置の処理に関する情報を副記憶装置に書き込みつつ、異常処理の際のリブートに要する時間を短縮することが可能となる。
【０００９】
また、上記情報処理装置において、前記主記憶装置の初期化を伴って、前記情報処理装置のブートを行うブート制御手段と、前記リブート制御手段は、前記記憶情報書込手段による書き込みが終了した後、前記ブート制御手段によるブートを実行する、こととしてもよい。
【００１０】
このようにすれば、ウオームブート後に主記憶装置の初期化を行なうコールドブートを行うことができ、この際に既に前記記憶情報書込手段による書き込みは終了しているので、リブート後のリブート原因解析に資することができる。
【００１１】
また、上記情報処理装置において、前記所定処理は割り込み処理であり、前記所定処理に関する情報は、前記割り込み処理に関する割り込み情報である、こととしてもよい。このようにすれば、リブート時以外にも割り込み情報を書き込むことができ、該割り込み情報はリブート後のリブート原因解析に資することができる。
【００１２】
また、上記情報処理装置において、所定時間ごとに、前記情報処理装置が動作していることを確認するための監視用タスクを起動する監視用タスク起動手段と、前記監視用タスクが所定時間内に起動しない場合に、タスクの切替え処理があるごとに、前記主記憶装置に、該タスクの切替え処理に関するタスク情報を書き込むタスク情報書込手段と、をさらに含み、前記記憶情報書込手段は、前記所定処理に関する情報として、前記主記憶装置に記憶される前記タスク情報をも前記副記憶装置に書き込む、こととしてもよい。このようにすれば、監視用タスクによる監視に応じてタスク情報を書き込むことができ、該タスク情報はリブート後のリブート原因解析に資することができる。
【００１３】
また、上記情報処理装置において、前記リブート制御手段は、前記監視用タスクが所定時間内に起動しない場合に、リブートを行う、こととしてもよい。このようにすれば、監視用タスクによる監視に応じて、情報処理装置のリブートを行うことができる。
【００１４】
また、本発明に係るリブート方法は、主記憶装置と副記憶装置とを備える情報処理装置をリブートするリブート方法であって、所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込ステップと、前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御ステップと、前記リブート制御ステップにおいてリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込ステップと、を含むことを特徴とする。
【００１５】
また、本発明に係るプログラムは、主記憶装置と副記憶装置とを備える情報処理装置を機能させるためのプログラムであって、所定処理があるごとに、前記主記憶装置に、該所定処理に関する情報を書き込む情報書込手段、前記主記憶装置の初期化を行うことなく、前記情報処理装置のリブートを行うリブート制御手段、及び、前記リブート制御手段によりリブートが行われた後に、前記主記憶装置に記憶される前記所定処理に関する情報を前記副記憶装置に書き込む記憶情報書込手段、として前記情報処理装置を機能させることを特徴とする。
【発明を実施するための最良の形態】
【００１６】
本発明の実施の形態について、図面を参照しながら説明する。
【００１７】
図１は、本発明に係る移動体通信システム１の構成図である。同図に示すように、移動体通信システム１は基地局装置１０、監視装置２０、移動局装置３０を含んで構成されている。
【００１８】
基地局装置１０と、移動局装置３０と、相互に携帯電話やＰＨＳなどの移動体通信としての無線通信を行う。また、監視装置２０は、基地局装置１０に接続され、基地局装置１０の状態を監視する。より具体的には、基地局装置１０から送出されるアラーム情報を取得し、監視装置２０に備えられる図示しない警告通知手段により警告を通知する処理を行ったり、基地局装置１０に対して定期的に状態確認信号を送信し、該信号に対する応答を確認し、応答がない場合に警告通知手段により警告を通知する処理を行ったり、といった処理を行う。さらに、該監視装置２０は図示しない記憶手段を備え、基地局装置１０から出力される情報を記憶する。
【００１９】
基地局装置１０は、ＣＰＵ(Central Processing Unit)４０、割り込みコントローラ４２、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)４４、シリアルデバイス４６、ネットワークデバイス４８、ＲＯＭ(Read Only Memory)５０、ＦｌａｓｈＲＯＭ(Flash Read Only Memory)５２、信号処理部５４、送受信部５６を含んで構成される。
【００２０】
ＣＰＵ４０は基地局装置１０の各部を制御する処理を行うとともに、基地局装置１０の行う通信に係る処理（呼処理など）や、リブート処理又はブート処理などの再開処理も行う。また、複数のタスクを時分割で動作させることができるマルチタスク機能を備えている。
【００２１】
割り込みコントローラ４２は、ハードウェア割り込みを制御するために設けられる機能部であり、基地局装置１０に備えられる各ハードウェアは、必要に応じ割り込みコントローラ４２を介してＣＰＵ４０に対して所定の割り込み信号を送信する。該割り込み信号を受け取ったＣＰＵ４０は、その時点で実行している処理を中断し、該割り込み信号に応じて予め定められる処理を行う。
【００２２】
ＳＤＲＡＭ４４は、読み書きが自由に行なえるＲＡＭ(Random Access Memory)であり、コンデンサとトランジスタにより電荷を蓄える回路を記憶素子に用いている。このため、情報の記憶が電荷によって行われ、電荷は時間と共に減少することから、一定時間毎に記憶保持のための再書き込みを行なう必要がある揮発性メモリである。電源を落とすと記憶内容は消去される。そして、ＳＤＲＡＭ４４からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２３】
シリアルデバイス４６は、基地局装置１０とシリアルケーブルによって接続される各種装置とのインターフェイスであり、基地局装置１０内のパラレル信号と、シリアル信号と、を相互に変換する処理も行う。該各種装置からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２４】
ネットワークデバイス４８は、通信ネットワークと基地局装置１０とを接続するためのインターフェイスである。本実施の形態では監視装置２０と接続され、ＣＰＵ４０と監視装置２０との間での通信を中継するためのプロトコル変換処理も行う。そして、ネットワークデバイス４８からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２５】
ＲＯＭ５０は、読み出し専用の記憶装置であり、通常は情報を書き込むことはできないが、ＥＥＰＲＯＭ(Electronically Erasable and Programmable Read Only Memory)のように、全ての情報を一度に書き換える場合に限り書き換え可能とすることもできる。また一度書き込んだ情報は、電源を落としても消えることはない不揮発性メモリである。そして、ＲＯＭ５０からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２６】
ＦｌａｓｈＲＯＭ５２も不揮発性メモリであり、電源を切っても記憶内容を保持することができる。８Ｋｂｙｔｅｓや６４Ｋｂｙｔｅｓのブロック単位での消去と１ｂｙｔｅ単位での書き込みが可能である。書き込み時間が上記ＥＥＰＲＯＭに比べて速く、また大容量であるため、頻繁に書き込みを行うディスク的なデータ保存用途に使用されることが多い。そして、ＦｌａｓｈＲＯＭ５２からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２７】
信号処理部５４及び送受信部５６は、移動局装置３０と通信を行うための機能部である。具体的には、信号処理部５４は、符号化処理、変復調処理などの信号処理を行う。また、送受信部５６は、送信電力制御、周波数変換処理などの通信処理を行う。そして、信号処理部５４又は送受信部５６からの割り込み信号も、ＣＰＵ４０に対するハードウェア割り込みとしてＣＰＵ４０に対して送信される。
【００２８】
次に、ＲＯＭ５０、ＦｌａｓｈＲＯＭ５２、ＳＤＲＡＭ４４において、それぞれ記憶される情報について説明する。図２に示すように、ＲＯＭ５０、ＦｌａｓｈＲＯＭ５２、ＳＤＲＡＭ４４は、それぞれ複数の領域から構成される。
【００２９】
まずＲＯＭ５０の記憶領域は、図２（ａ）に示すように、ｂｏｏｔ領域５００及びＯＳ領域５０１を含んでいる。ｂｏｏｔ領域５００には、ブート（基地局装置１０の起動）の手続き及びブートのために必要な各種データが記憶される。ブートを行う際には、ブートを行う処理において、最初に該ｂｏｏｔ領域５００の先頭が参照され、ｂｏｏｔ領域５００に記憶される内容に従ってブートが実行される。ＯＳ領域５０１には、基地局装置１０のオペレーティングシステム（ＯＳ）が記憶される。後述するコールドブートの際には、ＯＳ領域５０１に記憶されるオペレーティングシステムがＳＤＲＡＭ４４に展開される。
【００３０】
次に、ＦｌａｓｈＲＯＭ５２は、図２（ｃ）に示すように、ソースファイル５２０、ｃｏｒｅＤｕｍｐファイル５２１を記憶する。ソースファイル５２０は、基地局装置１０で使用されるオペレーティングシステム及び該オペレーティングシステム上で動作するアプリケーションを記憶するファイルである。また、ｃｏｒｅＤｕｍｐファイル５２１は、ＣＰＵ４０において何らかのエラーが発生したことによりＣＰＵ４０が不正終了する際のメモリやレジスタの内容を記憶したファイルである。本実施の形態では、後述するタスク情報や割り込み情報も記憶される。また、本発明に係るプログラムを記憶することもできる。その場合には、ＣＰＵ４０が該プログラムをＳＤＲＡＭ４４に展開して実行する。
【００３１】
ＳＤＲＡＭ４４の記憶領域は、図２（ｂ）に示すように、ＯＳ領域４４０、ソースイメージ領域４４１、ｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２を含んでいる。ＯＳ領域４４０は、現に動作しているオペレーティングシステム及びアプリケーションが実行可能な形で記憶され、ＣＰＵ４０は該ＯＳ領域４４０を参照しながらオペレーティングシステム及びアプリケーションを動作させる。ソースイメージ領域４４１は、ソースファイル５２０の内容を展開して記憶する領域である。ｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２は、後述するタスク情報や割り込み情報を記憶するための領域である。
【００３２】
基地局装置１０のブート処理について、図３を参照しながら説明する。図３は、該ブート処理のフローを示す処理フロー図である。まず、変数ｂｏｏｔｔｙｐｅの記憶領域を確保し、値をｃｏｌｄに設定するとともに、変数ｃｏｒｅＤｕｍｐＦｌａｇの記憶領域を確保し、値をＯＦＦに設定する（Ｓ１００）。次に、ＣＰＵハードウェアの初期化を行う（Ｓ１０２）。すなわち、図示しないＦｌａｓｈＲＯＭに記憶されるＢＩＯＳ(Basic Input Output System)（不図示）に含まれるアセンブリコードにより、ＣＰＵ４０の制御をハードウェア初期化ルーチンに移す。次に揮発性記憶装置（ここではＳＤＲＡＭ４４）の初期化を行う（Ｓ１０４）。具体的には、ＳＤＲＡＭ４４に記憶される全ての情報を消去する。そして、不揮発性記憶装置１（ここではＲＯＭ５０）に含まれるＯＳ領域５０１から、オペレーティングシステム（ここに記憶されるオペレーティングシステムはアプリケーションを含まない）を、ＳＤＲＡＭ４４のＯＳ領域に展開する（Ｓ１０６）。次に、展開されたＳＤＲＡＭ４４のＯＳ領域の先頭にジャンプして（先頭アドレスから参照して）、ＣＰＵの周辺ハードウェアインターフェイスを初期化する（Ｓ１０８）。すなわち、割り込みコントローラ４２、ＳＤＲＡＭ４４、シリアルデバイス４６、ネットワークデバイス４８、ＲＯＭ５０、ＦｌａｓｈＲＯＭ５２、信号処理部５４、送受信部５６をＣＰＵ４０が制御可能なように設定する。そしてＣＰＵ４０は、後述するウオッチドックタスク（監視タスク）を起動する（Ｓ１１０）。その後、ＣＰＵ４０は不揮発性記憶装置２（ここではＦｌａｓｈＲＯＭ５２）に含まれるソースファイル５２０を、ＳＤＲＡＭ４４のソースイメージ領域４４１に展開しておく（Ｓ１１２）。そして変数ｂｏｏｔｔｙｐｅの値をｗａｒｍに変更する（Ｓ１１４）とともに、周辺ハードウェアからの割り込みを停止する（Ｓ１１６）。すなわち、周辺ハードウェアからの割り込み処理が発生しないよう、割り込み処理を禁止する。以上のＳ１００乃至Ｓ１１６の処理をコールドブートと称する。コールドブートは、以上説明したように、ＳＤＲＡＭ４４に記憶される情報を消去し、ＯＳ領域５０１に記憶されるオペレーティングシステムをＯＳ領域４４０に展開することにより基地局装置１０を起動する。
【００３３】
次に、Ｓ１１６でコールドブート処理が終了すると、ＳＤＲＡＭ４４に記憶される情報を消去しないウオームブート処理を行う。該ウオームブート処理では、まずＣＰＵハードウェアの初期化を行う（Ｓ１０２）。これはコールドブートにおけるＣＰＵハードウェアの初期化処理と同様の処理である。次に、ＳＤＲＡＭ４４のソースイメージ領域４４１から、Ｓ１１２において展開しておいたソースファイル（アプリケーションを含むオペレーティングシステム）をＳＤＲＡＭ４４のＯＳ領域４４０に展開する（Ｓ２０２）。その後、Ｓ１０８とＳ１１０の処理を再度行い、変数ｃｏｒｅＤｕｍｐＦｌａｇの値をＯＮにする（Ｓ２０８）。そして、周辺ハードウェアからの割り込み処理が発生する都度、該割り込み処理に関する割り込み情報を、ＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２に書き込むよう、設定する（Ｓ２１０）。割り込み情報の詳細については後述する。そしてアプリケーションを初期化し（Ｓ２１２）、後述するように優先度の最も低いタスクを無限ループさせて（Ｓ２１４）、ウオームブート処理を終了する。このように、コールドブートをまず行い、次にウオームブートを行うことにより、ブート処理は完了する。
【００３４】
Ｓ１１０において起動したウオッチドックタスクの処理について、図４を参照しながら説明する。ウオッチドックタスクは、ＣＰＵ４０により実行されるタスクである。まず、変数ウオッチドックタイマーの記憶領域を確保し、０秒を設定する（Ｓ３００）。ウオッチドックタイマーは、基地局装置１０に備えられるクロックに同期し、クロックが１秒進む毎に、ウオッチドックタイマーも１秒進むように構成されている。そして、該ウオッチドックタイマーが所定値Ａ秒となるまでループし、Ａ秒になったらＳ３０４の処理に移る（Ｓ３０２）。そして、ウオッチドックタスク起動待ち状態に遷移する（Ｓ３０４）。すなわち、複数のウオッチドックタスクがそれぞれ所定の間隔をおいてＣＰＵ４０により起動が繰り返されるタスクであり、あるウオッチドックタスクは、他のウオッチドックタスクが発生した（起動された）か否かを判断し（Ｓ３０６）、発生した場合には一旦終了し、所定の間隔で再度起動される。また、ウオッチドックタイマーがＢ秒を超えたか否かを判断し（Ｓ３０８）、超えていない間は、Ｓ３０６の処理を繰り返す。すなわち、他のウオッチドックタスクの起動を待つ。一方、Ｂ秒を超えた場合には、タスクが切り替わる都度、タスク情報をＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２のタスク部分に記述するよう、設定する（Ｓ３１０）。そして、ウオッチドックタスクの発生を監視し（Ｓ３１２）、発生すれば一旦終了し、所定の間隔で再度起動される。一方、ウオッチドックタイマーがＣ秒を超えているか否かも判断し（Ｓ３１４）、超えた場合には、ブート処理で記憶領域が確保された変数ｂｏｏｔｔｙｐｅの値をｗａｒｍに設定する（Ｓ３１６）。そして、周辺ハードウェアからの割り込みを停止し（Ｓ３１８）、後述するリブート処理を行う（Ｓ３２０）。
【００３５】
以上のように、ウオッチドックタスクはウオッチドックタイマーに３段階の閾値（Ａ＜Ｂ＜Ｃ）を用意し、該ウオッチドックタイマーの値に応じて、ウオッチドックタスクの発生監視処理、タスク情報の書き込み処理を行うことにより、リブート処理を行った後にタスク情報のＳＤＲＡＭ４４への書き込みを行うことを可能にしている。
【００３６】
基地局装置１０のリブート（再起動）処理について、図５を参照しながら説明する。リブート処理では、まずウオームブートによるリブートを行う。そしてその後ＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２に記憶される情報をＦｌａｓｈＲＯＭ５２に書き込み、その後上述のブート処理を行う。より詳細には、まず上述したＳ１０２、Ｓ２０２、Ｓ１０８、Ｓ１１０の処理をこの順で繰り返す。そしてその後、Ｓ２１０或いはＳ３１０の処理により設定された情報書き込み処理により、ＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２に書き出した内容（割り込み情報、タスク情報）を、ＦｌａｓｈＲＯＭ５２に書き出す。このとき、ファイル形式で書き出すことができる。そして、上述したブート処理を行う。
【００３７】
以上のリブート処理では、まずウオームブートを行うことができ、そしてウオームブートでは初期化されないＳＤＲＡＭ４４に予めタスク情報や割り込み情報を記憶しておくことにより、情報処理装置の処理に関する情報としてタスク情報及び割り込み情報を副記憶装置に書き込むことができる一方で、異常処理の際のリブートに要する時間を短縮することが可能になる。
【００３８】
なお、以上説明したブート処理及びリブート処理は、変数ｂｏｏｔｔｙｐｅ及び変数ｃｏｒｅＤｕｍｐＦｌａｇの情報に従って、統合的に処理を行うことができる。該統合的な処理を図６に示す。同図に示すように、Ｓ１０３又はＳ１１１において変数ｂｏｏｔｔｙｐｅの値を評価し、ｃｏｌｄであればコールドブートにおいて必要な処理を、ｗａｒｍであればウオームブートにおいて必要な処理を行うことができる。さらに、Ｓ２００において変数ｃｏｒｅＤｕｍｐＦｌａｇの値を評価し、ＯＮであれば、Ｓ２１６の書き出し処理を行う。すなわち、一旦ブート処理が完了した後であれば、そのブート処理はリブート処理であることを意味するので、リブート処理においては理由の如何によらず、Ｓ２１６の書き出し処理を行うこととしている。
【００３９】
次に、タスク情報及び割り込み情報と、これらの取得方法及び使用方法について、図７を参照しながら説明する。
【００４０】
まず、以下で使用する変数について説明する。変数ＴａｓｋＴｒａｃｅＦｌａｇは、上記Ｓ３１０の処理に示すように、タスク情報をＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２のタスク部分に書き込むか否かを示す変数であり、変数ＴａｓｋＴｒａｃｅＦｌａｇがＯＮであれば、ＣＰＵ４０はタスク情報を書き込む処理を行い、変数ＴａｓｋＴｒａｃｅＦｌａｇがＯＦＦであれば、ＣＰＵ４０はタスク情報を書き込む処理を行なわない。
【００４１】
また、変数ＩｎｔＴｒａｃｅＦｌａｇは、上記Ｓ２１０に示すように、割り込み情報をＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２の割り込み部分に書き込むか否かを示す変数であり、変数ＩｎｔＴｒａｃｅＦｌａｇがＯＮであれば、ＣＰＵ４０は割り込み情報を書き込む処理を行い、変数ＩｎｔＴｒａｃｅＦｌａｇがＯＦＦであれば、ＣＰＵ４０は割り込み情報を書き込む処理を行なわない。
【００４２】
さらに、変数ＴｉｍｅＣｏｕｎｔｅｒは、上述したウオッチドックタイマーと同様に、基地局装置１０に備えられるクロックに同期し、クロックが１秒進む毎に、変数ＴｉｍｅＣｏｕｎｔｅｒが１インクリメントされるように構成されている。また、リソース制限Ｆｌａｇは、所定のリソースについてＣＰＵ４０のＣＰＵ時間の使用を制限する（リソースを制限する）か否かを示す変数であり、リソース制限ＦｌａｇがＯＮであれば、リソースを制限し、リソース制限ＦｌａｇがＯＦＦであれば、リソースを制限しない。さらに、通知Ｆｌａｇは、リソース制限状況（リソース制限ＦｌａｇのＯＮ／ＯＦＦ状態）と、後述する処理により算出されるＣＰＵ使用率と、を監視装置２０に対して送信するか否かを判断するための変数であり、該通知ＦｌａｇがＯＮであれば、監視装置２０に対して送信し、ＯＦＦであれば、監視装置２０に対して送信しない。
【００４３】
まず、ＩｎｔＴｒａｃｅＦｌａｇは上述のブート処理のＳ２１０において、ＯＮにしておく。すなわち、割り込み情報は常に取得することとするため、ブート処理の段階でＯＮにしておく。
【００４４】
次に、上述のウオッチドック処理のＳ３１０において、ＴａｓｋＴｒａｃｅＦｌａｇをＯＮにする（Ｓ４００）。すなわち、図７に示す処理フロー図は、ウオッチドック処理のＳ３１０において、タスクが切り替わる都度、タスク情報をＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２のタスク部分に記述するよう設定した後に行われる処理である。
【００４５】
そして、変数ＴｉｍｅＣｏｕｎｔｅｒを０に設定する（Ｓ４０２）。この後、変数ＴｉｍｅＣｏｕｎｔｅｒは１秒ごとに１インクリメントされる。そして、Ｓ４０４の処理に進み、Ｓ４０６からＳ４２２の処理を、ＴａｓｋＴｒａｃｅＦｌａｇがＯＮとなっている間、繰り返す。
【００４６】
Ｓ４０６では、ＴｉｍｅＣｏｕｎｔｅｒが所定の閾値Ｄとなったか否かについて判断する。そして、所定の閾値Ｄとなった場合には、ＴａｓｋＴｒａｃｅＦｌａｇとＩｎｔＴｒａｃｅＦｌａｇとをともにＯＦＦとする（Ｓ４０８）。すなわち、タスク情報の書き込み、割り込み情報の書き込みのいずれも停止する。ここで、ＴａｓｋＴｒａｃｅＦｌａｇがＯＦＦになると、Ｓ４０４において、ループを抜ける処理を行うこととなる。
【００４７】
次に、タスクが入れ替わったことを検出することにより、タスクの入れ替えが発生したか否かを判断する（Ｓ４１０）。そして、タスクの入れ替えが発生した場合に、ＴａｓｋＴｒａｃｅＦｌａｇがＯＮであるか否かを判断し（Ｓ４１２）、ＯＮであれば、タスク情報を取得する（Ｓ４１４）。該タスク情報には、少なくともタスクを識別するためのタスク識別子及びタスクが入れ替わった時刻が含まれる。
【００４８】
次に、割り込みが発生したことを検出することにより、割り込みが発生したか否かを判断する（Ｓ４１６）。そして、割り込みが発生した場合に、ＩｎｔＴｒａｃｅＦｌａｇがＯＮであるか否かを判断し（Ｓ４１８）、ＯＮであれば、割り込み情報を取得する（Ｓ４２０）。該割り込み情報には、少なくとも割り込み開始時刻、割り込み要因、割り込み終了時刻が含まれる。
【００４９】
Ｓ４０８の処理によりＴａｓｋＴｒａｃｅＦｌａｇがＯＦＦになると、Ｓ４０４において、ＴａｓｋＴｒａｃｅＦｌａｇがＯＦＦになったことを検出し、Ｓ４０４乃至Ｓ４２２のループを抜け、Ｓ４２４の処理に移行する。Ｓ４２４では上記取得されたタスク情報と割り込み情報とに基づいて、全ＣＰＵ使用率及び各タスク及び各割り込みのＣＰＵ使用率を計算する。
【００５０】
ここで、タスク情報と割り込み情報とに基づく全ＣＰＵ使用率及び各タスク及び各割り込みのＣＰＵ使用率の計算方法について図８を参照しながら説明する。図８は、横軸に時間軸をとり、各時刻においてＣＰＵ４０を使用しているタスク若しくは割り込みを記述した図である。まず、タスク情報及び割り込み情報の計測を開始する。すなわち、Ｓ４０４からの処理を開始する。開始時点において起動しているタスクをＴ１とし、タスクＴ１に関するタスク情報を記録する。そして、タスクがＴ１→Ｔ２→Ｔ３→Ｔ４→Ｔ５→Ｔ６と入れ替わる都度、タスク情報を記録する。また、割り込みが発生した場合には、該割り込みに関する割り込み情報を記録する。ここでは、割り込みＩ１乃至Ｉ９が発生しており、これらのそれぞれについて、割り込み情報を記録する。なお、割り込みが発生している間、ＣＰＵは該割り込みが使用し、タスクはＣＰＵを使用していない状態で待機することとなる。そして、最終的にＳ４０４においてＴａｓｋＴｒａｃｅＦｌａｇがＯＦＦになったことを検出すると、タスク情報及び割り込み情報の取得を終了する。
【００５１】
そしてこのようにして、タスクが入れ替わった時刻と、割り込みが発生した時刻及び割り込みが終了した時刻を取得することができる。また、ブート処理のＳ２１４において、優先度の最も低いタスクを無限ループさせておいたことにより、全ての時間で、必ず何らかのタスクが発生している。このため、取得した時刻に基づいて、各タスクのＣＰＵ使用率と各割り込みのＣＰＵ使用率を計算することができる。さらに、無限ループさせておいたタスクのＣＰＵ使用率は、実質的にＣＰＵが使用されていない割合を示すので、該タスクのＣＰＵ使用率を計算することにより、全ＣＰＵ使用率を算出することができる。
【００５２】
そして、以上のようにして算出された全ＣＰＵ使用率が、所定の閾値Ｅより大きいか否かを判断する（Ｓ４２６）。大きいと判断される場合には、リソース管理タスクが、リソーステーブルに応じてリソース制限を行う（Ｓ４２８）。すなわち、基地局装置１０で起動されるタスクのひとつであるリソース管理タスクは、ＣＰＵ４０の使用率に基づいて、リソース（タスク）ごとにＣＰＵ使用の制限を行う。そして、リソース制御ＦｌａｇをＯＮにして（Ｓ４３０）、Ｓ４３８の処理に移る。一方、全ＣＰＵ使用率が、所定の閾値Ｅより大きくない場合には、リソース制限ＦｌａｇがＯＮであるか否かを判断し（Ｓ４３２）、リソース制限ＦｌａｇがＯＮであれば、Ｓ４２８で行ったリソース制限を解除し（Ｓ４３４）、リソース制御ＦｌａｇをＯＦＦにし（Ｓ４３６）、Ｓ４３８の処理に移る。リソース制限ＦｌａｇがＯＮでなければ、特段の処理を行わず、Ｓ４３８の処理に移る。
【００５３】
そして、通知ＦｌａｇがＯＮであるか否かを判断し（Ｓ４３８）、ＯＮであればリソース制限状況、すなわちリソース制限Ｆｌａｇと、ＣＰＵ使用率と、を監視装置２０に対して通知する（Ｓ４４０）。そしてこれらの処理が終了したら、ＩｎｔＴｒａｃｅＦｌａｇをＯＮに戻して、処理を終了する。なお、Ｓ２１６の処理においてＦｌａｓｈＲＯＭ５２にタスク情報や割り込み情報が書き込まれた場合には、基地局装置１０から監視装置２０に送信することにより、監視装置２０に記憶される上記リソース制限Ｆｌａｇと、ＣＰＵ使用率と、を削除することとしてもよい。
【００５４】
以上のようにして、タスク情報と割り込み情報を取得することができ、さらに該タスク情報と該割り込み情報とに基づいて、ＣＰＵ使用率を算出することができる。タスク情報と割り込み情報に加え、ＣＰＵ使用率についても、ＳＤＲＡＭ４４のｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２に書き込まれ、Ｓ２１６の処理においてＦｌａｓｈＲＯＭ５２に書き込まれることにより、リブート後のリブート要因の解析に資することができる。
【００５５】
なお、本発明は上記実施の形態に限定されるものではない。例えば上記実施の形態では移動体通信システムの基地局装置１０を例に取り説明したが、ＣＰＵ、主記憶装置（ＳＤＲＡＭ４４）、副記憶装置（ＦｌａｓｈＲＯＭ５２）を有する情報処理装置であれば、どのような装置にでも適用することができる。また、タスク情報や割り込み情報以外の情報でも、必要に応じｃｏｒｅＤｕｍｐＴｒａｃｅ領域４４２に書き込んでおくことにより、リブートの際に副記憶装置に書き込むことができるようになる。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態に係る移動体通信システムの構成図である。
【図２】本発明の実施の形態に係る各種記憶装置の説明図である。
【図３】本発明の実施の形態に係る処理のフロー図である。
【図４】本発明の実施の形態に係る処理のフロー図である。
【図５】本発明の実施の形態に係る処理のフロー図である。
【図６】本発明の実施の形態に係る処理のフロー図である。
【図７】本発明の実施の形態に係る処理のフロー図である。
【図８】本発明の実施の形態に係るタスクと割り込みについての説明図である。
【符号の説明】
【００５７】
１  移動体通信システム、１０  基地局装置、２０  監視装置、３０  移動局装置、４０  ＣＰＵ、４２  割り込みコントローラ、４４  ＳＤＲＡＭ、４６  シリアルデバイス、４８  ネットワークデバイス、５０  ＲＯＭ、５２  ＦｌａｓｈＲＯＭ、５４  信号処理部、５６  送受信部、４４０，５０１  ＯＳ領域、４４１  ソースイメージ領域、４４２  ｃｏｒｅＤｕｍｐＴｒａｃｅ領域、５００  ｂｏｏｔ領域、５２０  ソースファイル、５２１  ｃｏｒｅＤｕｍｐファイル。
【図１】
2006120102.tif 000003
【図２】
2006120102.tif 000004
【図３】
2006120102.tif 000005
【図４】
2006120102.tif 000006
【図５】
2006120102.tif 000007
【図６】
2006120102.tif 000008
【図７】
2006120102.tif 000009
【図８】
2006120102.tif 000010