JP5944017B2 - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP5944017B2
JP5944017B2 JP2014560533A JP2014560533A JP5944017B2 JP 5944017 B2 JP5944017 B2 JP 5944017B2 JP 2014560533 A JP2014560533 A JP 2014560533A JP 2014560533 A JP2014560533 A JP 2014560533A JP 5944017 B2 JP5944017 B2 JP 5944017B2
Authority
JP
Japan
Prior art keywords
standby
processor
processing apparatus
information processing
initialization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014560533A
Other languages
English (en)
Other versions
JPWO2014122694A1 (ja
Inventor
整 山本
整 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5944017B2 publication Critical patent/JP5944017B2/ja
Publication of JPWO2014122694A1 publication Critical patent/JPWO2014122694A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

この発明は、情報処理装置のOS(Operating System)再起動時の起動時間の短縮化技術に関する。
各種システム初期設定データを固定的データとして不揮発性メモリに記憶しておき、OS起動時に不揮発性メモリを参照して装置の設定を行うことでOS起動時に装置の動作を早期に開始するシステム初期化情報早期設定方式が特許文献1に示されている。
また、不揮発性メモリにブート情報や起動プログラムを現用と予備の複数個記憶し、現用のブート情報や起動プログラムで動作中のシステム障害発生時には、予備のブート情報や起動プログラムに切り替えて再起動する方法が、特許文献2、特許文献3で示されている。
特開平3−105618号公報 特開2004−78294号公報 特開2010−61419号公報
特許文献1のシステム初期化情報早期設定方式は、システム構成がデバイスの追加や削除により変更されることのあるシステムに対して、記憶しているシステム初期設定データと備えたデバイスが整合しなくなるため、適用できないという問題があった。
また、特許文献2、特許文献3に記載される従来の情報処理装置のOS再起動方式は、現用のブート情報や起動プログラムから予備のブート情報や起動プログラムに切り替えてOSを再起動する。そのため、OS再起動時にシステムが備えるデバイスの初期化を実施する必要があり、OS再起動に時間がかかるという問題があった。
この発明は上記のような問題点を解決するためになされたものであり、システム構成が変更されることのあるシステムにおいて、デバイス設定処理時間を短縮したOSの再起動が可能な情報処理装置を得ることを目的とする。
この発明の情報処理装置は、プロセッサと、プロセッサに接続され、プロセッサが実行するOSを記憶する記憶媒体と、プロセッサに接続され、OS再起動時に再初期化される1つ以上のデバイスと、プロセッサによりシステム起動時に実行され、デバイスの初期化を行うとともに、システム起動後の通常状態にOS処理を行う運用OSと、プロセッサによりシステム起動時に実行され、プロセッサに接続されているデバイスを検出し、検出したデバイスの初期化処理を行って待機するとともに、運用OSに異常が発生し再起動が必要になった場合には、待機前の初期化処理時に保存したデバイスの再初期化データを用いてデバイスの再初期化処理を行う待機OSと、を備えるようにした。
この発明のプログラムは、1または複数のデバイスが接続された情報処理装置が備えるプロセッサに、システム起動時に不揮発性記憶媒体からプロセッサが実行するOSを記憶するための記憶媒体に待機OSと運用OSをロードする処理と、待機OSと運用OSをロードした後に、待機OSを用いて情報処理装置に接続されたデバイスを検出し、デバイスの初期化を行う初期化処理と、デバイスの初期化処理で生成されたデバイスの初期化データを再初期化データとして記憶媒体に保存する保存処理と、保存処理後に待機OSを待機状態にするとともに運用OSを実行する処理と、待機OSの再起動を行う場合には、待機前に保存処理よって保存した再初期化データを用いてデバイスの再初期化を行う処理と、を実行させるものである。
この発明によれば、OS再起動後の通常状態においてシステムに接続されたデバイスを制御する待機OSが、システム起動時にデバイスの初期化を実施して、デバイスの再初期化データを保存し、OS再起動時には、待機OSは保存したデバイスの再初期化データを参照してデバイスの再初期化を実施するので、接続されるデバイスが変更されてシステム構成が変更されることのある情報処理装置においても、OS再起動時のデバイス初期化時間を短縮できる。
この発明の実施の形態1の情報処理装置の構成を示す構成図である。 この発明の実施の形態1の情報処理装置のROMとRAMの構成を示す構成図である。 この発明の実施の形態1の情報処理装置のブートローダの構成を示す構成図である。 この発明の実施の形態1の情報処理装置の運用OSと待機OSの全体構成図である。 この発明の実施の形態1のデバイス初期化とデバイス再初期化の処理フローの一例である。 この発明の実施の形態1の情報処理装置の起動動作を示すフローチャートである。 この発明の実施の形態1の情報処理装置のOS再起動動作を示すフローチャートである。 この発明の実施の形態2の情報処理装置のROMとRAMの構成を示す構成図である。 この発明の実施の形態2の情報処理装置のブートローダの構成を示す図である。 この発明の実施の形態2の情報処理装置の共通OSの構成を示す図である。 この発明の実施の形態2の情報処理装置の起動動作を示すフローチャートである。 この発明の実施の形態2の情報処理装置の共通OSの起動処理を示すフローチャートである。 この発明の実施の形態3の情報処理装置のROMとRAMの構成を示す構成図である。 この発明の実施の形態3の情報処理装置の運用OSと待機OSの全体構成図である。 この発明の実施の形態3の情報処理装置の起動動作を示すフローチャートである。 この発明の実施の形態3の情報処理装置のOS再起動動作を示すフローチャートである。
以下、この発明の実施の形態を、図を参照して説明する。以下の実施の形態の説明において、同一もしくは相当する部分には同一の符号を付している。なお、以下で説明するブートローダおよびOSはプロセッサで実行されるプログラムである。また、ブートローダおよびOSの構成の説明において名称が「部」で終わる部分は、プログラムの機能ブロックを示している。
実施の形態1.
図1はこの発明の実施の形態1の情報処理装置のシステム構成を示す構成図である。図1において、プロセッサ101は、OSを記憶する記憶媒体であるRAM(Random Access Memory)102と接続され、また、OSイメージを記憶する不揮発性記憶媒体であるROM(Read Only Memory)103、第1デバイス104、第2デバイス105で構成される。RAM102の一例としてDRAM(Dynamic RAM)がある。ROM103の一例としてFlash ROMがある。また、第1デバイス104、第2デバイス105のデバイスの例として、プロセッサに外部との通信インタフェースを提供するシリアルコミュニケーションインタフェース(以下、SCIと称す)、設定値とタイマ値を比較して一致した場合にプロセッサに通知するコンペアマッチタイマ(以下、CMTと称す)などがある。なお、ここではシステム構成例として2個のデバイスを接続しているが、この発明はデバイス数を2個に限定するものではなく、また、同種のデバイスを複数個接続するものであっても良い。また、これらの記憶媒体およびデバイスを直接プロセッサに接続することに限定するものではなく、ブリッジ等の回路を介して接続しても良い。
図2は情報処理装置100のROM103に記憶されている情報および各情報の位置と、RAM102の記憶領域の用途毎の配置について示す構成図である。ここで示すROM103およびRAM102の領域分けは例として示すものであり、この発明はその配置を限定するものではなく、またここに記載しない情報や領域を含んでも良い。また、RAM102の領域分割はあらかじめ固定的に分割して領域を確定しておいてもよいし、あるいは必要なサイズに合わせて情報処理装置100の起動時に確定するようにしてもよい。
ROM103に記憶される情報には、情報処理装置100のシステム起動時に最初にプロセッサ101が実行して、OSをROM103からRAM102へロードし、ロードしたOSの実行をプロセッサ101が開始するようにするためのプログラムであるブートローダ201、システム起動後の通常状態においてプロセッサ101が実行するOSのイメージ(プログラムのデータ)である運用OSイメージ202、OS再起動後の通常状態においてプロセッサ101が実行するOSのイメージである待機OSイメージ203が存在する。
RAM102の記憶領域は用途により、運用OSイメージ202のロード先である運用OSメモリ204と、待機OSイメージ203のロード先である待機OSメモリ205と、プロセッサ101が実行しているOSの作業用メモリであるワークメモリ206に分割されている。
図3はブートローダ201の構成を示す図である。ブートローダ201は、OSをRAM102の運用OSメモリ204と待機OSメモリ205にロードするOSロード部301、プロセッサ101に待機OSメモリ205にロードしたOSの実行を開始させる待機OS起動部302を備えている。
図4は実施の形態1の情報処理装置100の運用OS410と待機OS420の全体構成図である。運用OS410は、プロセッサ101がブートローダ201のOSロード部301を実行して、運用OSイメージ202を運用OSメモリ204にロードしたOSである。また、待機OS420はプロセッサ101が待機OSイメージ203を待機OSメモリ205にロードしたOSである。
運用OS410は、プロセッサ101が運用OS410自身の初期化時に実行するOS初期化部411、情報処理装置100が備えるデバイスの初期化時に実行するデバイス初期化部412、ワークメモリ206を運用OS410の管理下へ追加するときに実行するワークメモリアタッチ部413、システム起動処理完了後の通常状態におけるデバイスの制御やプロセスのスケジューリングなどのOS処理をするときに実行する通常処理部414、運用OS410の実行中に例えば不正アドレスへのメモリアクセスなどの異常が発生した場合に実行する異常処理部415を備える。
デバイス初期化部412は、実装された各デバイス用の初期化機能を備える。デバイス初期化部412は、情報処理装置100にデバイスを追加もしくは削除したときに、適切なデバイス初期化機能を備えるように、各デバイス用の初期化モジュールをOSに追加もしくは削除しても良いし、あるいは、情報処理装置100に接続可能なデバイスの初期化機能を予め備えるようにしても良い。この実施の形態の情報処理装置100では第1デバイス104と第2デバイス105を初期化するためのデバイス初期化部4121とデバイス初期化部4122を備えている。
デバイス初期化部412により行う初期化処理は、例えばデバイスがSCIである場合には、調歩同期式、クロック同期式といった通信プロトコルや通信速度の指定などであり、また例えばデバイスがCMTである場合には、一定周期でプロセッサ101に割込みが発生するようにCMTにパラメータ設定する処理などである。
一方、待機OS420は、プロセッサ101が待機OS420自身の初期化を行うため実行するOS初期化部421、情報処理装置100が備えるデバイスの初期化を実施し、待機状態に遷移させ、デバイス再初期化時に必要となるデバイス再初期化データを再初期化データテーブル423に保存するときに実行するデバイス初期化部422、プロセッサ101に運用OS410による処理を開始させるときに実行する運用OS起動部424、待機OS420の再起動処理をするときに実行する再起動処理部425、再初期化データテーブル423を参照してデバイスの再初期化をするときに実行するデバイス再初期化部426、ワークメモリ206を待機OS420の管理下へ追加するときに実行するワークメモリアタッチ部427、OS再起動後の通常状態において運用OS410と同様の通常状態のOS処理をするときに実行する通常処理部428で構成される。
待機OS420のデバイス初期化部422は、運用OS410のデバイス初期化部421と同様に、実装された各デバイス用の初期化機能として、デバイス初期化部4221、4222を備える。また、再初期化データテーブル423には実装された各デバイス用のデバイス再初期化データが保存される。この実施の形態では、第1デバイス104用の再初期化データテーブル4231、第2デバイス105用の再初期化データテーブル4232がある。この各デバイス用の領域は予め確保されていても良いし、デバイス初期化時に動的に確保されても良い。
待機OS420のデバイス再初期化部426も、運用OS410のデバイス初期化部412と同様に実装された各デバイス用の再初期化機能を備える。この実施の形態の情報処理装置100では第1デバイス104を再初期化するデバイス再初期化部4261と第2デバイス105を再初期化するデバイス再初期化部4262を備えている。デバイス再初期化部4261は再初期化データテーブル4231を、デバイス再初期化部4262は再初期化データテーブル4232をそれぞれ参照する。
デバイス再初期化データは、デバイス初期化時にデバイスに設定するデータであり、例えばデバイスがSCIである場合にはプロトコルや通信速度などのSCIを適切に動作させるための設定値であり、また例えばデバイスがCMTである場合にはCMTに適切な周期で割込みを発生させるためのタイマ値など設定値である。
システム起動後にプロセッサ101が運用OS410を実行して情報処理装置100が動作しているとき、第1デバイス104、第2デバイス105などのデバイスは、アプリケーションプログラムが実行されてこれらのデバイスを使用するために、実行されるアプリケーションプログラムにとって適した設定に変更される場合がある。このため、OS再起動時にデバイスはデバイス初期化後の状態とは異なる状態になっており、デバイス再初期化処理を実施する必要がある。
例えばデバイスがSCIであり、OS起動時のSCIの初期設定では転送速度が9600ビット毎秒で設定された場合に、アプリケーションプログラムが転送速度115200ビット毎秒でSCIを使用すると、SCIの転送速度の設定は115200ビット毎秒に変更されている。このため、OS再起動時は初期設定として再び9600ビット毎秒に設定する必要がある。
次にこの発明の実施の形態1に係る情報処理装置100の動作を説明する。図6は情報処理装置100のシステム起動時の動作を示すフローチャートである。情報処理装置100が起動されると最初にプロセッサ101はブートローダ201の実行を開始する。ブートローダ201による処理では、まずOSロード部301が実行されて、ROM103からRAM102の待機OSメモリ205へ待機OSイメージ203のロード(S501)と、運用OSメモリ204へ運用OSイメージ202のロード(S502)が行われる。ここでは待機OSイメージ203、運用OSイメージ202の順にロードを行っているが、この発明はロードする順番を限定するものではなく、また、並行してロードされてもよい。
運用OSイメージ202と待機OSイメージ203のロードが完了した後、待機OS起動部302が実行されて(S503)、プロセッサ101が待機OS420の実行を開始し、ブートローダ201による処理は終了する。
プロセッサ101は待機OS420の実行を開始すると、初めにOS初期化部421による待機OS420自身の初期化を実施する(S511)。続いてデバイス初期化部422による待機OSのデバイス初期化処理を実行する(S512)。
S512のデバイス初期化処理は情報処理装置100に接続された各デバイスについて実行される。ひとつのデバイスについてS512を実行すると、全デバイスの初期化が完了したかチェックして(S513)、完了していない場合は次のデバイスを選択して再度S512へ、完了している場合は次のステップへ進む。この実施の形態の情報処理装置100では第1デバイス104と第2デバイス105が実装されており、プロセッサ101はデバイス初期化部4221、デバイス初期化部4222の順に実行して各デバイスの初期化処理を実施する。
S513のチェックは、情報処理装置100に接続されたデバイスを探索し検出することによって取得したデバイス構成情報に基づいてチェックする方法、あるいは、情報処理装置100のシステム構成変更時に記憶しておいたシステム構成情報に基づいて接続されたデバイスを検出してチェックする方法など種々の方法が考えられる。
全デバイスについてS512の初期化処理を完了すると、プロセッサはデバイス初期化部422によるデバイス待機処理を実行してデバイスを待機状態へ遷移させ(S514)、デバイス再初期化データを再初期化データテーブル423へ保存する(S515)。ここで保存するデバイス再初期化データは、S512のデバイス初期化時にデバイスに設定したデータなどである。
例えばデバイスがSCIであり、クロックソース選択レジスタとビットレート設定レジスタを備える場合、通常これらのレジスタは初期化処理において図5(1)に示す手順で設定される。まず、不揮発性記憶媒体からプロトコル、設定転送速度を取得する(S10)。次に、取得した設定に適合するクロックソース選択を実行する(S20)。次に、プロトコルとクロック選択をSCIのレジスタに設定する(S30)。次に選択したクロックソースでの設定転送速度のためのビットレートレジスタ値の設定値を演算して求める(S40)。そして、求めたビットレートレジスタ設定値をSCIのレジスタに設定する(S50)。
これに対して、初期化処理時のレジスタ設定値を再初期化データとして保存しておき、この情報で再初期化を行う場合、図5(2)に示すように、デバイス再初期化データからプロトコル選択、クロック選択、ビットレート設定値を読み出して(S11)、上記のS30、S50の処理を実行するという手順でレジスタを設定することができ、前述のS20、S40の処理を省略できる。
このように、システム起動時の待機OS420の起動処理において、接続されているデバイスを検出して、実際に接続されているデバイスの初期化を実施し、このときの設定データを再初期化データとして保存しておくことにより、OS再起動時に待機OS420を再び動作させる際には、システム起動時に検出済みの実際に接続されているデバイスを対象に、再初期化データを用いたデバイス初期化時よりも簡略化した処理でデバイス再初期化を行うことができる。
S512のデバイス初期化処理と同様に、プロセッサは、ひとつのデバイスについてS514のデバイス待機処理とS515の再初期化データ保存を実行すると、全デバイスについてS514およびS515を完了したかチェックして(S516)、完了していない場合は次のデバイスを選択して再度S514へ、完了している場合は次のステップへ進む。この実施の形態の情報処理装置100では、第1デバイス104と第2デバイス105についてS514とS515が実行される。
なお、ここでは全デバイスについてS512のデバイス初期化処理を完了後に、S514のデバイス待機処理、S515の再初期化データ保存を実施するようにしているが、S512〜S515の一連の処理をデバイス毎に行うようにしてもよい。また、デバイス毎に順番に行うのではなく並列に行うようにしてもよい。
全デバイスについてS514とS515の処理を完了すると、次にプロセッサ101は運用OS起動部424により運用OS410の実行を開始し(S517)、待機OS420の起動処理は完了して、待機OS420は待機状態となる。
プロセッサ101は運用OS410の実行を開始すると、初めに運用OS初期化部411による運用OS410自身の初期化を実施する(S521)。続いて運用OS410のデバイス初期化部412によるデバイス初期化を実行する(S522)。S522のデバイス初期化は情報処理装置100に実装された各デバイスについて順に実施される。1つのデバイスについてS522を実施すると、全デバイスの初期化を完了したかチェックして(S523)、完了していない場合は次のデバイスを選択して再度S522へ、完了している場合は次のステップへ進む。
この実施の形態の情報処理装置100ではデバイス初期化部4121、デバイス初期化部4122の順に実行されて、第1デバイス104、第2デバイス105を初期化する。なお、ここでは第1デバイス104、第2デバイス105の順にS522を行うこととしたが、他の順番でも良いし、並列に実施するようにしてもよい。
全デバイスについてS522のデバイス初期化を完了すると、プロセッサ101はワークメモリアタッチ部413によりワークメモリ206を運用OS410の管理下へ追加(S524)して、運用OS410の起動処理を完了する。これ以降プロセッサ101は、運用OS410の通常処理部414により、起動処理完了後の通常状態のOS処理を実施する。
なお、この発明はシステム起動時の動作手順を上記の手順に限定するものではなく、同等の動作結果となる限り、異なる手順で起動されても良い。
次にOS再起動の動作を説明する。図7は実施の形態1の情報処理装置100において運用OS410を実行中のプロセッサ101が異常を検出した場合のOS再起動の動作を示すフローチャートである。プロセッサ101は運用OS410実行中に異常を検出すると、運用OSの異常処理部415を実行して、プロセッサ101に待機OS420の再起動処理部425による待機OS再起動処理を開始させる(S601)。
プロセッサ101は待機OS420の再起動処理を開始すると、まずデバイス再初期化部426により再初期化データテーブル423を参照して(S611)、デバイスへの設定パラメータを取得し、取得したパラメータをデバイスに設定して再初期化する(S612)。デバイス再初期化部426は実際に接続されているデバイスを対象にデバイス毎に順に再初期化を実施して、全デバイスについてS612の再初期化が完了したかをチェック(S613)し、完了していない場合は次のデバイスの再初期化(S611、S612)を実施し、完了している場合は次のステップへ進む。
この実施の形態では、デバイス再初期化部4261とデバイス再初期化部4262により、第1デバイス104、第2デバイス105の順に、それぞれ再初期化データテーブル4231、再初期化データテーブル4232を参照して、デバイスの再初期化を行う。なお、ここでは第1デバイス104、第2デバイス105の順にデバイスの再初期化を行うこととしたが、他の順番でも良いし、並列に実行するようにしてもよい。
S613で全デバイスの再初期化完了を判定すると、プロセッサ101はワークメモリアタッチ部427によりワークメモリ206を待機OS420の管理下へ追加(S614)して、待機OS420の再起動処理を完了する。情報処理装置100のOS再起動はこれで完了し、以降、プロセッサ101は待機OS420の通常処理部428によるOS再起動後の通常状態におけるOS処理を実施する。
以上のように、情報処理装置のシステム起動毎に起動時のシステム構成に応じたデバイスの再初期化データを待機OSが保存して、OS再起動時には待機OSが保存しておいた再初期化データを参照して実際に接続されているデバイスを対象にしてデバイスの再初期化を実施するので、接続されるデバイスが変更され情報処理装置のシステム構成が変わることのある情報処理装置においても、OS再起動時のデバイス設定処理時間を短縮することができる。
また、情報処理装置のシステム起動時にOSイメージを記憶する不揮発性記憶媒体からOSを記憶する記憶媒体に待機OSをロードして初期化を実施しているため、OS再起動時に待機OSのロードと初期化処理を削減して、OS再起動時のOS起動時間を短縮することができる。
また、運用OSと待機OSでワークメモリを共通で使用しているので、システムに必要なワークメモリを節約することができる。
実施の形態2.
次に、この発明の実施の形態2について説明する。実施の形態2の情報処理装置の構成は図1に示した実施の形態1の情報処理装置の構成と同様である。図8は実施の形態2の情報処理装置100のROM103に記憶されている情報および各情報の位置と、RAM102の記憶領域の用途毎の配置について示す構成図である。RAM102に関しては実施の形態1と同様であるので詳細な説明は省略する。
ROM103に記憶される情報は、ブートローダ201bとシステム起動後の通常状態において実行されるOSとOS再起動後の通常状態において実行されるOSの両方に共通の共通OSイメージ207である。なお、ここで示すROM103の領域分けは例であり、この発明はその配置を限定するものではなく、また、ROM103はここに記載しない情報を記憶しても良い。
図9はブートローダ201bの構成を示す図である。ブートローダ201bは、共通OSイメージ207をRAM102の待機OSメモリ205と運用OSメモリ204にロードするためのOSロード処理部301b、待機OSメモリ205にロードしたOSの実行をプロセッサ101に開始させるための待機OS起動部302b、RAM102にロードしたOSに対して後述の待機OSフラグ432を設定するための待機OSフラグ設定部303を備える。
図10は実施の形態2の情報処理装置100のRAM102に共通OSイメージ207をロードした共通OS430の構成を示す図である。図10において図4と同じ符号を付した部分は、実施の形態1と同様であるので説明を省略する。共通OS430はOS判定部431と待機OSフラグ432を備えている。なお、この実施の形態では、共通OS430は図4に示した運用OS用と待機OS用の同様の機能をそれぞれ備える構成としているが、運用OS用と待機OS用の同様の機能を共通化した構成としても良い。
次にこの発明の実施の形態2の情報処理装置100の動作を説明する。図11は実施の形態2の情報処理装置100のシステム起動時の動作を示すフローチャートである。情報処理装置100が起動されるとプロセッサ101は最初にブートローダ201bを実行する。ブートローダ201bによる処理ではまず、OSロード部301bが実行されてROM103から待機OSメモリ205へ共通OSイメージ207をロードする(S1001)。次に、待機OSフラグ設定部303が実行されて待機OSメモリ205にロードした共通OS430の待機OSフラグ432に待機OSであることを示す論理値1を設定する(S1002)。次に、再度OSロード部301bが実行されて共通OSイメージ207を運用OSメモリ204へロードし(S1003)、次に、待機OSフラグ設定部303が実行されて運用OSメモリ204にロードした共通OS430の待機OSフラグ432に運用OSであることを示す論理値0を設定する(S1004)。ここでは待機OSメモリ205、運用OSメモリ204の順にロードを行っているが、この発明はロードする順番を限定するものではなく、また、並行してロードを実行してもよい。最後に待機OS起動部302bを実行して、プロセッサ101が待機OSメモリ205の共通OS430の実行を開始すると(S1005)、ブートローダ201bによる処理は完了する。
図12はプロセッサ101が共通OS430を実行開始する際のフローチャートである。共通OS430の実行を開始すると、まず、OS判定部431により、待機OSフラグ432を参照して、実行中の共通OS430が待機OSであるのか運用OSであるのか判定する(S1101)。待機OSメモリ205にロードした共通OS430の実行を開始するとき、待機OSフラグ設定部303によって待機OSフラグ432は論理値1が設定されているので、S1101のOS判定処理で待機OSと判定される。そして、共通OS430は待機OSとして実行され、図6に示す待機OS起動処理と同様の処理を開始する(S1102)。待機OSとしての起動処理が進行して、運用OS起動部424が実行されると、プロセッサ101は運用OSメモリ204にロードした共通OS430の実行を開始する。このとき運用OSメモリ204の共通OS430では、S1101で運用OSと判定されるので、以降は、共通OS430は運用OSとして実行され、図6に示す運用OS起動処理と同様の処理が行われる(S1103)。これ以降の動作は実施の形態1と同様である。
以上のように、共通OSにOS判定部と待機OSフラグを設けて、共通OS起動時に待機OSフラグを参照して、待機OSであるのか運用OSであるのかを判定するようにし、また、ブートローダに待機OSフラグ設定部を設けて、待機OSフラグを設定するようにしたので、待機OSと運用OSで共通のOSイメージを用いることができる。
また、情報処理装置のシステム起動毎に起動時のシステム構成に応じたデバイスの再初期化データを待機OSが保存して、OS再起動時には保存しておいたデバイス再初期化データを参照して実際に接続されているデバイスを対象にして待機OSがデバイスの再初期化を実施するので、接続デバイスが変更され情報処理装置のシステム構成が変わる場合にも、OS再起動時のデバイス設定処理時間を短縮することができる。
また、情報処理装置のシステム起動時にOSイメージを記憶する不揮発性記憶媒体からOSを記憶する記憶媒体に待機OSをロードして初期化済みであるため、OS再起動時に待機OSのロード、初期化を行う必要が無く、OS再起動時の待機OS起動時間を短縮することができる。
また、運用OSと待機OSでワークメモリを共通で使用しているので、システムに必要なワークメモリを節約することができる。
実施の形態3.
次に、この発明の実施の形態3について説明する。実施の形態3の情報処理装置の構成は図1に示した実施の形態1の情報処理装置の構成と同様である。図13は実施の形態3の情報処理装置100のROM103に記憶されている情報および各情報の位置と、RAM102の記憶領域の用途毎の配置について示す構成図である。RAM102に関しては実施の形態1と同様であるので詳細な説明は省略する。
実施の形態3の情報処理装置100のROM103に記憶される情報には、実施の形態1の同様のブートローダ201、運用OSイメージ202c、待機OSイメージ203c、待機OSメモリイメージ208がある。待機OSメモリイメージ208は、システム起動時の待機OS起動処理を完了した時点のRAM102の待機OSメモリ205に記憶されている情報のメモリイメージである。なお、ここで示すROM103の領域分けは例として示すものであり、この発明はその配置を限定するものではなく、また、ROM103はここに記載しない情報を記憶しても良い。
図14は実施の形態3の情報処理装置100の運用OS410cと待機OS420cの構成を示す図である。
運用OS410cは実施の形態1と同様のOS初期化部411、デバイス初期化部412、ワークメモリアタッチ部413、通常処理部414を備える。また、待機OSメモリ205の情報を待機OSメモリイメージ208としてROM103に保存するための待機OSメモリイメージ保存処理部416、運用OS410cの実行中に異常が発生したときの異常処理を実施するための異常処理部415c、待機OSメモリイメージ208をROM103から読み出して、RAM102の待機OSメモリ205に待機OS420cを復元するための待機OS復元処理部417を備える。
待機OS420cは実施の形態1と同様の待機OS初期化部421、デバイス初期化部422、再初期化データテーブル423、運用OS起動部424、再起動処理部425、デバイス再初期化部426、ワークメモリアタッチ部427、通常処理部428に加えて、待機OS420cの実行中に異常が発生した場合に実行される異常処理部429を備える。
次にこの発明の実施の形態3の情報処理装置100の動作を説明する。図15は実施の形態3の情報処理装置100のシステム起動時の動作を示すフローチャートである。なお、このフローチャートで説明する手順は一例として示すものであり、同等の結果が得られれば他の手順で行ってもよい。
実施の形態3の情報処理装置100が起動されて、プロセッサ101がブートローダ201の実行を開始すると、まず、実施の形態1と同様に待機OSイメージロード(S501)が実施される。以降、S514の運用OS410cのワークメモリ追加処理まで実施の形態1と同様である。
プロセッサ101はS514のワークメモリ追加処理を実施すると、次に、運用OS410cの待機OSメモリイメージ保存処理部416を実行して、待機OSメモリ205に記憶されている情報をROM103に待機OSメモリイメージ208として保存する(S525)。S525を実施して運用OS410cの起動処理は完了となり、以降プロセッサ101は、運用OS410cの通常処理部414により、システム起動後の通常状態におけるOS処理を実施する。
図16は実施の形態3の情報処理装置100の運用OS410cの実行中に異常が発生した場合のOS再起動動作を示すフローチャートである。運用OS410cの実行中に異常が発生すると、プロセッサ101は運用OS410cの異常処理部415cを実行する。そしてプロセッサ101は、待機OS復元処理部417により、ROM103に保存している待機OSメモリイメージ208を読み出して、RAM102の待機OSメモリ205に待機OS420cを復元する(S600)。この復元した待機OS420cは、システム起動時に初期化処理を実施して、デバイスの再初期化データを保存した状態である。このあとプロセッサ101は実施の形態1と同様に、待機OS420cの再起動処理部425により待機OS420cの再起動処理を開始(S601)して、運用OS410cの異常処理部415bの処理を終了する。
プロセッサ101が再起動処理部425の実行を開始した以降のS611〜S614の待機OS再起動処理は実施の形態1と同様である。待機OS420cの再起動処理が完了すると、以降、待機OS420cは実施の形態1と同様にOS再起動後の通常状態のOS処理を実施する。
このあと、待機OS420cにより通常状態のOS処理を行っているときに異常が検出されると、待機OS420cの異常処理部429をプロセッサ101は実行する。プロセッサ101が異常処理部429を実行することにより、プロセッサ101は運用OS410cの異常処理部415cの処理を開始する。これにより、再度待機OSメモリイメージがROM103から読み出されて、待機OSメモリ205に待機OS420cが復元され、待機OS420cの再起動が再び実行される。
以上のように、情報処理装置のシステム起動毎に起動時のシステム構成に応じたデバイスの再初期化データを待機OSが保存して、OS再起動時には保存しておいたデバイス再初期化データを参照して実際に接続されているデバイスを対象にして待機OSがデバイスの再初期化を実施するので、接続デバイスが変更され情報処理装置のシステム構成が変わる場合にも、OS再起動時のデバイス設定処理時間を短縮することができる。
また、情報処理装置の起動時に初期設定を完了した待機OSのメモリイメージを不揮発性記憶媒体に保存し、再起動時には起動時に保存した待機OSのメモリイメージを不揮発性記憶媒体から読み出して、システム起動時に初期化を実施した待機OSが記憶媒体に復元されるので、OS再起動時に待機OSの初期化を行う必要が無く、OS再起動時の待機OS起動時間を削減することができる。
また、運用OSと待機OSでワークメモリを共通で使用しているので、システムに必要なワークメモリを節約することができる。
さらに、運用OSに障害が発生した場合のみではなく、待機OSに障害が発生した場合にもOS再起動をすることができる。
なお、実施の形態3の情報処理装置では、待機OSメモリイメージを、ブートローダ等を記憶する不揮発性記憶媒体に保存したが、この発明は保存先を不揮発性記憶媒体に限定するものでなく、運用OS等を記憶する記憶媒体でも良いし、また、別途備える記憶媒体であっても良い。
100 情報処理装置、 101 プロセッサ、102 RAM(記憶媒体)、103 ROM(不揮発性記憶媒体)、104 第1デバイス、105 第2デバイス、201、201b ブートローダ、202、202c 運用OSイメージ、203、203c 待機OSイメージ、204 運用OSメモリ、205 待機OSメモリ、206 ワークメモリ、207 共通OSイメージ、208 待機OSメモリイメージ、301、301b OSロード部、302、302b 待機OS起動部、303 待機OSフラグ設定部、410、410c 運用OS、411 OS初期化部、412,4121〜4122 デバイス初期化部、413 ワークメモリアタッチ部、414 通常処理部、415、415c 異常処理部、416 待機OSメモリイメージ保存処理部、417 待機OS復元処理部、420、420c 待機OS、421 OS初期化部、422,4221〜4222 デバイス初期化部、423,4231〜4232 再初期化データテーブル、424 運用OS起動部、425 再起動処理部、426,4261〜4262 デバイス再初期化部、427 ワークメモリアタッチ部、428 通常処理部、429 異常処理部、431 OS判定部、432 待機OSフラグ

Claims (5)

  1. プロセッサと、
    前記プロセッサに接続され、前記プロセッサが実行するOS(Operating System)を記憶する記憶媒体と、
    前記プロセッサに接続され、OS再起動時に再初期化される1つ以上のデバイスと、
    前記プロセッサによりシステム起動時に実行され、前記デバイスの初期化を行うとともに、システム起動後の通常状態にOS処理を行う運用OSと、
    前記プロセッサによりシステム起動時に実行され、前記プロセッサに接続されている前記デバイスを検出し、検出したデバイスの初期化処理を行って待機するとともに、前記運用OSに異常が発生し再起動が必要になった場合には、待機前の前記初期化処理時に保存した前記デバイスの再初期化データを用いて前記デバイスの再初期化処理を行う待機OSと、
    を備えることを特徴とする情報処理装置。
  2. 前記プロセッサは、前記待機OSを用いて前記デバイスの初期化処理を行った後に、前記運用OSによる前記デバイスの初期化処理を実行することを特徴とする請求項1に記載の情報処理装置。
  3. 前記プロセッサに接続されたOSイメージを記憶する不揮発性記憶媒体を備え、
    前記不揮発性記憶媒体に前記運用OSと前記待機OSの両方に共通の共通OSイメージを記憶し、
    この共通OSイメージを前記記憶媒体に前記待機OSとしてロードし、また前記共通OSイメージを前記記憶媒体に運用OSとしてロードすることを特徴とする請求項1に記載の情報処理装置。
  4. 前記プロセッサは、システム起動時に前記デバイスの初期化を実施して前記デバイスの再初期化データを保存した前記待機OSのメモリイメージを、前記情報処理装置が備えるいずれかの記憶媒体に保存し、
    前記プロセッサは、OS再起動時に保存した前記メモリイメージを読み出して、前記記憶媒体に前記待機OSを復元し、この復元した待機OSをプロセッサが実行してOS再起動をする、ことを特徴とする請求項1乃至請求項3のいずれかに記載の情報処理装置。
  5. 1または複数のデバイスが接続された情報処理装置が備えるプロセッサに、
    システム起動時に不揮発性記憶媒体から前記プロセッサが実行するOS(Operating System)を記憶するための記憶媒体に待機OSと運用OSをロードする処理と、
    前記待機OSと前記運用OSをロードした後に、前記待機OSを用いて前記情報処理装置に接続された前記デバイスを検出し、前記デバイスの初期化を行う初期化処理と、
    前記デバイスの初期化処理で生成された前記デバイスの初期化データを再初期化データとして前記記憶媒体に保存する保存処理と、
    前記保存処理後に前記待機OSを待機状態にするとともに前記運用OSを実行する処理と、
    前記待機OSの再起動を行う場合には、待機前に前記保存処理よって保存した前記再初期化データを用いて前記デバイスの再初期化を行う処理と、
    を実行させるプログラム。
JP2014560533A 2013-02-08 2013-02-08 情報処理装置およびプログラム Expired - Fee Related JP5944017B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/000700 WO2014122694A1 (ja) 2013-02-08 2013-02-08 情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP5944017B2 true JP5944017B2 (ja) 2016-07-05
JPWO2014122694A1 JPWO2014122694A1 (ja) 2017-01-26

Family

ID=51299313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014560533A Expired - Fee Related JP5944017B2 (ja) 2013-02-08 2013-02-08 情報処理装置およびプログラム

Country Status (5)

Country Link
US (1) US20150355914A1 (ja)
JP (1) JP5944017B2 (ja)
CN (1) CN104969189A (ja)
DE (1) DE112013006629T5 (ja)
WO (1) WO2014122694A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210004074A (ko) 2019-07-03 2021-01-13 삼성전자주식회사 반도체 시스템 및 반도체 시스템의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248929A (ja) * 1994-03-11 1995-09-26 Nec Eng Ltd 上位装置及びこれを用いた再立上げシステム
JP2001337829A (ja) * 2000-05-24 2001-12-07 Mitsubishi Electric Corp 情報処理装置の高速再起動装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523323B2 (en) * 2005-09-15 2009-04-21 Intel Corporation Method and apparatus for quick resumption
WO2010044321A1 (ja) * 2008-10-15 2010-04-22 関西ペイント株式会社 重合性官能基を有するシルセスキオキサン化合物
US8239667B2 (en) * 2008-11-13 2012-08-07 Intel Corporation Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory
DE112009004563T5 (de) * 2009-04-29 2012-07-05 Hewlett-Packard Development Company, L.P. Bios-bild-verwalter
US8171280B2 (en) * 2009-06-22 2012-05-01 Matthew Laue Method of running multiple operating systems on an X86-based computer system having a dedicated memory region configured as a do not use region
CN102693136B (zh) * 2011-03-23 2016-06-01 联想(北京)有限公司 计算机的快速启动方法、快速启动系统及启动系统
EP2771784A4 (en) * 2011-10-28 2015-06-24 Intel Corp CHANGE BETWEEN OPERATIONAL CONTEXTS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248929A (ja) * 1994-03-11 1995-09-26 Nec Eng Ltd 上位装置及びこれを用いた再立上げシステム
JP2001337829A (ja) * 2000-05-24 2001-12-07 Mitsubishi Electric Corp 情報処理装置の高速再起動装置

Also Published As

Publication number Publication date
CN104969189A (zh) 2015-10-07
US20150355914A1 (en) 2015-12-10
DE112013006629T5 (de) 2015-10-22
WO2014122694A1 (ja) 2014-08-14
JPWO2014122694A1 (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
JP5119686B2 (ja) 情報処理装置および設定方法
JP6073854B2 (ja) 電子機器及びファームウェア復旧プログラム
US20160266894A1 (en) Systems and methods for live upgrade and update of firmware on an embedded networking device
US7750676B2 (en) Embedded system and control method therefor
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
CN102334100A (zh) 程序更新设备、程序更新方法以及信息处理设备
US10642623B1 (en) Preserving firmware settings during firmware updates
JP6404708B2 (ja) 情報処理装置、bios設定情報変更方法、並びにコンピュータ・プログラム
CN112667442B (zh) 基于非易失内存器件启动系统的控制方法、装置及设备
JP5944017B2 (ja) 情報処理装置およびプログラム
CN102053874B (zh) 保护备用数据的方法
JP6021597B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP6073710B2 (ja) 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム
JP2007316800A (ja) 車載プログラム書換え制御装置
JP6023898B1 (ja) 情報処理装置及び情報処理方法及び情報処理プログラム
JP2008015725A (ja) 情報処理装置およびプログラム起動方法
JP6149624B2 (ja) ファームウェア実行装置、ファームウェア実行方法、コンピュータ・プログラム、および、コンピュータ装置
JP2005258967A (ja) データ処理装置
JP2003122575A (ja) 情報処理装置
JP6072521B2 (ja) コンピュータ起動システムおよびコンピュータ起動プログラムとコンピュータならびにコンピュータ起動方法
JP2005078336A (ja) 画像形成装置と画像形成装置のプログラム書換方法
JP2016115075A (ja) 処理システム、処理システムの制御方法
CN117389598A (zh) 配置更新加固方法、装置、电子设备和存储介质
JP2021170226A (ja) 情報処理装置及びプログラム
JP5969528B2 (ja) 情報処理システム、情報処理装置起動方法および起動プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160524

R150 Certificate of patent or registration of utility model

Ref document number: 5944017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees