(57)【要約】【課題】本発明は、複数のＯＳのうちの更新に関係するＯＳのみを再起動するとともに、電源投入がなされたときは更新に関係しないＯＳを迅速に起動させることを目的とする。【解決手段】  ディスパッチャー１６７は、電源投入時又はＯＳの再起動時にＯＳに対応するＯＳ更新情報が記憶されている場合にはＯＳ更新情報を用いてＯＳプログラムを更新した後にＯＳを起動する。ディスパッチャー１６７は、電源投入時にＯＳに対応するＯＳ更新情報が記憶されていない場合にはＯＳを起動する。ディスパッチャー１６７は、ＯＳの再起動時にそのＯＳとは異なるＯＳに対応するＯＳ更新情報が記憶されていない場合には異なるＯＳの再起動を中止する。【選択図】図３
2007213494.tif 000002
【特許請求の範囲】
【請求項１】
複数のＯＳを起動するＯＳ起動処理部と、
前記ＯＳ起動処理部を起動する初期起動処理部と、
前記複数のＯＳのうちのいずれかのＯＳを構成するＯＳプログラムを更新するためのＯＳ更新情報を記憶する更新情報記憶部とを備え、
前記ＯＳ起動処理部は、電源投入時又は前記ＯＳの再起動時に前記ＯＳに対応する前記ＯＳ更新情報が記憶されている場合には前記ＯＳ更新情報を用いて前記ＯＳプログラムを更新した後に前記ＯＳを起動し、電源投入時に前記ＯＳに対応する前記ＯＳ更新情報が記憶されていない場合には前記ＯＳを起動し、前記ＯＳの再起動時に前記ＯＳとは異なるＯＳに対応する前記ＯＳ更新情報が記憶されていない場合には前記異なるＯＳの再起動を中止することを特徴とする更新起動装置。
【請求項２】
前記更新情報記憶部は、前記ＯＳ起動処理部を構成する起動プログラムの更新が未完了であることを条件に前記複数のＯＳのうちのいずれかのＯＳを構成する前記ＯＳプログラムの更新を中止するための更新中止情報を記憶し、
前記ＯＳ起動処理部は、前記電源投入時又は前記ＯＳの再起動時に、前記更新中止情報が記憶されていない場合には前記ＯＳ更新情報を用いて前記ＯＳプログラムを更新し、前記更新中止情報が記憶されている場合には前記ＯＳプログラムの更新を中止することを特徴とする請求項１に記載の更新起動装置。
【請求項３】
前記複数のＯＳは、第１ＯＳと第２ＯＳとを備えており、
前記更新情報記憶部は、前記第１ＯＳを構成する第１ＯＳプログラムの更新が未完了であることを条件に前記第２ＯＳを構成する第２ＯＳプログラムの更新を中止するための更新中止情報を記憶し、
前記ＯＳ起動処理部は、前記電源投入時又は前記第２ＯＳの再起動時に、前記更新中止情報が記憶されていない場合には前記ＯＳ更新情報を用いて前記第２ＯＳプログラムを更新し、前記更新中止情報が記憶されている場合には前記第２ＯＳプログラムの更新を中止することを特徴とする請求項１又は請求項２のいずれかに記載の更新起動装置。
【請求項４】
前記ＯＳ起動処理部は、前記起動プログラムを更新した場合には、前記更新中止情報を削除することを特徴とする請求項２に記載の更新起動装置。
【請求項５】
前記ＯＳ起動処理部は、前記第１ＯＳプログラムを更新した場合には、前記更新中止情報を削除することを特徴とする請求項３に記載の更新起動装置。
【請求項６】
前記更新情報記憶部は、前記ＯＳ起動処理部を構成する起動プログラムを更新するための起動更新情報を記憶し、
前記初期起動処理部は、前記電源投入時又は前記ＯＳの再起動時に、前記起動更新情報が記憶されている場合には前記起動更新情報を用いて前記起動プログラムを更新し、前記起動更新情報が記憶されていない場合には前記ＯＳ起動処理部を起動することを特徴とする請求項１に記載の更新起動装置。
【請求項７】
前記複数のＯＳは、第１ＯＳと第２ＯＳとを備えており、
前記更新情報記憶部は、前記第１ＯＳを構成する第１ＯＳプログラムの更新が未完了であることを条件に前記第２ＯＳの起動を中止するための起動中止情報を記憶し、
前記ＯＳ起動処理部は、前記電源投入時又は前記第２ＯＳの再起動前に前記起動中止情報が記憶されていない場合には前記第２ＯＳを起動し、前記電源投入時又は前記第２ＯＳの再起動前に前記起動中止情報が記憶されている場合には前記第２ＯＳの起動を中止することを特徴とする請求項１に記載の更新起動装置。
【請求項８】
前記ＯＳ起動処理部は、前記第１ＯＳプログラムを更新した場合には、前記起動中止情報を削除することを特徴とする請求項７に記載の更新起動装置。
【請求項９】
複数のＯＳを起動する工程Ａと、
前記工程Ａを起動する工程Ｂと、
前記複数のＯＳのうちのいずれかのＯＳを構成するＯＳプログラムを更新するためのＯＳ更新情報を記憶する工程Ｃとを備え、
前記工程Ａは、電源投入時又は前記ＯＳの再起動時に前記ＯＳに対応する前記ＯＳ更新情報が記憶されている場合には前記ＯＳ更新情報を用いて前記ＯＳプログラムを更新した後に前記ＯＳを起動し、電源投入時に前記ＯＳに対応する前記ＯＳ更新情報が記憶されていない場合には前記ＯＳを起動し、前記ＯＳの再起動時に前記ＯＳとは異なるＯＳに対応する前記ＯＳ更新情報が記憶されていない場合には前記異なるＯＳの再起動を中止することを特徴とする更新起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステム（以下、ＯＳ）を構成するプログラムを更新し、その後に当該ＯＳを起動する更新起動装置及び更新起動制御方法に関する。
【背景技術】
【０００２】
従来、携帯電話機又はＰＤＡ（Personal Digital Assistant）等の計算装置は、利用者の入力操作に応じて、ＯＳなどを構成するプログラムの不具合が改善された更新プログラムを含む更新情報をネットワーク経由で取得する。計算装置は、その更新情報を用いて不具合のあるプログラムを更新している（例えば、特許文献１参照；プログラム更新処理）。
【０００３】
また、複数のＯＳを同時に実行する計算装置も提供されている。この計算装置で実行される複数のＯＳの組合せには、リアルタイム制御を実行するリアルタイムＯＳとLinux（登録商標）又はWindows（登録商標）などの広く用いられている汎用ＯＳとの組合せ（例えば、特許文献２参照）、又はある信頼度のプロセスを実行するTrusted ＯＳとその信頼度よりも低い信頼度のプロセスを実行するUntrusted ＯＳとの組合せ（例えば、特許文献３参照）などが含まれている。
【０００４】
上記計算装置は、全てのＯＳを起動する処理（全ＯＳ起動処理）のみならずに、一のＯＳのみを起動する処理（一部ＯＳ起動処理）も実行することができる。例えば、計算装置は、第１ＯＳ及び第２ＯＳのうちの第２ＯＳのみに障害が発生した場合には、第２ＯＳのみを再起動することができる。
【特許文献１】ＵＳ特許第６８３２３７３号
【特許文献２】ＵＳ公開特許第２００４／２０５７５５号
【特許文献３】ＵＳ公開特許第２００５／００３３９０８号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記プログラム更新処理と上記全ＯＳ起動処理との組合せ（組合せ処理１）、又は上記プログラム更新処理と上記一部ＯＳ起動処理との組合せ（組合せ処理２）が考えられる。以下では、組合せ処理１及び組合せ処理２が実行されたときの問題点について詳細に述べる。
【０００６】
図９は、上記組合せ処理１及び組合せ処理２が用いられたときの計算装置のソフトウェア構成図である。図１０は、上記組合せ処理１及び組合せ処理２が用いられたときの計算装置の処理動作を示す図である。
【０００７】
図９に示すように、計算装置は、ブートプログラム１１と、ブートプログラム１１からの指示命令により、第１ＯＳ１４又は第２ＯＳ１５を構成するプログラムを更新する更新エージェント１２と、ブートプログラム１１からの指示命令により第１ＯＳ１４又は第２ＯＳ１５を起動するディスパッチャー１３と、ダウンロードされた更新情報を記憶する更新情報記憶部２０とを備えている。
【０００８】
なお、ブートプログラム１１及び更新エージェント１２は、上記プログラム更新処理を実行するものである。ディスパッチャー１３は、上記全ＯＳ起動処理又は上記一部ＯＳ起動処理を実行するものである。
【０００９】
図１０に示すように、Ｓ１において、計算装置の起動時（電源投入時又は再起動時）には、ブートプログラム１１が起動される。Ｓ３において、ブートプログラム１１は、更新情報が存在することを示す「有情報」が更新情報記憶部２０に記憶されている場合には、更新エージェント１２を起動する。Ｓ５において、更新エージェント１２は、更新情報を用いてディスパッチャー１３又はＯＳの更新を実行し、「有情報」を削除する。Ｓ９において、ブートプログラム１１は、「有情報」が更新情報記憶部２０に記憶されていない場合には、ディスパッチャー１３を起動する。
【００１０】
Ｓ１１及びＳ１３において、ディスパッチャー１３は、第１ＯＳ１４及び第２ＯＳ１５のメモリ領域を確保し、第１ＯＳ１４及び第２ＯＳ１５を起動する。ここまでの処理は、上記組合せ処理１に該当する。
【００１１】
又は、ディスパッチャー１３は、全てのＯＳを起動するのではなく、一のＯＳのみを起動することもできる。ここまでの処理は、上記組合せ処理２に該当する。
【００１２】
しかしながら、上記組合せ処理１が実行される場合には、更新に関係するＯＳのみならずに、更新に関係しないＯＳも再起動される（Ｓ９〜Ｓ１３）。このため、計算装置は、更新に関係しないＯＳを動作させながら、更新に関係するＯＳのみを再起動させることができず、更新に関係しないＯＳの稼働率を向上させることができない。
【００１３】
一方、上記組合せ処理２が実行される場合には、更新に関係するＯＳのみを再起動させることができるため、上記組合せ処理１の問題点が解決されるものの、下記の問題点が生じる。
【００１４】
具体的には、電源投入がなされたときに、第１ＯＳ１４を構成するプログラムを更新するための更新情報が存在しないものの、第２ＯＳ１５を構成するプログラムを更新するための更新情報が存在する場合には、必ず上記プログラム更新処理（図１０に示すＳ１〜Ｓ７）が実行される。そして、その後に上記一部ＯＳ起動処理が実行される。
【００１５】
このため、電源投入がなされた場合には上記プログラム更新処理が終了しなければ、更新に関係しない第１ＯＳ１４も起動されないことになる。これにより、計算装置は、電源投入がなされた場合には更新に関係しないＯＳを迅速に起動させることができず、当該ＯＳの稼働率を向上させることができない。
【００１６】
そこで、本発明は以上の点に鑑みて成されたものであり、複数のＯＳのうちの更新に関係するＯＳのみを再起動するとともに、電源投入がなされたときは更新に関係しないＯＳを迅速に起動させることができる更新起動装置及び更新起動制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明の第１の特徴は、複数のＯＳを起動するＯＳ起動処理部（例えば、ディスパッチャー１６７，第２更新エージェント１６６）と、ＯＳ起動処理部を起動する初期起動処理部（例えば、ブートローダー１６８）と、複数のＯＳのうちのいずれかのＯＳを構成するＯＳプログラムを更新するためのＯＳ更新情報を記憶する更新情報記憶部（例えば、更新情報記憶部１５０）とを備え、ＯＳ起動処理部は、電源投入時又はＯＳの再起動時にＯＳに対応するＯＳ更新情報が記憶されている場合にはＯＳ更新情報を用いてＯＳプログラムを更新した後にＯＳを起動し、電源投入時にＯＳに対応するＯＳ更新情報が記憶されていない場合にはＯＳを起動し、ＯＳの再起動時にそのＯＳとは異なるＯＳに対応するＯＳ更新情報が記憶されていない場合には異なるＯＳの再起動を中止することを要旨とする。
【００１８】
かかる特徴によれば、ＯＳの再起動時にそのＯＳとは異なるＯＳに対応するＯＳ更新情報が記憶されていない場合には、当該異なるＯＳの再起動が中止される。すなわち、当該異なるＯＳの動作が継続される。このため、更新に関係しないＯＳを動作させながら、更新に関係するＯＳのみを再起動させることができ、更新に関係しないＯＳの稼働率を向上することができる。
【００１９】
また、電源投入時又はＯＳの再起動時には、初期起動処理部によりＯＳプログラムが更新（図１０に示すＳ１〜Ｓ７参照）されるのではなく、ＯＳ起動処理部によりＯＳプログラムが更新される。また、電源投入時には、ＯＳ起動処理部により更新に関係しないＯＳが起動される。
【００２０】
このため、初期起動処理部がＯＳプログラムを更新する処理を実行しない分、ＯＳ起動処理部は、電源投入時においては更新に関係しないＯＳを迅速に再起動することができ、当該ＯＳの稼働率を向上させることができる。
【００２１】
本発明の第２の特徴は、更新情報記憶部は、ＯＳ起動処理部を構成する起動プログラムの更新が未完了であることを条件に複数のＯＳのうちのいずれかのＯＳを構成するＯＳプログラムの更新を中止するための更新中止情報を記憶し、ＯＳ起動処理部は、電源投入時又はＯＳの再起動時に、更新中止情報が記憶されていない場合にはＯＳ更新情報を用いてＯＳプログラムを更新し、更新中止情報が記憶されている場合にはＯＳプログラムの更新を中止することを要旨とする。
【００２２】
本発明の第３の特徴は、複数のＯＳは、第１ＯＳと第２ＯＳとを備えており、更新情報記憶部は、第１ＯＳを構成する第１ＯＳプログラムの更新が未完了であることを条件に第２ＯＳを構成する第２ＯＳプログラムの更新を中止するための更新中止情報を記憶し、ＯＳ起動処理部は、電源投入時又は第２ＯＳの再起動時に、更新中止情報が記憶されていない場合にはＯＳ更新情報を用いて第２ＯＳプログラムを更新し、更新中止情報が記憶されている場合には第２ＯＳプログラムの更新を中止することを要旨とする。
【００２３】
本発明の第４の特徴は、ＯＳ起動処理部は、起動プログラムを更新した場合には、更新中止情報を削除することを要旨とする。
【００２４】
本発明の第５の特徴は、ＯＳ起動処理部は、第１ＯＳプログラムを更新した場合には、更新中止情報を削除することを要旨とする。
【００２５】
本発明の第６の特徴は、更新情報記憶部は、ＯＳ起動処理部を構成する起動プログラムを更新するための起動更新情報を記憶し、初期起動処理部は、電源投入時又はＯＳの再起動時に、起動更新情報が記憶されている場合には起動更新情報を用いて起動プログラムを更新し、起動更新情報が記憶されていない場合にはＯＳ起動処理部を起動することを要旨とする。
【００２６】
本発明の第７の特徴は、複数のＯＳは第１ＯＳと第２ＯＳとを備えており、更新情報記憶部は、第１ＯＳを構成する第１ＯＳプログラムの更新が未完了であることを条件に第２ＯＳの起動を中止するための起動中止情報を記憶し、ＯＳ起動処理部は、電源投入時又はＯＳの再起動前に起動中止情報が記憶されていない場合には第２ＯＳを起動し、電源投入時又はＯＳの再起動前に起動中止情報が記憶されている場合には第２ＯＳの起動を中止することを要旨とする。
【００２７】
本発明の第８の特徴は、ＯＳ起動処理部は、第１ＯＳプログラムを更新した場合には、起動中止情報を削除することを要旨とする。
【発明の効果】
【００２８】
本発明の特徴によれば、複数のＯＳのうちの更新に関係するＯＳのみを再起動するとともに、電源投入がなされたときは更新に関係しないＯＳを迅速に起動させることができる。
【発明を実施するための最良の形態】
【００２９】
［第１実施形態］
（計算装置の構成）
図１は、本実施形態における計算装置１００の概略構成図である。図１に示すように、計算装置１００は、ＣＰＵ１１０と、通信部１２０と、カード読取部１３０と、入出力部１４０と、更新情報記憶部１５０と、制御プログラム記憶部１６０とを備えている。
【００３０】
ＣＰＵ１１０は、制御プログラム記憶部１６０に記憶されているプログラムに従って該当する処理を実行する。通信部１２０は、外部装置（図示せず）から所定情報（更新情報など）をダウンロードし、ダウンロードした所定情報を更新情報記憶部１５０に記憶する（図３参照）。カード読取部１３０は、ＳＩＭカードに記憶された加入者識別情報を読み込んだり、その他のカードに記憶された情報を読み込む。入出力部１４０は、文字、記号、数字又は画像など情報を入出力する。
【００３１】
更新情報記憶部１５０は、ディスパッチャー更新用記憶領域１５１と、第１ＯＳ更新用記憶領域１５２と、第２ＯＳ更新用記憶領域１５３とを備えている（図３参照）。なお、第１ＯＳ更新用記憶領域１５２、第２ＯＳ更新用記憶領域１５３の２つに限定されるわけではなく、ＯＳの数が増加されることに伴い、当該更新用記憶領域の数が増加されてもよいのは勿論のことである。
【００３２】
ディスパッチャー更新用記憶領域１５１は、第１更新有無情報と、第１更新参照情報と、第１更新情報（起動更新情報）とを記憶する領域である。第１更新有無情報には、第１更新情報が存在することを示す「有情報」が含まれている。第１更新参照情報には、第１更新情報が記憶されているアドレス情報が含まれている。第１更新情報には、ディスパッチャー１６７を構成するプログラム（起動プログラム）の一部又は全部を更新するための更新プログラムが含まれている。
【００３３】
第１ＯＳ更新用記憶領域１５２は、第２−１更新有無情報と、第２−１更新参照情報と、第２−１更新情報（ＯＳ更新情報）とを記憶する領域である。第２−１更新有無情報には、第２−１更新情報が存在することを示す「有情報」が含まれている。第２−１更新参照情報には、第２−１更新情報が記憶されているアドレス情報が含まれている。第２−１更新情報には、第１ＯＳ１６３を構成する第１ＯＳプログラムの一部又は全部を更新するための更新プログラムが含まれている。
【００３４】
第２ＯＳ更新用記憶領域１５３は、第２−２更新有無情報と、第２−２更新参照情報と、第２−２更新情報（ＯＳ更新情報）とを記憶する領域である。第２−２更新有無情報には、第２−２更新情報が存在することを示す「有情報」が含まれている。第２−２更新参照情報には、第２−２更新情報が記憶されているアドレス情報が含まれている。第２−２更新情報には、第２ＯＳ１６４を構成する第２ＯＳプログラムの一部又は全部を更新するための更新プログラムが含まれている。
【００３５】
なお、更新プログラムは、更新前のＯＳプログラムの全体を書き換えるためのプログラムに限定される分けではなく、更新前のＯＳプログラムに対する差分のプログラムであってもよい。これにより、更新情報のデータ量がより低減される。
【００３６】
制御プログラム記憶部１６０は、制御プログラム（ソフトウェア）を記憶する。図２は、本実施形態における制御プログラムの内容を示す図である。図３は、ＣＰＵ１１０を用いて構成される制御プログラム構成（ソフトウェア構成）、及びその制御プログラム構成によりアクセスされるハードウェア構成を示す図である。
【００３７】
図２に示すように、制御プログラムは、ダウンロードアプリケーション１６１と、他アプリケーション１６２と、第１ＯＳ１６３と、第２ＯＳ１６４と、第１更新エージェント１６５と、第２更新エージェント１６６と、ディスパッチャー１６７と、ブートローダー１６８とを備えている。
【００３８】
ダウンロードアプリケーション１６１は、第１ＯＳ１６３及び第２ＯＳ１６４上で動作するプログラムである。ダウンロードアプリケーション１６１は、更新用ドライバー１６３ａ又は更新用ドライバー１６４ｂを介して外部装置（図示せず）から更新情報（ここでは、第１更新情報,第２−１更新情報,第２−２更新情報など）をダウンロードする。
【００３９】
更新用ドライバー１６３ａ及び更新用ドライバー１６４ｂは、ダウンロードした更新情報に対応する更新有無情報（ここでは、第１更新有無情報,第２−１更新有無情報,第２−２更新有無情報）及び更新参照情報（ここでは、第１更新参照情報，第２−１更新参照情報，第２−２更新参照情報）を生成する。
【００４０】
他アプリケーション１６２は、ダウンロードアプリケーション１６１以外のアプリケーションである。第１更新エージェント１６５は、記憶されている第１更新情報を用いて、ディスパッチャー１６７を構成する起動プログラムの一部又は全部を更新する。
【００４１】
第２更新エージェント１６６は、第１ＯＳ１６３に対応する第２−１更新情報を用いて第１ＯＳ１６３を構成する第１ＯＳプログラムの一部又は全部を更新する。又、第２更新エージェント１６６は、第２ＯＳ１６４に対応する第２−２更新情報を用いて第２ＯＳ１６４を構成する第２ＯＳプログラムを更新する。
【００４２】
ディスパッチャー１６７は、(1)第１ＯＳ１６３又は第２ＯＳ１６４のロード及び起動、(2)第１ＯＳ１６３又は第２ＯＳ１６４のメモリの割当及びその他のシステムリソースの割当、(3)ＣＰＵ１１０における第１ＯＳ１６３又は第２ＯＳ１６４の時間割当（スケジューリング機能）、(4)ＯＳ間の通信を実行する。
【００４３】
又、ディスパッチャー１６７は、第１ＯＳ用起動プログラム１６７ａと、第２ＯＳ用起動プログラム１６７ｂとを備えている。
【００４４】
第１ＯＳ用起動プログラム１６７ａは、電源投入時又はＯＳ（第１ＯＳ１６３又は第２ＯＳ１６４）の再起動時に、第１ＯＳ１６３に対応する第２−１更新情報が記憶されている場合には第２更新エージェント１６６を起動する。一方、第１ＯＳ用起動プログラム１６７ａは、電源投入時に、第１ＯＳ１６３に対応する第２−１更新情報が記憶されていない場合には第１ＯＳ１６３を起動する。また、第１ＯＳ用起動プログラム１６７ａは、第２ＯＳ１６４の再起動時に、第１ＯＳ１６３に対応する第２−１更新情報が記憶されていない場合には第１ＯＳ１６３の再起動を中止（第１ＯＳ１６３の処理を継続）する。
【００４５】
具体的には、第１ＯＳ用起動プログラム１６７ａは、電源投入時又はＯＳ（第１ＯＳ１６３又は第２ＯＳ１６４）の再起動時に、第２−１更新有無情報に「有情報」が含まれている場合には、第１ＯＳ１６３を構成する第１ＯＳプログラムを更新させるために第２更新エージェント１６６を起動する。一方、第１ＯＳ用起動プログラム１６７ａは、電源投入時に、第２−１更新有無情報に「有情報」が含まれていない場合には、第１ＯＳ１６３を起動する。また、第１ＯＳ用起動プログラム１６７ａは、第２ＯＳ１６４の再起動時に、第２−１更新有無情報に「有情報」が含まれていない場合には、第１ＯＳ１６３の再起動を中止する。
【００４６】
第２ＯＳ用起動プログラム１６７ｂは、電源投入時又はＯＳ（第１ＯＳ１６３又は第２ＯＳ１６４）の再起動時に、第２ＯＳ１６４に対応する第２−２更新情報が記憶されている場合には第２更新エージェント１６６を起動する。一方、第２ＯＳ用起動プログラム１６７ｂは、電源投入時に、第２ＯＳ１６４に対応する第２−２更新情報が記憶されていない場合には第２ＯＳ１６３を起動する。また、第２ＯＳ用起動プログラム１６７ｂは、第１ＯＳ１６３の再起動時に、第２ＯＳ１６４に対応する第２−２更新情報が記憶されていない場合には第２ＯＳ１６３の再起動を中止（第２ＯＳ１６３の処理を継続）する。
【００４７】
具体的には、第２ＯＳ用起動プログラム１６７ｂは、電源投入時又はＯＳ（第１ＯＳ１６３又は第２ＯＳ１６４）の再起動時に、第２−２更新有無情報に「有情報」が含まれている場合には、第２ＯＳ１６４を構成する第２ＯＳプログラムを更新させるために第２更新エージェント１６６を起動する。一方、第２ＯＳ用起動プログラム１６７ｂは、電源投入時に、第２−２更新有無情報に「有情報」が含まれていない場合には、第２ＯＳ１６４を起動する。また、第２ＯＳ用起動プログラム１６７ｂは、第１ＯＳ１６３の再起動時に、第２−２更新有無情報に「有情報」が含まれていない場合には、第２ＯＳ１６４の再起動を中止する。
【００４８】
なお、第２更新エージェント１６６及びディスパッチャー１６７は、ＯＳ起動処理部を構成する。
【００４９】
ブートローダー１６８は、第１更新エージェント１６５又はディスパッチャー１６７を起動する。具体的には、ブートローダー１６８は、電源投入時又は再起動時に、第１更新有無情報に「有情報」が含まれている場合には第１更新エージェント１６５を起動する。ブートローダー１６８は、電源投入時又は再起動時に、第１更新有無情報に「有情報」が含まれていない場合にはディスパッチャー１６７を起動する。なお、ブートローダー１６８は、初期起動処理部を構成する。
【００５０】
（計算装置の動作）
次に、本実施形態における計算装置１００の動作について図４を参照しながら説明する。
【００５１】
図４に示すように、Ｓ１０１において、ブートローダー１６８は、電源投入時又は再起動時に起動する。
【００５２】
Ｓ１０３において、ブートローダー１６８は、第１更新有無情報に「有情報」が含まれているか否か判定する。また、ブートローダー１６８は、この判定がＹＥＳである場合には第１更新エージェント１６５を起動してＳ１０５の処理に移り、ＮＯである場合にはＳ１０９の処理に移る。
【００５３】
Ｓ１０５において、第１更新エージェント１６５は、第１更新参照情報に含まれるアドレス情報を用いて第１更新情報を取得する。第１更新エージェント１６５は、ディスパッチャー１６７を構成する起動プログラムの一部又は全部を、当該第１更新情報に含まれている更新プログラムに更新する。
【００５４】
Ｓ１０７において、第１更新エージェント１６５は、第１更新有無情報を削除するとともに、第１更新参照情報及び第１更新情報を削除する。そして、Ｓ１０７の処理が終了すると、Ｓ１０１からの処理が再び開始され、Ｓ１０３では、第１更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【００５５】
Ｓ１０９において、ブートローダー１６８は、ディスパッチャー１６７を起動する。
【００５６】
Ｓ１１１において、ディスパッチャー１６７は、第１ＯＳ用起動プログラム１６７ａを起動する。
【００５７】
Ｓ１１３において、第１ＯＳ用起動プログラム１６７ａは、第２−１更新有無情報に「有情報」が含まれているか否か判定する。また、第１ＯＳ用起動プログラム１６７ａは、この判定がＹＥＳである場合には第２更新エージェント１６６を起動してＳ１１５の処理に移り、ＮＯである場合にはＳ１１９の処理に移る。
【００５８】
Ｓ１１５において、第２更新エージェント１６６は、第２−１更新参照情報に含まれるアドレス情報を用いて第２−１更新情報を取得する。第２更新エージェント１６６は、第１ＯＳ１６３を構成する第１ＯＳプログラムの一部又は全部を、取得した第２−１更新情報に含まれている更新プログラムに更新する。
【００５９】
Ｓ１１７において、第２更新エージェント１６６は、第２−１更新有無情報を削除するとともに、第２−１更新参照情報及び第２−１更新情報も削除する。そして、Ｓ１１７の処理が終了すると、Ｓ１１１からの処理が再び開始され、Ｓ１１３では、第２−１更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【００６０】
Ｓ１１９において、第１ＯＳ用起動プログラム１６７ａは、電源投入時には第１ＯＳ１６３を実行するためのメモリリソースを確保し、第１ＯＳ１６３を起動する。また、第１ＯＳ用起動プログラム１６７ｂは、第２ＯＳ１６４の再起動時には第１ＯＳ１６３の再起動を中止する（すなわち、第１ＯＳ１６３の処理を継続する）。
【００６１】
Ｓ１２１において、ディスパッチャー１６７は、第２ＯＳ用起動プログラム１６７ｂを起動する。
【００６２】
Ｓ１２３において、第２ＯＳ用起動プログラム１６７ｂは、第２−２更新有無情報に「有情報」が含まれているか否か判定する。また、第２ＯＳ用起動プログラム１６７ｂは、この判定がＹＥＳである場合には第２更新エージェント１６６を起動してＳ１２５の処理に移り、ＮＯである場合にはＳ１２９の処理に移る。
【００６３】
Ｓ１２５において、第２更新エージェント１６６は、第２−２更新参照情報に含まれるアドレス情報を用いて第２−２更新情報を取得する。第２更新エージェント１６６は、第２ＯＳ１６４を構成する第２ＯＳプログラムの一部又は全部を、当該第２−２更新情報に含まれている更新プログラムに更新する。
【００６４】
Ｓ１２７において、第２更新エージェント１６６は、第２−２更新有無情報を削除するとともに、第２−２更新参照情報及び第２−２更新情報を削除する。そして、Ｓ１２７の処理が終了すると、Ｓ１２１からの処理が再び開始され、Ｓ１２３では、第２−２更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【００６５】
Ｓ１２９において、第２ＯＳ用起動プログラム１６７ｂは、電源投入時には第２ＯＳ１６４のメモリリソースを確保し、第２ＯＳ１６４を起動する。また、第２ＯＳ用起動プログラム１６７ｂは、第１ＯＳ１６３の再起動時には第２ＯＳ１６４の再起動を中止する（すなわち、第２ＯＳ１６４の処理を継続する）。
【００６６】
なお、ディスパッチャー１６７は、一のＯＳ上の全てのタスクがアイドル状態である場合に、他のＯＳを構成するＯＳプログラムの更新処理及び当該他のＯＳの起動処理（Ｓ３１１〜Ｓ３２３、又はＳ３２５〜Ｓ３３７）を実行してもよい。
【００６７】
かかる特徴によれば、ＯＳ（例えば第２ＯＳ１６４）の再起動時にそのＯＳとは異なるＯＳ（例えば第１ＯＳ１６３）に対応するＯＳ更新情報が記憶されていない場合（Ｓ１１９又はＳ１２９参照）には、当該異なるＯＳの再起動が中止される（すなわち、異なるＯＳの動作が継続される）。このため、計算装置１００は、更新に関係しないＯＳを動作させながら、更新に関係するＯＳのみを再起動させることができ、更新に関係しないＯＳの稼働率を向上することができる。
【００６８】
これにより、計算装置１００は、電話機能などの重要なプロセスを実行するＯＳを実行させながら、そのプロセスよりも重要性の低いプロセスを実行する他のＯＳを構成するＯＳプログラムを更新して当該他のＯＳを再起動することができ、当該更新及び再起動を実行する状況下でも通信サービスを低下させないようにすることができる。
【００６９】
また、電源投入時又はＯＳの再起動時には、ブートローダー１６８（初期起動処理部）によりＯＳプログラムが更新（図１０に示すＳ１〜Ｓ７参照）されるのではなく、ディスパッチャー１６７（ＯＳ起動処理部）によりＯＳプログラムが更新される。また、電源投入時には、ディスパッチャー１６７により更新に関係しないＯＳが起動される。
【００７０】
このため、ブートローダー１６８がＯＳプログラムを更新する処理を実行しない分、ディスパッチャー１６７は、電源投入時においては更新に関係しないＯＳを迅速に再起動することができ、当該ＯＳの稼働率を向上させることができる。
【００７１】
［第２実施形態］
（計算装置の構成）
第１実施形態では、複数のＯＳプログラムのうちの一方のＯＳプログラムは、他方のＯＳプログラム、又はディスパッチャーを構成する起動プログラムの更新の有無に関係なく更新される。これに対し、本実施形態では、一方のＯＳプログラムは、他方のＯＳプログラム、又はディスパッチャーを構成する起動プログラムが更新されていることを条件に更新される。以下、具体的に説明する。
【００７２】
図５は、本実施形態における計算装置２００の内部構成図である。図５に示す斜線部分は、図３の構成とは異なる部分を示す。
【００７３】
図５に示すように、第１ＯＳ更新用記憶領域２５２は、第２−１更新中止情報を更に記憶している。第２ＯＳ更新用記憶領域２５３は、第２−２更新中止情報を更に記憶している。また、図５に示す第２更新エージェント２６６以外の機能は図３に示す機能と略同様である。このため、以下では、第２−１更新中止情報、第２−２更新中止情報及び第２更新エージェント２６６についてのみ説明する。
【００７４】
第２−１更新中止情報は、第２ＯＳ２６４を構成する第２ＯＳプログラム、又はディスパッチャー２６７を構成する起動プログラムの更新が未完了であることを条件に第１ＯＳ２６３を構成する第１ＯＳプログラムの更新を中止するための更新中止情報である。
【００７５】
本実施形態では、ディスパッチャー２６７を構成する起動プログラムの更新が未完了であることを条件に第１ＯＳプログラムの更新が中止される場合（図５に示す従属関係ａ参照）には、第２−１更新中止情報には「第１更新情報」が含まれる。また、第２ＯＳプログラムの更新が未完了であることを条件に第１ＯＳプログラムの更新が中止される場合（図５に示す従属関係ｃ参照）には、第２−１更新中止情報には「第２−２更新情報」が含まれる。
【００７６】
第２−２更新中止情報は、第１ＯＳ２６３を構成する第１ＯＳプログラム、又はディスパッチャー２６７を構成する起動プログラムの更新が未完了であることを条件に第２ＯＳ２６４を構成する第２ＯＳプログラムの更新を中止するための更新中止情報である。
【００７７】
本実施形態では、ディスパッチャー２６７を構成する起動プログラムの更新が未完了であることを条件に第２ＯＳプログラムの更新が中止される場合（図５に示す従属関係ｂ参照）には、第２−２更新中止情報には「第１更新情報」が含まれる。また、第１ＯＳプログラムの更新が未完了であることを条件に第２ＯＳプログラムの更新が中止される場合（図５に示す従属関係ｃ参照）には、第２−２更新中止情報には「第２−１更新情報」が含まれる。
【００７８】
第２更新エージェント２６６は、第１ＯＳ更新用記憶領域２５２又は第２ＯＳ更新用記憶領域２５３に更新中止情報が記憶されていない場合には、第２−１更新情報又は第２−２更新情報を用いて第１ＯＳプログラム又は第２ＯＳプログラムを更新する。一方、第２更新エージェント２６６は、更新中止情報が記憶されている場合には第１ＯＳプログラム又は第２ＯＳプログラムの更新を中止する。
【００７９】
（計算装置の動作）
次に、本実施形態における計算装置２００の動作について図６を参照しながら説明する。なお、図６に示す斜線部分は、上述した第１実施形態における計算装置１００とは異なる処理を示す。
【００８０】
図６に示すように、Ｓ２０１において、ブートローダー２６８は、電源投入時又は再起動時に起動する。
【００８１】
Ｓ２０３において、ブートローダー２６８は、第１更新有無情報に「有情報」が含まれているか否か判定する。また、ブートローダー２６８は、この判定がＹＥＳである場合には第１更新エージェント２６５を起動してＳ２０５の処理に移り、ＮＯである場合にはＳ２１１の処理に移る。
【００８２】
Ｓ２０５において、第１更新エージェント２６５は、第１更新参照情報に含まれるアドレス情報を用いて第１更新情報を取得する。第１更新エージェント２６５は、ディスパッチャー２６７を構成する起動プログラムの一部又は全部を、当該第１更新情報に含まれている更新プログラムに更新する。
【００８３】
Ｓ２０７において、第１更新エージェント２６５は、第１更新有無情報を削除するとともに、第１更新参照情報及び第１更新情報を削除する。
【００８４】
Ｓ２０９において、第１更新エージェント２６５は、第２−１更新中止情報又は第２−２更新中止情報に記憶されている第１更新情報を削除する（図５斜線部分参照）。第１更新エージェント２６５は、第１更新情報を削除した後に、第２−１更新中止情報又は第２−２更新中止情報に何も含まれていない場合には、当該第２−１更新中止情報又は第２−２更新中止情報を削除する。
【００８５】
Ｓ２０９の処理が終了すると、Ｓ２０１からの処理が再び開始され、Ｓ２０３では、第１更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【００８６】
Ｓ２１１において、ブートローダー２６８は、ディスパッチャー２６７を起動する。
【００８７】
Ｓ２１３において、ディスパッチャー２６７は、第１ＯＳ用起動プログラム２６７ａを起動する。
【００８８】
Ｓ２１５において、第１ＯＳ用起動プログラム２６７ａは、第２−１更新有無情報に「有情報」が含まれているか否か判定する。また、第１ＯＳ用起動プログラム２６７ａは、この判定がＹＥＳである場合にはＳ２１７の処理に移り、ＮＯである場合にはＳ２２５の処理に移る。
【００８９】
Ｓ２１７において、第１ＯＳ用起動プログラム２６７ａは、第２−１更新中止情報が記憶されているか否か判定する。また、第１ＯＳ用起動プログラム２６７ａは、この判定がＹＥＳである場合には、Ｓ２１９の更新処理に移らずにＳ２１３の処理に戻る。一方、第１ＯＳ用起動プログラム２６７ａは、この判定がＮＯである場合には、第２更新エージェント２６６を起動してＳ２１９の処理に移る。
【００９０】
ここで、Ｓ２１７において「ＮＯ」が判定され、第１ＯＳプログラムの更新が実行されるためには、上述したＳ２０９又は後述するＳ２３７において第２−１更新中止情報が削除されることが条件となる。
【００９１】
本実施形態では、第１ＯＳプログラムが、ディスパッチャー２６７を構成する起動プログラムを用いた処理、又は第２ＯＳを構成する第２ＯＳプログラムを用いた処理を実行する場合には、第２−１更新中止情報に第１更新情報又は第２−２更新情報が記憶される。  この場合に、Ｓ２０５で当該起動プログラムが更新されてＳ２０９で第２−１更新中止情報が削除されたことを条件に、又はＳ２３３で当該第２ＯＳプログラムが更新されてＳ２３７で第２−１更新中止情報が削除されたことを条件に、第１ＯＳプログラムが更新される。
【００９２】
Ｓ２１９において、第２更新エージェント２６６は、第２−１更新参照情報に含まれるアドレス情報を用いて第２−１更新情報を取得する。第２更新エージェント２６６は、第１ＯＳ２６３を構成する第１ＯＳプログラムの一部又は全部を、取得した第２−１更新情報に含まれている更新プログラムに更新する。
【００９３】
Ｓ２２１において、第２更新エージェント２６６は、第２−１更新有無情報を削除するとともに、第２−１更新参照情報及び第２−１更新情報も削除する。
【００９４】
Ｓ２２３において、第２更新エージェント２６６は、第２−２更新中止情報に記憶されている第２−１更新情報を削除する（図５斜線部分参照）。第２更新エージェント２６６は、第２−１更新情報を削除した後に、第２−２更新中止情報に何も含まれていない場合には、当該第２−２更新中止情報を削除する。
【００９５】
そして、Ｓ２２３の処理が終了すると、Ｓ２１３からの処理が再び開始され、Ｓ２１５では、第２−１更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【００９６】
Ｓ２２５において、第１ＯＳ用起動プログラム２６７ａは、上述したＳ１１９の処理と同様の処理を実行する。
【００９７】
Ｓ２２７において、ディスパッチャー２６７は、第２ＯＳ用起動プログラム２６７ｂを起動する。
【００９８】
Ｓ２２９において、第２ＯＳ用起動プログラム２６７ｂは、第２−２更新有無情報に「有情報」が含まれているか否か判定する。また、第２ＯＳ用起動プログラム２６７ｂは、この判定がＹＥＳである場合にはＳ２３１の処理に移り、ＮＯである場合にはＳ２３９の処理に移る。
【００９９】
Ｓ２３１において、第２ＯＳ用起動プログラム２６７ｂは、第２−２更新中止情報が記憶されているか否か判定する。また、第２ＯＳ用起動プログラム２６７ｂは、この判定がＹＥＳである場合には、Ｓ２３３の更新処理に移らずにＳ２２７の処理に戻る。一方、第２ＯＳ用起動プログラム２６７ｂは、この判定がＮＯである場合には、第２更新エージェント２６６を起動してＳ２３３の処理に移る。
【０１００】
ここで、Ｓ２３１において「ＮＯ」が判定され、第２ＯＳプログラムの更新が実行されるためには、上述したＳ２０９又はＳ２２３において第２−２更新中止情報が削除されることが条件となる。
【０１０１】
本実施形態では、第２ＯＳプログラムが、ディスパッチャー２６７を構成する起動プログラムを用いた処理、又は第１ＯＳを構成する第１ＯＳプログラムを用いた処理を実行する場合には、第２−２更新中止情報に第１更新情報又は第２−１更新情報が記憶される。  この場合には、Ｓ２０５で当該起動プログラムが更新されて、Ｓ２０９で第１更新情報を含む第２−２更新中止情報が削除されたことを条件に、第２ＯＳプログラムが更新される。又はＳ２１９で当該第１ＯＳプログラムが更新されて、Ｓ２２３で第２−１更新情報を含む第２−２更新中止情報が削除されたことを条件に、第２ＯＳプログラムが更新される。
【０１０２】
Ｓ２３３において、第２更新エージェント２６６は、第２−２更新参照情報に含まれるアドレス情報を用いて第２−２更新情報を取得する。第２更新エージェント２６６は、第２ＯＳ２６４を構成する第２ＯＳプログラムの一部又は全部を、取得した第２−２更新情報に含まれている更新プログラムに更新する。
【０１０３】
Ｓ２３５において、第２更新エージェント２６６は、第２−２更新有無情報を削除するとともに、第２−２更新参照情報及び第２−２更新情報も削除する。
【０１０４】
Ｓ２３７において、第２更新エージェント２６６は、第２−１更新中止情報に記憶されている第２−２更新情報を削除する（図５斜線部分参照）。第２更新エージェント２６６は、第２−２更新情報を削除した後に、第２−１更新中止情報に何も含まれていない場合には、当該第２−１更新中止情報を削除する。
【０１０５】
そして、Ｓ２３７の処理が終了すると、Ｓ２２７からの処理が再び開始され、Ｓ２２９では、第２−２更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【０１０６】
Ｓ２３９において、第２ＯＳ用起動プログラム２６７ｂは、上述したＳ１２９の処理と同様の処理を実行する。
【０１０７】
ここで、例えば、第１ＯＳ２６３と第２ＯＳ２６４とが共有するデバイスドライバー（ＯＳプログラム）が設定され、第２ＯＳ２６４が第１ＯＳ２６３経由でデバイスドライバーにアクセスする場合を考える。この場合に、第２ＯＳ２６４に新規デバイスドライバーが追加される場合には、その前に第１ＯＳ２６３に新規デバイスドライバーが追加されなければならない。
【０１０８】
本実施形態では、第２−２更新中止情報が記憶されることにより、先ず第１ＯＳ２６３に新規デバイスドライバーが追加され、当該第２−２更新中止情報が削除されることを条件に、その次に第２ＯＳ２６４に新規デバイスドライバーが追加される。このため、計算装置２００は、第２ＯＳ２６４で新規デバイスドライバーを実行している際に、第１ＯＳ２６３のデバイスドライバーが未更新であることに伴う誤動作を回避することができる。
【０１０９】
すなわち、一のＯＳプログラム又は起動プログラムの更新が完了していない場合には、一のＯＳプログラム又は起動プログラムを用いた処理を実行する他のＯＳプログラムの更新が中止される。このため、計算装置２００は、更新後の当該他のＯＳプログラムを実行している際に当該一のＯＳプログラム又は起動プログラムの未更新による誤動作を回避することができる。
【０１１０】
［第３実施形態］
（計算装置の構成）
第１実施形態では、複数のＯＳのうちの一方のＯＳは、他方のＯＳを構成するＯＳプログラム、又はディスパッチャーを構成する起動プログラムの更新の有無に関係なく起動される。これに対し、本実施形態では、一方のＯＳは、他方のＯＳを構成するＯＳプログラム、又はディスパッチャーを構成する起動プログラムが更新されていることを条件に起動される。以下、具体的に説明する。
【０１１１】
図７は、本実施形態における計算装置３００の内部構成図である。図７に示す斜線部分は、図３の構成とは異なる部分を示す。
【０１１２】
図７に示すように、更新情報記憶部３５０は、起動禁止情報を更に記憶している。また、図７に示すディスパッチャー３６７以外の機能は図３に示す機能と略同様である。このため、以下では、起動禁止情報、及びディスパッチャー３６７についてのみ説明する。
【０１１３】
起動禁止情報は、複数のＯＳのうちの第１ＯＳ（第１ＯＳ３６３又は第２ＯＳ３６４）を構成するＯＳプログラムの更新が未完了であることを条件に第２ＯＳ（第２ＯＳ３６４又は第１ＯＳ３６３）の起動を中止するための情報である。
【０１１４】
本実施形態では、第１ＯＳ３６３を構成する第１ＯＳプログラムの更新が未完了であることを条件に第２ＯＳ３６４の起動が中止される場合には、起動禁止情報には「第２−２更新情報」が含まれる。また、第２ＯＳ３６４を構成する第２ＯＳプログラムの更新が未完了であることを条件に第１ＯＳ３６３の起動が中止される場合には、起動禁止情報には「第２−１更新情報」が含まれる。
【０１１５】
ディスパッチャー３６７は、起動禁止情報に第２−１更新情報が含まれている場合には第１ＯＳ３６３の起動を中止し、起動禁止情報に第２−１更新情報が含まれていない場合には第１ＯＳ３６３を起動する。
【０１１６】
又、ディスパッチャー３６７は、起動禁止情報に第２−２更新情報が含まれている場合には第２ＯＳ３６４の起動を中止し、起動禁止情報に第２−２更新情報が含まれていない場合には第２ＯＳ３６４を起動する。
【０１１７】
なお、起動禁止情報は、更新情報、更新有無情報又は更新参照情報などに含められてもよい。
【０１１８】
（計算装置の動作）
次に、本実施形態における計算装置３００の動作について図８を参照しながら説明する。なお、図８に示す斜線部分は、上述した第１実施形態における計算装置１００とは異なる処理を示す。また、Ｓ３０１からＳ３０９までの処理の流れは図４に示すＳ１０１からＳ１０９までの処理の流れと同様であるため、ここでの詳細な説明は省略する。
【０１１９】
Ｓ３１１において、ディスパッチャー３６７は、第１ＯＳ用起動プログラム３６７ａを起動する。
【０１２０】
Ｓ３１３において、第１ＯＳ用起動プログラム３６７ａは、第２−１更新有無情報に「有情報」が含まれているか否か判定する。また、第１ＯＳ用起動プログラム３６７ａは、この判定がＹＥＳである場合には第２更新エージェント３６６を起動してＳ３１５の処理に移り、ＮＯである場合にはＳ３２１の処理に移る。
【０１２１】
Ｓ３１５において、第２更新エージェント３６６は、第２−１更新参照情報に含まれるアドレス情報を用いて第２−１更新情報を取得する。第２更新エージェント３６６は、第１ＯＳ３６３を構成する第１ＯＳプログラムの一部又は全部を、取得した第２−１更新情報に含まれている更新プログラムに更新する。
【０１２２】
Ｓ３１７において、第２更新エージェント３６６は、第２−１更新有無情報を削除するとともに、第２−１更新参照情報及び第２−１更新情報も削除する。
【０１２３】
Ｓ３１９において、第２更新エージェント３６６は、起動中止情報に含まれている第２−２更新情報を削除する。そして、Ｓ３１９の処理が終了すると、Ｓ３１１からの処理が再び開始され、Ｓ３１３では、第２−１更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【０１２４】
Ｓ３２１において、第１ＯＳ用起動プログラム３６７ａは、起動中止情報に第２−１更新情報が含まれているか否か判定する。また、第１ＯＳ用起動プログラム３６７ａは、この判定がＹＥＳである場合には本処理を繰り返し、ＮＯである場合にはＳ３２３の処理に移る。
【０１２５】
Ｓ３２３において、第１ＯＳ用起動プログラム３６７ａは、上述したＳ１１９の処理と同様の処理を実行する。
【０１２６】
ここで、起動中止情報に第２−１更新情報のみが含まれている場合を考える。この場合には、Ｓ３３３で起動中止情報に含まれている第２−１更新情報が削除されることを条件に、Ｓ３２１において「ＮＯ」が判定され、Ｓ３２３において第１ＯＳ３６３が起動される。
【０１２７】
Ｓ３２５において、ディスパッチャー３６７は、第２ＯＳ用起動プログラム３６７ｂを起動する。
【０１２８】
Ｓ３２７において、第２ＯＳ用起動プログラム３６７ｂは、第２−２更新有無情報に「有情報」が含まれているか否か判定する。また、第２ＯＳ用起動プログラム３６７ｂは、この判定がＹＥＳである場合には第２更新エージェント３６６を起動してＳ３２９の処理に移り、ＮＯである場合にはＳ３３５の処理に移る。
【０１２９】
Ｓ３２９において、第２更新エージェント３６６は、第２−２更新参照情報に含まれるアドレス情報を用いて第２−２更新情報を取得する。第２更新エージェント３６６は、第２ＯＳ３６４を構成する第２ＯＳプログラムの一部又は全部を、取得した第２−２更新情報に含まれている更新プログラムに更新する。
【０１３０】
Ｓ３３１において、第２更新エージェント３６６は、第２−２更新有無情報を削除するとともに、第２−２更新参照情報及び第２−２更新情報を削除する。
【０１３１】
Ｓ３３３において、第２更新エージェント３６６は、起動中止情報に含まれている第２−１更新情報を削除する。そして、Ｓ３３３の処理が終了すると、Ｓ３２５からの処理が再び開始され、Ｓ３２７では、第２−２更新有無情報が既に削除されているため、「ＮＯ」が判定される。
【０１３２】
Ｓ３３５において、第２ＯＳ用起動プログラム３６７ｂは、起動中止情報に第２−２更新情報が含まれているか否か判定する。また、第２ＯＳ用起動プログラム３６７ｂは、この判定がＹＥＳである場合には本処理を繰り返し、ＮＯである場合にはＳ３３７の処理に移る。
【０１３３】
Ｓ３３７において、第２ＯＳ用起動プログラム３６７ｂは、上述したＳ１２９の処理と同様の処理を実行する。
【０１３４】
ここで、起動中止情報に第２−２更新情報のみが含まれている場合を考える。この場合には、Ｓ３１９で起動中止情報に含まれている第２−２更新情報が削除されることを条件に、Ｓ３３５において「ＮＯ」が判定され、Ｓ３３７において第２ＯＳ３６４が起動される。
【０１３５】
かかる特徴によれば、起動中止情報が記憶されていない場合には第１ＯＳ３６３又は第２ＯＳ３６４が起動される。一方、起動中止情報が記憶されている場合には第１ＯＳ３６３又は第２ＯＳ３６４の起動が中止される。
【０１３６】
これにより、一のＯＳプログラム（例えば第１ＯＳプログラム）の更新が完了していない場合には、他のＯＳプログラム（例えば第２ＯＳプログラム）に対応するＯＳ（例えば第２ＯＳ３６４）の起動が中止される。このため、計算装置３００は、当該他のＯＳプログラムに対応するＯＳを起動させた後に、当該一のＯＳプログラムの未更新による誤動作を回避することができる。
【０１３７】
また、他のＯＳで実行される処理よりも重要度の高い処理を実行する一のＯＳを構成するＯＳプログラムの更新が必要である場合には、起動中止情報が記憶されることにより当該他のＯＳの起動が禁止される。
【０１３８】
このため、計算装置３００は、上記一のＯＳを構成するＯＳプログラムから優先して更新を実行することができるとともに、当該一のＯＳから優先して起動することができる。これにより、計算装置３００は、あるＯＳを起動させた後に、そのＯＳよりも重要性の高い処理を実行するＯＳプログラムの未更新による誤動作を回避することができる。
【０１３９】
なお、各実施形態における計算装置は、携帯電話機、ＰＤＡ、パーソナルコンピュータ等の電子機器に適用することができる。
【０１４０】
以上、本発明の一例を説明したが、具体例を例示したに過ぎず、特に本発明を限定するものではなく、各実施形態及び各変更例における具体的構成等は、適宜設計変更可能である。また、各実施形態及び各変更例の具体的構成のそれぞれは、組み合わせることが可能である。さらに、各実施形態及び各変更例の作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、各実施形態及び各変更例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【０１４１】
【図１】第１実施形態における計算装置の内部構成を示す図である。
【図２】第１実施形態における制御プログラムの内容を示す図である。
【図３】第１実施形態における制御プログラム構成及びハードウェア構成を示す図である。
【図４】第１実施形態における計算装置の動作を示す図である。
【図５】第２実施形態における制御プログラム構成及びハードウェア構成を示す図である。
【図６】第２実施形態における計算装置の動作を示す図である。
【図７】第３実施形態における制御プログラム構成及びハードウェア構成を示す図である。
【図８】第３実施形態における計算装置の動作を示す図である。
【図９】組合せ処理１及び組合せ処理２が用いられたときの計算装置のソフトウェア構成及びハードウェア構成を示す図である。
【図１０】組合せ処理１及び組合せ処理２が用いられたときの計算装置の処理動作を示す図である。
【符号の説明】
【０１４２】
１００…計算装置、１１０…ＣＰＵ、１２０…通信部、１３０…カード読取部、１４０…入出力部、１５０…更新情報記憶部、１５１…ディスパッチャー更新用記憶領域、１５２…第１ＯＳ更新用記憶領域、１５３…第２ＯＳ更新用記憶領域、１６０…制御プログラム記憶部、１６１…ダウンロードアプリケーション、１６２…他アプリケーション、１６３ａ…更新用ドライバー、１６４ｂ…更新用ドライバー、１６５…第１更新エージェント、１６６…第２更新エージェント、１６７…ディスパッチャー、１６７ａ…第１ＯＳ用起動プログラム、１６７ｂ…第２ＯＳ用起動プログラム、１６８…ブートローダー
【図１】
2007213494.tif 000003
【図２】
2007213494.tif 000004
【図３】
2007213494.tif 000005
【図４】
2007213494.tif 000006
【図５】
2007213494.tif 000007
【図６】
2007213494.tif 000008
【図７】
2007213494.tif 000009
【図８】
2007213494.tif 000010
【図９】
2007213494.tif 000011
【図１０】
2007213494.tif 000012