(57)【要約】【課題】  起動開始からプログラムの起動完了までにかかる時間を短縮する計算機の起動時間短縮方式を提供する。【解決手段】  ＯＳ、ミドルウェア、アプリケーションの各プログラムの初期化が完了した時点の各プログラムの初期化完了メモリイメージを主記憶１５０にロードし、この主記憶１５０にロードされた前記初期化完了メモリイメージの中から最初に起動させるプログラムを選択することにより、起動開始からプログラムの起動完了までにかかる時間を短縮する。【選択図】        図１
2005284491.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の初期化処理情報が保存されたＯＳ初期化処理設定保存手段と、
ＯＳ、ミドルウェア、アプリケーションの各プログラムの初期化が完了した時点の各プログラムの初期化完了メモリイメージが保存された初期化完了メモリイメージ保存手段と、
前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージがロードされた主記憶手段と、
前記ＯＳ初期化処理設定保存手段により保存されたＯＳ初期化処理情報に基づいてＯＳ、ミドルウェア、アプリケーションの各プログラムを起動するか、前記各プログラムの中から最初に起動させるプログラムの起動をするか、の選択するＯＳ初期化処理選択手段と、
前記ＯＳ初期化処理選択手段により前記各プログラムの中から最初に起動させるプログラムの起動をすることが選択された時に、前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージを主記憶手段にロードするメモリイメージロード手段と、
前記主記憶手段にロードされた前記初期化完了メモリイメージの中から最初に起動させるプログラムを選択する起動プログラム選択手段と、を備えたことを特徴とする計算機の起動時間短縮方式。
【請求項２】
プログラムの起動要因を判定する起動要因判定手段を備え、
前記起動プログラム選択手段は、前記起動要因判定手段により判定された前記起動要因に基づいて最初に起動させるプログラムを選択することを特徴とする請求項１記載の計算機の起動時間短縮方式。
【請求項３】
前記主記憶手段にロードされた前記初期化完了メモリイメージは、プログラムの起動要因とこの起動要因に対応する起動プログラムとが記録された起動プログラム選択表を備え、
前記起動プログラム選択手段は、前記起動プログラム選択表から前記起動要因判定手段により判定された前記起動要因に対応する起動プログラムを最初に起動させるプログラムとして選択することを特徴とする請求項２記載の計算機の起動時間短縮方式。
【請求項４】
前記主記憶手段にロードされた前記初期化完了メモリイメージは、初期化が完了し実行可能である実行可能プログラムと実行中プログラムとが登録されたＯＳデータを備え、
前記起動プログラム選択手段は、前記起動プログラム選択表に前記起動プログラムが記録されている時には前記ＯＳデータ中の前記実行中プログラムを前記起動プログラムに対応する前記実行可能プログラムに修正することを特徴とする請求項３記載の計算機の起動時間短縮方式。
【請求項５】
前記初期化完了メモリイメージを作成するか否かのを判定するメモリイメージ作成判定手段と
前記メモリイメージ作成判定手段により前記初期化完了メモリイメージを作成するとの判定がされた時に前記主記憶手段にロードされた前記初期化完了メモリイメージの各プログラムの使用状態を解析する主記憶解析手段と、
前記主記憶解析手段により解析された使用中の各プログラムの前記初期化完了メモリイメージを個別にメモリイメージ化して前記初期化完了メモリイメージ保存域に保存するメモリイメージ作成手段と、を備えたことを特徴とする請求項４記載の計算機の起動時間短縮方式。
【請求項６】
前記起動プログラム選択表に前記起動要因に対応した起動プログラムが記録されている時に前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージのＯＳデータのメモリイメージを前記主記憶手段にロードするＯＳデータメモリイメージロード手段と、
前記起動プログラム選択表に前記起動要因に対応した起動プログラムが記録されている時に前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージの中から起動すべきプログラムのメモリイメージのみを前記主記憶手段にロードする起動プログラムメモリイメージロード手段と、を備えたことを特徴とする請求項５記載の計算機の起動時間短縮方式。
【請求項７】
複数のＩ／Ｏ（Ｉｎｐｕｔ−ｏｕｔｐｕｔ）デバイスと、
前記複数のＩ／Ｏデバイスとこの複数のＩ／Ｏデバイスに対応する起動要因が記録された初期化対象デバイス表と、
前記起動要因判定手段により判定された前記起動要因に対応する要初期化Ｉ／Ｏデバイスが前記初期化対象デバイス表に存在した時に前記複数のＩ／Ｏデバイス中の前記要初期化Ｉ／Ｏデバイスの初期化を行う初期化対象デバイス初期化手段と、を備えたことを特徴とする請求項６記載の計算機の起動時間短縮方式。
【請求項８】
前記初期化対象デバイス表は、前記複数のデバイスがそれぞれどのプログラムに使用されているかが検出された検出情報が記録され、
前記検出情報を検出するデバイス使用者検出手段と、
前記デバイス使用者検出手段により検出された前記検出情報に基づいて初期化対象デバイス表を作成し、前記初期化完了メモリイメージ保存手段に格納する初期化対象デバイス表作成手段と、を備えたことを特徴とする請求項７記載の計算機の起動時間短縮方式。
【請求項９】
前記初期化対象デバイス表に記録されていないＩ／Ｏデバイスの初期化を行う未初期化デバイス初期化手段を備えたことを特徴とする請求項７記載の計算機の起動時間短縮方式。
【請求項１０】
前記初期化完了メモリイメージのプログラム構成と管理情報に問題が無いことを確認するメモリイメージ状態確認手段と、
メモリイメージ状態確認手段により問題があることが確認された時に前記ＯＳ初期化処理設定保存手段にメモリイメージ起動不許可の設定をし、さらにＯＳ、ミドルウェア、アプリケーションの各プログラムを起動するＯＳ初期化処理を行うメモリイメージロード異常処理手段と、を備えたことを特徴とする請求項４記載の計算機の起動時間短縮方式。
【請求項１１】
前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージの状態確認をするロード対象メモリイメージ状態確認手段と、
異常検知プログラムに対する対処策が指定された異常処理指定表と、
前記異常処理指定表に前記対処策が指定されているか否か判断するメモリイメージロード異常処理手段と、
前記メモリイメージロード異常処理手段により前記異常処理指定表に前記対処策が指定されていると判断された時に前記異常検知プログラムを縮退する縮退運転開始手段と、を備えたことを特徴とする請求項６記載の計算機の起動時間短縮方式。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、計算機の電源を入れてから、ＯＳ／ミドルウェア／アプリケーションの初期化が終了するまでにかかる時間を短縮するための、計算機の起動方式に関するものである。
【背景技術】
【０００２】
従来の計算機の起動時間短縮方式としては、作業を中断し、その時点のメモリイメージを外部記憶装置に保存して電源を落とし、再度計算機の電源を入れた時に外部記憶装置から主記憶に保存しておいたイメージを展開して、作業を再開するハイバネーション方式が存在する。
【０００３】
また、ＯＳその他が起動した直後のメモリイメージを外部記憶装置に保存しておき、計算機起動時に保存したメモリイメージを外部記憶装置から主記憶に展開して、起動直後の状態から作業を再開する起動方式が提案されている。これらの例の場合、ハイバネーションによるメモリイメージ記憶領域と起動直後の状態のメモリイメージ記憶領域を個別に用意し、電源投入時に、前回の終了条件に応じてハイバネーションレジュームを行うか初期化完了直後のメモリイメージを用いたレジュームを行うかを判別し、レジューム処理を行う（例えば、特許文献１、特許文献２参照）。
【０００４】
【特許文献１】特開平１０−２０７５８８号公報          特開２００１−１４０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のハイバネーションをはじめとするメモリイメージロードによる起動高速化は、主記憶イメージの取得ならびにロード処理を、ＯＳをディスクからメモリに転送するプログラムであるブートローダーを利用することを前提としていた。従って、ブートローダーに対して主記憶イメージの保存やロードの機能を備えることが必要であった。
また、メモリイメージのロード実行後、常にイメージ取得直後の状態からプログラム再開されるため、起動時に状況に応じて別のプログラムがすぐに起動して欲しい場合、プログラムの起動選択直前でのメモリイメージを保存するか、予め複数の主記憶イメージを保存しておくしかなかった。前者の場合はプログラム起動選択処理の分だけ起動時間が長くなり、後者の場合は複数の主記憶イメージを保存するための記憶装置が必要であった。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、ＯＳ初期化処理に主記憶イメージロード処理を持たせること、イメージロード後に起動要因に応じてどのプログラムを動作状態にするのかを決定する機構を持たせること、ＯＳ内部の起動プログラム管理情報を操作して目的のプログラムを動作状態にさせることにより、状況に応じて電源ＯＮから起動するプログラムが複数存在する場合においても、全ての場合の起動処理を高速化する、即ち起動開始からプログラムの起動完了までにかかる時間を短縮する計算機の起動時間短縮方式を提供することを目的とする。
また、１つの主記憶イメージをベースに実現することで余分なイメージ記憶領域を不要とし、ＯＳ内部の処理で完結させることでブートローダーならびにＢＩ／ＯＳのサポートを不要とする計算機の起動時間短縮方式を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る計算機の起動時間短縮方式は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の初期化処理情報が保存されたＯＳ初期化処理設定保存手段と、
ＯＳ、ミドルウェア、アプリケーションの各プログラムの初期化が完了した時点の各プログラムの初期化完了メモリイメージが保存された初期化完了メモリイメージ保存手段と、
前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージがロードされた主記憶手段と、
前記ＯＳ初期化処理設定保存手段により保存されたＯＳ初期化処理情報に基づいてＯＳ、ミドルウェア、アプリケーションの各プログラムを起動するか、前記各プログラムの中から最初に起動させるプログラムの起動をするか、の選択するＯＳ初期化処理選択手段と、
前記ＯＳ初期化処理選択手段により前記各プログラムの中から最初に起動させるプログラムの起動をすることが選択された時に、前記初期化完了メモリイメージ保存手段に保存された前記初期化完了メモリイメージを主記憶手段にロードするメモリイメージロード手段と、
前記主記憶手段にロードされた前記初期化完了メモリイメージの中から最初に起動させるプログラムを選択する起動プログラム選択手段と、を備えたものである。
【発明の効果】
【０００８】
この発明は、以上説明したように、ＯＳ、ミドルウェア、アプリケーションの各プログラムの中から最初に起動させるプログラムの起動をすることが選択された時に、初期化が完了した時点の各プログラムの初期化完了メモリイメージを主記憶手段にロードし、この主記憶手段にロードされた前記初期化完了メモリイメージの中から最初に起動させるプログラムを選択することにより、起動開始からプログラムの起動完了までにかかる時間を短縮することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図を参照して説明する。
図１は、実施の形態１の計算機の起動時間短縮方式の構成図である。図１において、１００はブートローダーであり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）をディスクからメモリに転送するプログラムである。１１０はＯＳ初期化処理であり、ＯＳが動作するために必要な各種初期化処理を示すものである。ＯＳ初期化処理１１０は、ＯＳ初期化処理選択手段１１１、通常初期化手段１１２、メモリイメージロード手段１１３、起動要因判定手段１１４、起動プログラム選択手段１１５により構成される。
【００１０】
ＯＳ初期化処理選択手段１１１はＯＳの初期化の処理プロセスを選択するための手段である。ＯＳの初期化の処理プロセスとしては、後述する通常起動の処理プロセスと、本発明で提案するメモリイメージをロードして起動する処理プロセスという２種類の起動様式がある。また、通常初期化手段１１２はＯＳ初期化処理選択手段１１１にて通常のＯＳ起動の処理プロセスが選択された場合に起動処理を行うものである。メモリイメージロード手段１１３はＯＳ初期化処理選択手段１１１にてメモリイメージの起動の処理プロセスが選択された場合に動作するものである。
【００１１】
なお、メモリイメージとは、システム起動完了時のある瞬間に取得した主記憶(メモリ)の内容であり、メモリイメージの起動とは、メモリイメージを主記憶(メモリ)にロードして起動することを示す。通常初期化手段１１２あるいはメモリイメージロード手段１１３の選択は、ＯＳ初期化処理設定保存域１３０に保存されたＯＳ初期化処理情報により行う。
【００１２】
また、起動要因判定手段１１４、起動プログラム選択手段１１５は、メモリイメージロード完了後の処理を行うものである。ここで、起動要因判定手段１１４とは、起動要因が何であるかを判定する手段であり、例えば電源ボタンが押されて起動したのか、タイマーにより起動したのかなどを判定する。起動プログラム選択手段１１５は、起動要因判定手段１１４により判定された起動要因をもとに、この起動要因に対応する起動プログラム、即ち起動対象となる起動プログラムを選択する手段であり、起動プログラム選択表１５４に従って起動対象となる起動プログラムの選択を行う。
【００１３】
１２０は各プログラム初期化手段である。
１３０はＯＳ初期化処理設定保存域（ＯＳ初期化処理設定保存手段）であり、ＯＳ初期化処理情報が保存される。ここでＯＳ初期化処理情報とは、ＯＳ初期化時にＯＳ初期化処理選択手段１１１が、起動処理として通常初期化手段１１２を選ぶか、メモリイメージロード手段１１３を選ぶかを決めるための情報であり、ＯＳ初期化処理設定保存域１３０には通常初期化手段１１２により通常起動を実行するか、メモリイメージロード手段１１３により初期化完了メモリイメージをロードして起動を実行するか、のいずれかの情報が保存されている。
【００１４】
１４０は初期化完了メモリイメージ保存域（初期化完了メモリイメージ保存手段）であり、ＯＳ初期化処理時に各プログラム初期化手段１２０によりシステムの全てのプログラム、即ち、ＯＳ、ミドルウェア、アプリケーションの全てのプログラムの初期化が完了した時点（通常の初期化処理完了時点）の初期化完了メモリイメージが予め保存された保存領域である。
【００１５】
１５０は主記憶（主記憶手段）である。主記憶１５０はメモリを指すもので、主記憶１５０の構成はソフトウェア的な論理構成により分割している。また、主記憶１５０の内容はＯＳが管理している。基本的には、ＯＳ自体が使用している領域、各プログラムが独占的に使用している領域、共有メモリ領域等に区分される。
１５１は主記憶１５０上のＯＳデータ、１５２、１５３は主記憶１５０上にあるプログラムのデータである。１５４は起動プログラム選択表であり、起動要因別に起動すべき起動プログラムが記録されている。１６０は起動完了表示手段であり、ユーザが起動完了を認識することができるように表示を行うものである。
【００１６】
図２は、ＯＳデータ１５１の内容を示す説明図である。図２において、２０１はプログラム管理情報、２０２は実行中プログラム情報である。プログラム管理情報２０１には初期化が完了し実行可能であるプログラムが登録されており、実行中プログラム情報２０２には実行中のプログラムが登録されている
プログラム管理情報２０１及び実行中プログラム情報２０２は、ＴＳＳ（Ｔｉｍｅ  Ｓｈａｒｉｎｇ  Ｓｙｓｔｅｍ）などによりＯＳが各プログラムを同時に動かすために管理されている情報である。
【００１７】
次に、計算機の高速起動処理について図３のフローチャート図を用いて説明する。
図３は、計算機の高速起動処理の処理手順を示すフローチャートである。
起動処理が開始されると、ステップＳ３００でブートローダー１００によりＯＳ初期化処理１１０が呼び出される。ここで、ＯＳ初期化処理１１０とは、ＯＳがロードされてからシステムが動きだすために必要とされる各処理であり、ＯＳの一部である。
【００１８】
次に、ＯＳ初期化処理選択手段１１１が、ステップＳ３０１でＯＳ初期化処理設定保存域１３０に記録されたＯＳ初期化処理情報を読み込み、ステップＳ３０２でこの読み込まれたＯＳ初期化処理情報を参照して、通常起動を実行するか、初期化完了メモリイメージをロードして起動するか、の選択を行う。
【００１９】
ステップＳ３０２で通常起動の実行が選択された場合は、ステップＳ３０３で通常初期化手段１１２がＯＳの通常の初期化処理を実行した後、ステップＳ３０４で各プログラム初期化手段１２０が通常のプログラム起動・初期化を実行し、起動処理は終了する。ここで、通常の初期化処理とは、従来からの一般的な計算機(ＯＳ)の起動処理を示すものである。
【００２０】
一方、ステップＳ３０２で初期化完了メモリイメージをロードして起動することが選択された場合は、ステップＳ３０５でメモリイメージロード手段１１３が初期化完了メモリイメージ保存域１４０に保存された初期化完了メモリイメージを主記憶１５０にロードする。
【００２１】
次に、ステップＳ３０６で起動要因判定手段１１４が起動処理の発生した起動要因が何であるかの判定を行う。ここで、「電源ボタンが入った」とか「タイマーにより起動された」等、起動要因が複数考えられる計算機において、その起動要因により異なるプログラムを迅速に起動したい要求に応えるために、起動要因判定手段１１４が起動原因の判定を行う。そして、その判定結果をもとに、起動プログラム選択手段１１５が起動すべきプログラムを選択する。
【００２２】
ステップＳ３０７で起動プログラム選択手段１１５が起動プログラム選択表１５４の有無を確認し、起動プログラム選択表１５４が存在する場合はステップＳ３０８で起動プログラム選択表１５４をロードする。
ここで、起動プログラム選択表１５４は、実際には、初期化完了メモリイメージ保存域１４０に保存されている初期化完了メモリイメージ中に入っており、初期化完了メモリイメージのロードにより主記憶１５０に展開され、主記憶１０５上に存在することになるものである。
【００２３】
続いて、ステップＳ３０９で起動プログラム選択手段１１５が起動プログラム選択表１５４の中に、起動要因判定手段１１４で判定した起動要因に対応する起動プログラムが記載されているか否かの確認をし、起動プログラムが記載されていることが確認できたときには、この起動プログラムの選択を行う。
起動要因に応じた起動プログラムが起動プログラム選択表１５４に記録されている場合は、ステップＳ３１０で起動プログラム選択手段１１５がＯＳデータ１５１内部の実行中プログラム情報２０２を、起動対象となる起動プログラム、即ち起動プログラム選択表１５４に記録されている起動要因に応じた起動プログラムになるように修正する。
【００２４】
次に、ステップＳ３１１で起動プログラム選択手段１１５がメモリイメージ上に存在するプログラム管理情報２０１に対して、対象の起動プログラムを実行状態とするように修正する。ここで、プログラム管理情報２０１は、主記憶１５０上に展開されており、ＯＳが各プログラムの動作を管理するための情報である。
以上の処理が終了したら、ステップＳ３１２に進む。
【００２５】
なお、ステップＳ３０７で起動対象プログラム表１５４が存在しなかった場合、あるいはステップＳ３０９で起動要因に対応した機動プログラムが起動対象プログラム表１５４に記載されていなかった場合は、ステップＳ３１２に進む。
ステップＳ３１２では、起動プログラム選択手段１１５がプログラム実行アドレスを起動対象となる起動プログラムのアドレスに修正する。以上で、起動処理を終了する。
【００２６】
このように、本実施の形態では、ＯＳ、ミドルウェア、アプリケーションの初期化が完了した時点の初期化完了メモリイメージを保存するための初期化完了メモリイメージ保存域１４０を持ち、初期化完了メモリイメージ保存域１４０から初期化完了メモリイメージの読み出しを行うメモリイメージロード手段１１３と、メモリイメージロードを行うか通常の初期化処理を行うかを選択するＯＳ初期化処理選択手段１１１と、初期化完了メモリイメージ上に存在する初期化完了済プログラムの中から最初に起動させるプログラムを選択する起動プログラム選択手段１１５の、３手段をＯＳの初期化処理に統合したことにより、起動要因に従い起動直後に実行されるプログラムを切り替えすることが可能となる。
【００２７】
以上のように、本実施の形態によれば、初期化完了メモリイメージを用いて起動することにより、起動開始からプログラムの起動完了までにかかる時間を短縮することができる。
即ち、通常のＯＳの起動は、ＯＳ内部での各種初期化処理(ＯＳコア部分、各種Ｉ／Ｏデバイス)を行った後、各アプリケーションプログラムの起動処理を行い、それらが終了してはじめてシステムが使用可能になる。一方、本実施の形態においては、前述の各種初期化処理が完了した状態のメモリイメージを主記憶１５０にロードし、起動時に主記憶１５０にロードされた各種初期化処理が完了した状態のメモリイメージを即使用することが可能となるため、起動時間の短縮を図ることができる。
【００２８】
また、メモリイメージロードをＯＳ初期化処理で行うことにより、実行中プログラムの情報を変更することが可能となることから、高速起動対象とするプログラムを複数設定し、起動条件（起動要因）に応じて起動対象プログラムを選択することができる。
即ち、メモリイメージロード手段１１３、起動要因判定手段１１４、起動プログラム選択手段１１５、起動プログラム選択表１５４を用い、起動対象プログラムを条件に応じて選択可能にすることにより、複数の起動パターンにおける起動処理の高速化を達成することができる。
【００２９】
さらに、単一のメモリイメージから複数の起動対象プログラムの高速起動を実現することにより、複数のプログラムの高速起動を実現するために初期化完了メモリイメージを複数もつ必要がなくなるという効果がある。
なお、従来の方式では、複数のパターンで各プログラムの起動高速化を図る場合は、各起動に対応したパターン毎のメモリイメージを持つ必要があったが、本実施の形態によればその必要はなくなる。
また、ブートローダーが各起動に対応したパターン毎のメモリイメージ提供することも不要となる。
【００３０】
実施の形態２．
以下、実施の形態２を図を参照して説明する。
図４は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図１と同一符号は同一又は相当部分を示し説明を省略する。
図４において、４００はメモリイメージ作成判定手段であり、メモリイメージを作成するか否かの判定を行う。４１０は主記憶解析手段であり、主記憶１５０のデータ構造を解析する。ここで、主記憶１５０(メモリ)の内部は、基本的には、ＯＳ自体が使用している領域、各プログラムが独占的に使用している領域、共有メモリ領域等に区分されており、これが主記憶１５０のデータ構造というもので、ＯＳがその内容を管理している。
【００３１】
４２０はメモリイメージ作成手段であり、主記憶１５０の情報を初期化完了メモリイメージ保存域１４０に保存する。ここで、主記憶１５０の情報とは、主記憶(メモリ)に存在している情報(データ)のことを示すもので、メモリイメージ作成手段４２０はメモリイメージを作成して、これを初期化完了メモリイメージ保存域１４０に保存する。
４３０はＯＳ本体ならびに各プログラム毎のメモリイメージのサイズやロードアドレス等をまとめたメモリイメージ管理情報、４４０はＯＳ本体ならびに各プログラム毎に分割されたメモリイメージ実データ、４５０はメモリイメージ作成フラグである。
【００３２】
次に、初期化完了メモリイメージの作成・書込み動作について図５のフローチャート図を用いて説明する。
図５は、初期化完了メモリイメージの作成・書込みの処理手順を示すフローチャートである。ここで、図３と同一の符号は同一動作を示すものである。なお、本実施の形態では、ステップＳ３０５からステップＳ３１２までの動作は、実施の形態１の図３と同様である。
ステップＳ３０２でＯＳ初期化処理選択手段１１１により通常のＯＳ起動の処理プロセスが選択された場合は、ステップＳ３０３で通常初期化手段１１２がＯＳの通常初期化処理を行い、ステップＳ３０４で各プログラム初期化手段１２０が各プログラムの通常の初期化を実行する。
【００３３】
次に、ステップＳ５００でメモリイメージ作成判定手段４００がメモリイメージ作成フラグ４５０を参照し、ステップＳ５０１で初期化完了メモリイメージを作成するか否かの判定を行う。なお、メモリイメージ作成フラグ４５０でメモリイメージ作成が指示されていない場合はそのまま起動処理は終了となる。また、メモリイメージ作成が指示されている場合は、ステップＳ５０２に進む。
【００３４】
ステップＳ５０２では、主記憶解析手段４１０が主記憶１５０上に存在するプログラムの把握と、ＯＳ本体ならびに全プログラムの主記憶１５０上での使用状態、即ち主記憶１５０のデータ構造の解析をする。
主記憶(メモリ)は、各プログラムが使用している部分、ＯＳがシステム管理のために使用している部分、各種ドライバがデバイスをコントロールするために使用している部分等のデータ構造となっており、目的によって使用する部分が異なる。ステップＳ５０２では、主記憶のデータ構造の解析が行なわれる。
【００３５】
また、ステップＳ５０３では、まずＯＳ本体が使用している主記憶１５０上の情報をメモリイメージ作成手段４２０を用いてメモリイメージ化し、初期化完了メモリイメージ保存域１４０に保存する。この時、データ自身はメモリイメージ実データ４４０に格納し、サイズやロードアドレス等はメモリイメージ管理情報４３０に記録する。
【００３６】
次に、ステップＳ５０４、ステップＳ５０５、ステップＳ５０６では、主記憶解析手段４１０により把握、解析された起動中（使用中）のプログラムの全てに対して、各プログラム毎に各プログラムが使用している主記憶１５０上の情報をメモリイメージ作成手段４２０を用いて個別にメモリイメージ化し、初期化完了メモリイメージ保存域１４０に保存する。
また、ステップＳ５０７でメモリイメージ作成手段４２０がメモリイメージ作成フラグ４５０を更新し、メモリイメージ作成不許可設定にする。
これにより、メモリイメージ作成フラグ４５０が再度修正されない限り次回通常起動された時にメモリイメージが作成されないようになる。
【００３７】
このように、本実施の形態は、アプリケーション初期化完了時に、初期化完了メモリイメージ作成指示の有無を判定し、作成指示が出されている場合はメモリイメージ作成手段４２０を呼び出すメモリイメージ作成判定手段４００と、メモリイメージ作成の際に、主記憶の内容解析を行い、ＯＳ使用部分と各プログラム毎の使用部分に区分けする主記憶解析手段４１０と、区分けされた各領域毎にメモリイメージを作成するメモリイメージ作成手段４２０、をもつことにより、各プログラム毎に区分けされたメモリイメージを作成することを特徴とものである。
【００３８】
以上のように、本実施の形態によれば、各プログラム毎にメモリイメージを保存することが可能となるため、実際に使用されている主記憶領域のみ保存することで初期化完了メモリイメージのサイズを小さくすることができる。
これは、実際のシステムでは、初期化完了時点でメモリを全部使い切っていることは、意図的にそうしている場合を除いてまず有り得ず、プログラムが動いていく過程でメモリを消費していく場合が多い。つまり、初期化完了時点では、メモリ使用量は実際のメモリサイズより小さい筈であり、実際に使用している部分のみメモリイメージとして保存することで、メモリを丸ごと保存するよりもサイズを小さくすることができるものである。
【００３９】
また、初期化完了メモリイメージを自己作成することにより、ＯＳならびにプログラムのアップデートが行われた際にメモリイメージを作り直すことができる。
ここで、初期化完了メモリイメージを自己作成することとは、外部で別の計算機から特殊な方法でメモリイメージを吸い出すということではなく、計算機単独でメモリイメージを作ることができるということを示すものである。
ＯＳまたはプログラムの修正が行われれば、当然メモリイメージも変更される。本実施の形態のように、計算機が単独でメモリイメージを修正できないと、ＯＳまたはアプリケーションプログラムの修正がなされた場合は、メモリイメージも外部から修正しなければならないという問題が生じる。
【００４０】
実施の形態３．
以下、実施の形態２を図を参照して説明する。
図６は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図４と同一符号は同一又は相当部分を示し説明を省略する。
図６において、６００はＯＳデータメモリイメージロード手段であり、ＯＳのメモリイメージのみをロードする。６０１は起動プログラムメモリイメージロード手段であり、個別プログラムに関するメモリイメージをロードする。
【００４１】
次に、計算機の高速起動処理について図７のフローチャート図を用いて説明する。
図７は、計算機の高速起動処理の処理手順を示すフローチャートである。ここで、図３と同一の符号は同一動作を示すものである。なお、本実施形態では、開始からステップＳ３０２でイメージロード判定が行なわれるまでは、実施の形態１の図３と同様である。
ステップＳ３０２でイメージロード実行をする場合は、ステップＳ３０６で起動要因判定手段１１４が起動処理が発生した要因を調査する。
【００４２】
次に、ステップＳ３０７で起動プログラム選択手段１１５が起動プログラム選択表１５４の有無を確認し、存在する場合はステップＳ３０８で起動プログラム選択表１５４をロードする。
続いて、ステップＳ３０９で起動プログラム選択手段１１５が、起動プログラム選択表１５４の中に、起動要因判定手段１１４で検出した起動要因に対応する起動プログラムが記載されているか否かの確認を行う。
【００４３】
起動要因に応じた起動プログラムが起動プログラム選択表１５４に記録されている場合は、ステップＳ７０１でＯＳデータメモリイメージロード手段６００が初期化完了メモリイメージ保存域１４０中のメモリイメージ実データ４４０に格納されているＯＳデータのメモリイメージを主記憶１５０にロードする。
【００４４】
次に、ステップ７０２で起動プログラムメモリイメージロード手段６０１が初期化完了メモリイメージ保存域１４０中のメモリイメージ実データ４４０に格納されているプログラムのメモリイメージ（メモリイメージ実データ４４０中のプログラム１データ、プログラムｎデータに相当）から、起動すべきプログラムのメモリイメージのみを主記憶１５０にロードする。
【００４５】
なお、ステップＳ３０７にて起動プログラム選択表１５４が存在しない場合や、ステップＳ３０９にて起動プログラム選択表１５４において起動要因に対応する機動プログラムが登録されていない場合は、ステップＳ７００にて、ＯＳデータメモリイメージロード手段６００ならびに起動プロ具エア無メモリイメージロード手段６０１により、初期化完了メモリイメージ保存域１４０に格納されている全てのメモリイメージを主記憶１５０に展開する。
以後、ステップＳ３１０から終了までの処理手順は実施の形態１の図３と同様である。
【００４６】
以上のように、本実施の形態によれば、起動時に起動対象として設定されたプログラムのメモリイメージのみをロードすることにより、メモリイメージロード時間短縮による起動高速化ができる。
【００４７】
実施の形態４．
以下、実施の形態４を図を参照して説明する。
図８は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図６と同一符号は同一又は相当部分を示し説明を省略する。
図８において、８００は初期化対象デバイス初期化手段であり、各デバイスの初期化処理を示す。８１０はＩ／Ｏ（Ｉｎｐｕｔ−ｏｕｔｐｕｔ）デバイス群であり、８１１、８１２は個別のＩ／Ｏデバイスを指す。８２０は初期化対象デバイス表である。
【００４８】
次に、計算機の高速起動処理について図９のフローチャート図を用いて説明する。
図９は、計算機の高速起動処理の処理手順を示すフローチャートである。ここで、図７と同一の符号は同一動作を示すものである。なお、本実施形態では、開始からステップＳ７０２で起動対象プログラムのイメージロードが行なわれるまでは、実施の形態３の図７と同様である。
ステップＳ９００で初期化対象デバイス初期化手段８００が初期化完了メモリイメージ保存域１４０内部に初期化対象デバイス表８２０が存在することを確認する。
【００４９】
ステップＳ９００で初期化対象デバイス表８２０が存在することが確認できた場合は、ステップＳ９０１で初期化対象デバイス初期化手段８００が初期化対象デバイス表をロードする。
次に、ステップＳ９０２で初期化対象デバイス初期化手段８００が初期化対象デバイス表８２０に起動要因判定手段１１４で得られた起動要因に対応する初期化デバイス項目の有無を確認する。
この確認の結果、初期化デバイス項目が存在する場合は、ステップ９０３、ステップ９０４、ステップ９０５で初期化対象デバイス初期化手段８００が初期化対象デバイス表８２０に登録されているＩ／Ｏデバイスに対してのみ初期化を行う。
【００５０】
ステップＳ９００で初期化対象デバイス表８２０が存在しないと判定した場合や、ステップＳ９０２で起動要因に対応する初期化デバイス項目が確認されなかった場合は、ステップＳ９０６で初期化対象デバイス初期化手段８００が全デバイスの初期化を行う。
以後、ステップＳ３１０から終了までの処理手順は、実施の形態３の図７と同様である。
【００５１】
以上のように、本実施の形態によれば、起動時に起動対象として設定されたプログラムの使用するＩ／Ｏデバイスのみ初期化することにより、Ｉ／Ｏデバイス初期化時間の短縮による起動高速化ができる。
【００５２】
実施の形態５．
以下、実施の形態４を図を参照して説明する。
図１０は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図４、図８と同一符号は同一又は相当部分を示し説明を省略する。
図１０において、１０００はデバイス使用者検出手段であり、各デバイスをどのプログラムが使用しているのかをチェックする。１００１は初期化対象デバイス表作成手段、１０１０はＩ／Ｏデバイス、１０２０は初期化対象デバイス表である。
【００５３】
次に、初期化対象デバイス表１０２０の作成処理について図１１のフローチャート図を用いて説明する。
図１１は、初期化対象デバイス表１０２０の作成処理手順を示すフローチャートである。ここで、図５、図９と同一の符号は同一動作を示すものである。なお、本実施の形態では、開始からステップＳ５０６における各プログラム別のメモリイメージ生成が行なわれるまでは、実施の形態２の図５と同様である。
【００５４】
ステップＳ１１０１にて、主記憶解析手段４１０による主記憶１５０の解析で得られたＩ／Ｏデバイス１０１０に関して、デバイス使用者検出手段１０００が各デバイスがどのプログラムに使用されているのかを検出する。
次に、ステップＳ１１０２で初期化対象デバイス表作成手段１００１がデバイス使用者検出手段１０００で検出された検出情報に基づいて初期化対象デバイス表１０２０を作成し、初期化完了メモリイメージ保存域１４０に格納する。
なお、ステップＳ１１００とステップＳ１１０３は、それぞれ存在するデバイス全部に対して操作を繰り返す動作を示すものである。
以後、ステップＳ５０７から終了までの処理手順は、実施の形態２の図５と同様である。
【００５５】
以上のように、本実施の形態によれば、メモリイメージ作成時に起動中の各プログラムが使用しているＩ／Ｏデバイスを検出して、初期化対象デバイス表を作成する機能により、メモリイメージの作成し直しを実施した後にも継続して初期化対象デバイス表によるＩ／Ｏデバイス初期化時間短縮が可能になる。
即ち、本実施の形態によれば、ｒｅｃｏｎｆｉｇｕｒｅｂｌｅ化により、ドライバ／アプリ／ＯＳのモジュールが修正になった場合でも計算機単独でイメージを作り直すことができる。この機能がない場合、わざわざ別の計算機でメモリイメージを作成して何らかの特殊な方法でメモリイメージを吸い出してメモリイメージを生成し、目的とする計算機に移植するという手順を取らねばならなかった。
【００５６】
実施の形態６．
以下、実施の形態６を図を参照して説明する。
図１２は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図８と同一符号は同一又は相当部分を示し説明を省略する。
図１２において、１２００はプログラム起動手段、１２１０は未初期化デバイス初期化手段である。
【００５７】
次に、計算機の高速起動動作について図１３のフローチャート図を用いて説明する。
図１３は、計算機の高速起動処理の処理手順を示すフローチャートである。ここで、図９と同一の符号は同一動作を示すものである。なお、本実施の形態では、開始からステップＳ２３１２で実行中アドレスへの移動が行なわれるまでは、実施の形態４の図９と同様である。
ステップＳ１３００でプログラム起動手段１２００が起動目的であるプログラムを起動する。その後、ステップＳ１３０１で未初期化デバイス初期化手段１２０１が初期化対象デバイス表８２０に登録されていなかったＩ／Ｏデバイスの初期化を、起動プログラムの待ち処理等を利用して実施していく。全てのＩ／Ｏデバイスの初期化が完了した時点で終了となる。
【００５８】
以上のように、本実施の形態によれば、初期化対象デバイス表に記載されていないＩ／Ｏデバイスの初期化を、起動対象プログラム起動後に実施することにより、起動対象プログラム終了後に別プログラムが初期化対象デバイス表に記載されていないＩ／Ｏデバイスを操作する場合への対処が可能になる。
【００５９】
実施の形態７．
以下、実施の形態７を図を参照して説明する。
図１４は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図１と同一符号は同一又は相当部分を示し説明を省略する。
図１４において、１４００はメモリイメージ状態確認手段であり、メモリイメージが正しい物であるかどうかを確認する。１４０１はメモリイメージロード異常処理手段であり、メモリイメージロード時にトラブルが発生した場合の対処を行う。
【００６０】
次に、計算機の高速起動処理について図１５のフローチャート図を用いて説明する。
図１５は、計算機の高速起動処理の処理手順を示すフローチャートである。ここで、図１と同一の符号は同一動作を示すものである。なお、本実施の形態では、開始からステップＳ３０５メモリイメージロードが行なわれるまでは、実施の形態１の図３と同じ動作である。
ステップＳ１５００でメモリイメージ状態確認手段１４００がメモリイメージのプログラム構成や管理情報に問題が無いことを確認する。
【００６１】
ステップＳ１５０１でメモリイメージ内のプログラム構成ならびに管理情報に問題が見つかった場合は、メモリイメージロード異常処理手段１４０１がＯＳ初期化処理設定保存域１３０に対してメモリイメージ起動不許可の設定を実行した上で、ステップＳ３０３で通常初期化手段１１２が通常のＯＳ初期化処理を行う。
以後、ステップＳ３０４から終了までの処理手順は、実施の形態１の図３と同様である。
なお、ステップＳ１５０１にて、メモリイメージ内のプログラム構成ならびに管理情報に問題ないと判断した場合は、ステップＳ３０６から終了までの処理手順は、実施の形態１の図３と同様である。
【００６２】
以上のように、本実施の形態によれば、初期化完了メモリイメージのプログラム管理情報に問題がある場合は通常の初期化起動処理を行うこが可能となる。
【００６３】
実施の形態８．
以下、実施の形態８を図を参照して説明する。
図１６は、本実施の形態の計算機の起動時間短縮方式の構成図であり、図６と同一符号は同一又は相当部分を示し説明を省略する。
図１６において、１６００はロード対象メモリイメージ状態確認手段であり、ロード対象に選定されたメモリイメージの状態を確認する。１６０１はメモリイメージロード異常処理手段であり、選択されたメモリイメージのロード処理中に異常が発生した場合の対処を行う。１６０２は縮退運転開始手段であり、縮退運転を行う手段である。１６０３は異常処理指定表であり、異常検知プログラムに対する対処策、即ち縮退起動することが指定されている。
【００６４】
次に、計算機の高速起動処理について図１７のフローチャート図を用いて説明する。
図１７は、計算機の高速起動処理の処理手順を示すフローチャートである。ここで、図７と同一の符号は同一動作を示すものである。なお、本実施の形態では、開始からステップＳ７０２で実効プログラムのメモリイメージロードが行なわれるまでは、実施の形態３の図７と同じ動作である。
【００６５】
ステップＳ１７００でロード対象メモリイメージ状態確認手段１６００がＯＳデータならびに実行プログラムのメモリイメージ管理情報４３０の状態確認を行う。問題がない場合は、ステップＳ３１０から終了まで、実施の形態１の図３と同様の処理が行われる。
また、ステップＳ１７００でメモリイメージに問題が発見された場合は、ステップＳ１７０１でメモリイメージロード異常処理手段１６０１が異常処理指定表１６０３の読み込みを行い、異常検知プログラムに対する対処策を読み込む。
【００６６】
次に、ステップＳ１７０２でメモリイメージロード異常処理手段１６０１が異常処理指定表１６０３を参照して異常検知プログラムに対する対処策、即ち縮退起動が指定されているか否か判断する。
ここで、異常が確認されたプログラムに対する処理として縮退起動が指定されていない場合、つまり通常起動指定がされている場合は、メモリイメージロード異常処理手段１６０１がステップＳ３０３以降の通常起動処理を行う。
【００６７】
一方、ステップＳ１７０２で異常処理指定表１６０３に縮退起動が指定されている場合、すなわち縮退モードとして起動すべきプログラムが指定されている場合はステップＳ１７０３に進む。
ステップＳ１７０３で縮退運転開始手段１６０２が異常処理指定表１６０３にて指示された縮退起動プログラムを起動対象プログラムとするための設定変更を行う。
以降、ステップＳ３１０から終了までの処理手順は、実施の形態３の図７と同様である。
【００６８】
以上のように、本実施の形態によれば、メモリイメージチェックで問題が発生したプログラムに関して別のプログラムの起動指示を行う機構を備えることで、縮退運転またはメンテナンス状態での起動を可能にすることができる。
【図面の簡単な説明】
【００６９】
【図１】実施の形態１の計算機の起動時間短縮方式の構成図。
【図２】実施の形態１におけるＯＳデータ１５１の内容を示す説明図。
【図３】実施の形態１における計算機の高速起動処理の処理手順を示すフローチャート。
【図４】実施の形態２の計算機の起動時間短縮方式の構成図。
【図５】実施の形態２において初期化完了メモリイメージの作成・書込みの処理手順を示すフローチャート。
【図６】実施の形態３の計算機の起動時間短縮方式の構成図。
【図７】実施の形態３における計算機の高速起動処理の処理手順を示すフローチャート。
【図８】実施の形態４の計算機の起動時間短縮方式の構成図。
【図９】実施の形態４における計算機の高速起動処理の処理手順を示すフローチャート。
【図１０】実施の形態５の計算機の起動時間短縮方式の構成図。
【図１１】実施の形態５における初期化対象デバイス表１０２０の作成処理手順を示すフローチャート。
【図１２】実施の形態６の計算機の起動時間短縮方式の構成図。
【図１３】実施の形態６における計算機の高速起動処理の処理手順を示すフローチャート。
【図１４】実施の形態７の計算機の起動時間短縮方式の構成図。
【図１５】実施の形態７における計算機の高速起動処理の処理手順を示すフローチャート。
【図１６】実施の形態８の計算機の起動時間短縮方式の構成図。
【図１７】実施の形態８における計算機の高速起動処理の処理手順を示すフローチャート。
【符号の説明】
【００７０】
１００  ブートローダー、１１０  ＯＳ初期化処理、１１１  ＯＳ初期化処理選択手段、１１２  通常初期化手段、１１３  メモリイメージロード手段、１１４  起動要因判定手段、１１５  起動プログラム選択手段、１２０  各プログラム初期化手段、１３０  ＯＳ初期化処理設定保存域、１４０  初期化完了メモリイメージ保存域、１５０  主記憶、１５１  主記憶上のＯＳデータ、１５２、１５３  主記憶上にあるプログラムのデータ、１５４  起動プログラム選択表、１６０  起動完了表示手段、２０１  プログラム管理情報、２０２  実行中プログラム情報。
【図１】
2005284491.tif 000003
【図２】
2005284491.tif 000004
【図３】
2005284491.tif 000005
【図４】
2005284491.tif 000006
【図５】
2005284491.tif 000007
【図６】
2005284491.tif 000008
【図７】
2005284491.tif 000009
【図８】
2005284491.tif 000010
【図９】
2005284491.tif 000011
【図１０】
2005284491.tif 000012
【図１１】
2005284491.tif 000013
【図１２】
2005284491.tif 000014
【図１３】
2005284491.tif 000015
【図１４】
2005284491.tif 000016
【図１５】
2005284491.tif 000017
【図１６】
2005284491.tif 000018
【図１７】
2005284491.tif 000019