JP2016024569A - 制御システム - Google Patents
制御システム Download PDFInfo
- Publication number
- JP2016024569A JP2016024569A JP2014147390A JP2014147390A JP2016024569A JP 2016024569 A JP2016024569 A JP 2016024569A JP 2014147390 A JP2014147390 A JP 2014147390A JP 2014147390 A JP2014147390 A JP 2014147390A JP 2016024569 A JP2016024569 A JP 2016024569A
- Authority
- JP
- Japan
- Prior art keywords
- data
- task
- computer system
- memory
- stored
- 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.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
【課題】揮発性の記憶リソースを有するプロセッサと不揮発性メモリとを有するコンピュータシステムの停止及び起動を制御するために適した制御システムを提供する。【解決手段】コンピュータシステムを停止させる事象を検出することにより、前記記憶リソースに格納されているデータを含む再開データのハッシュ値を検証データ0として算出し、前記再開データと前記検証データ0とを前記不揮発性メモリに保存する再開データ保存部(S52、S53)と、コンピュータシステムが起動したとき、前記不揮発性メモリに保存されている再開データの整合性を、前記不揮発性メモリに保存されている前記検証データ0を用いて確認する再開データ確認部(S11、S12)と、前記再開データの整合性が確認された場合、前記再開データを前記記憶リソースに読み込むことにより、前記事象が検出されたときにコンピュータシステムで実行されていた処理を再開する再開部(S14)と、を備える。【選択図】図5
Description
本発明は、制御システムに関し、特には、コンピュータシステムの停止及び起動を制御する制御システムに関する。
オペレーティングシステム(OS)は、コンピュータシステムの停止及び起動を含む全体的な動作を制御する制御システムである。マルチタスク動作を制御する高機能なOSでは、システムの初期化に時間がかかることから、システムを高速に起動するためのサスペンド処理及びレジューム処理が行われることがある。
サスペンド処理とは、システム停止後においても、例えばバッテリーなどの補助電源を用いて、揮発性のRAM(Random Access Memory)で構成されるメインメモリ上のデータを保持する処理である。
レジューム処理とは、システム起動時に、前記メインメモリ上に保持されている前記データを用いて、システム停止前に実行されていた処理を直ちに再開する処理である。
これらの処理を組み合わせて実行することで、システムが高速に起動される。
例えば、特許文献1には、バッテリーでバックアップされるCMOSメモリを備えるコンピュータシステムが開示されている。
温度条件や小型化要求などのためにバッテリーを搭載できないコンピュータシステムや、環境発電により得た電力で動作するコンピュータシステムのように、厳しい省電力要件が課せられるコンピュータシステムが存在する。前記省電力要件の典型的な一例として、システム停止後の電力消費を完全になくすことが挙げられる。
そのようなコンピュータシステムでサスペンド処理及びレジューム処理を可能にするために、例えば、メインメモリを、電力消費なしでデータを保持できる不揮発性のRAMで構成することは有効な方策である。
ただし、メインメモリを不揮発性のRAMで構成しただけでは不足であり、CPU(Central Processing Unit)が有する揮発性の記憶リソースに格納されているデータを、システム停止後に保持するための方策が併せて必要になる。
そこで、本発明は、揮発性の記憶リソースを有するプロセッサと、前記プロセッサに接続された不揮発性メモリと、を有するコンピュータシステムの停止及び起動を制御するために適した制御システムを提供することを目的とする。
上記目的を達成するために、本発明の一態様に係る制御システムは、揮発性の記憶リソースを有するプロセッサと、前記プロセッサに接続された不揮発性メモリと、を有するコンピュータシステムの停止及び起動を制御する制御システムであって、前記コンピュータシステムを停止させる事象を検出することにより、前記記憶リソースに格納されているデータを含む再開データのハッシュ値を第1検証データとして算出し、前記再開データと前記第1検証データとを前記メモリに保存する再開データ保存部と、前記コンピュータシステムが起動したとき、前記再開データとして前記メモリに保存されている第1データの整合性を、前記第1検証データとして前記メモリに保存されている第2データを用いて確認する再開データ確認部と、少なくとも前記第1データの整合性が確認されることによって、前記第1データを前記記憶リソースに読み込むことにより、前記事象が検出されたときに前記コンピュータシステムで実行されていた処理を再開する再開部と、を備える。
このような構成によれば、前記コンピュータシステムが起動したときに、前記再開データの整合性が確認された場合のみ、前記再開データを用いてシステムを再開することができるので、不完全に保存された再開データを用いてシステムを再開することで生じる不都合を回避することができる。また、前記再開データの整合性が確認されない場合は、システムを初期状態から起動することとなるが、そのための時間的及び電力的なコストを、システムが安全に再開できないときにのみ発生するように抑制することができる。
また、例えば、前記コンピュータシステム上で複数のタスクが並行して実行され、前記複数のタスクの各々は前記プロセッサの前記記憶リソースを使用してあらかじめ定められた処理を行い、前記制御システムは、さらに、各々が前記複数のタスクのうちの1つのタスクによって前記記憶リソースに格納されているデータを含む複数のタスク制御データの連結リストを前記メモリに保存するタスク制御データ保存部と、前記コンピュータシステムが再起動されたとき、前記メモリに保存されている前記連結リストのリンク構造の整合性を確認する連結リスト確認部と、を備え、前記再開部は、前記第1データの整合性が確認され、かつ、前記リンク構造の整合性が確認されることによって、前記第1データを前記記憶リソースに読み込むことにより、前記事象が検出されたときに前記コンピュータシステム上で実行されていた処理を再開してもよい。
このような構成によれば、前記コンピュータシステムが起動したときに、前記再開データの整合性及び前記連結リストのリンク構造の整合性の両方が確認された場合のみ、前記再開データを用いてシステムを再開することができるので、不完全に保存された再開データや連結リストを用いてシステムを再開することで生じる不都合を回避することができる。また、前記再開データ及び前記連結リストの整合性が確認されない場合は、システムを初期状態から起動することとなるが、そのための時間的及び電力的なコストを、システムが安全に再開できないときにのみ発生するように抑制することができる。
また、例えば、前記タスク制御データ保存部は、さらに、前記複数のタスク制御データの各々について、前記タスク制御データのハッシュ値を第2検証データとして算出し、前記タスク制御データと前記第2検証データとを対応付けて前記メモリに保存し、前記再開部は、再開した前記処理において、前記複数のタスク制御データの各々について、前記タスク制御データとして前記メモリに保存されている第3データの整合性を、対応する前記第2検証データとして前記メモリに保存されている第4データを用いて確認し、整合性が確認されない前記第3データを前記連結リストから削除してもよい。
このような構成によれば、前記複数のタスク制御データの各々の整合性を確認し、整合性が確認できないタスク制御データを連結リストから削除することで、不完全に保存されたタスク制御データを用いてタスクを再開することで生じる不都合を回避することができる。なお、前記連結リストから削除されたタスク制御データに対応するタスクは、必要に応じて、例えば直ちに又は他のタスクから呼び出されたときに、作成されることになるが、そのための時間的及び電力的なコストを、タスクが安全に再開できないときにのみ発生するように抑制することができる。
また、例えば、前記制御システムは、さらに、前記コンピュータシステム上で実行されているタスクを、前記複数のタスクのうちの1つのタスクから他の1つのタスクへ切り替えるタスク切り替え部を備え、前記タスク制御データ保存部は、タスク切り替え前に実行中のタスクによって前記記憶リソースに格納されているデータを含む新たなタスク制御データのハッシュ値を新たな第2検証データとして算出し、前記メモリに保存されている前記実行中のタスクのタスク制御データ及び第2検証データを、前記新たなタスク制御データ及び前記新たな第2検証データで更新してもよい。
このような構成によれば、タスク切り替えの都度、前記タスク制御データに対応して前記第2検証データを更新することにより、前記第2検証データを最新の前記タスク制御データに対応するように維持することができる。
また、例えば、前記再開データは、さらに、前記コンピュータシステムが起動されたときに前記複数のタスクの中で最初に実行されるべきタスクを開始タスクとして指定する指定データを含み、前記再開部は、再開した前記処理において、前記指定データで指定される前記開始タスクの前記タスク制御データとして前記メモリに保存されているデータを前記記憶リソースに読み込むことにより、前記コンピュータシステムが再起動される前に前記開始タスクによって実行されていた処理を再開してもよい。
このような構成によれば、前記開始タスクの指定に応じて、システムが停止する前に実行されていたタスクとは異なる開始タスクの実行を最初に再開することができる。
なお、本発明は、このような制御システムとして実現することができるだけでなく、このような制御システムにおいて実行される特徴的なステップで構成される制御方法として実現することができる。また、コンピュータを用いて前記制御方法を実行するためのプログラム、及びそのようなプログラムを非一時的に格納する記録媒体として実現することもできる。
本発明に係る制御システムによると、コンピュータシステムが起動したときに、再開データの整合性が確認された場合のみ、前記再開データを用いてシステムを再開することができるので、不完全に保存された再開データを用いてシステムを再開することで生じる不都合を回避することができる。また、前記再開データの整合性が確認されない場合は、システムを初期状態から起動することとなるが、そのための時間的及び電力的なコストを、システムが安全に再開できないときにのみ発生するように抑制することができる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
実施の形態に係る制御システムは、コンピュータシステムの停止及び起動を制御する制御システムである。制御システムの実装は限定されないが、一例として、前記制御システムは、前記コンピュータシステムの停止及び起動を含む全般的な動作を制御するオペレーティングシステム(以下、OSと記す)の一部分によって発揮されるソフトウェア機能であってもよい。
実施の形態に係る制御システムは、コンピュータシステムの停止及び起動を制御する制御システムである。制御システムの実装は限定されないが、一例として、前記制御システムは、前記コンピュータシステムの停止及び起動を含む全般的な動作を制御するオペレーティングシステム(以下、OSと記す)の一部分によって発揮されるソフトウェア機能であってもよい。
以下では、まず、前記制御システムで制御される前記コンピュータシステムについて説明し、その後、前記制御システムについて、前記OSの一部分が前記制御システムとして機能する場合の例を用いて、詳細に説明する。
図1は、コンピュータシステム1の機能的な構成の一例を示ブロック図である。
コンピュータシステム1は、プロセッサ10、不揮発性メモリ20、及び電源30から構成される。
プロセッサ10は、所定のプログラムを実行する装置であり、前記プログラムの実行に関わるデータを格納する揮発性の記憶リソース11を有している。揮発性の記憶リソース11には、プログラムカウンタ(PC)12及び汎用レジスタ(GRs)13が含まれ、さらには、メインメモリとして用いることができる比較的大きな容量のSRAM14(Static RAM)が含まれてもよい。
また、プロセッサ10は、ネットワーク接続コントローラ(NIC:Network Interface Controller)15、割り込みコントローラ(INTC:INTerrupt Controller)16、ROM(Read Only Memory)17を有するワンチップマイコンであってもよい。
プロセッサ10は、ROM17に記憶されているプログラムを実行することによってあらかじめ定められた機能を発揮するSoC(System on Chip)であってもよい。
なお、プロセッサ10の揮発性の記憶リソース11は、図1に示された要素には限定されない。プロセッサ10の揮発性の記憶リソース11には、さらに、例えば、スタックポインタ、インデクスレジスタ、プロセッサ10に内蔵されるか又はプロセッサ10とは別体に設けられるグラフィック処理ユニット、浮動小数点計算ユニット、アレイ計算ユニットなどの特定の機能を発揮するユニットを制御するためのレジスタが含まれ得る。
不揮発性メモリ20は、プロセッサ10に接続され、プロセッサ10からデータを読み書きすることができるメインメモリである。不揮発性メモリ20は、電力消費なしでデータを保持できる不揮発性のRAMで構成される。不揮発性のRAMとして、例えば、FeRAM(Ferroelectric RAM)、MRAM(Magnetoresistive RAM)、ReRAM(Resistance RAM)などが利用できる。
電源30は、商用電源などの外部電源から供給される電力をプロセッサ10及び不揮発性メモリ20の動作電力に変換してプロセッサ10及び不揮発性メモリ20に供給する電源装置である。電源30は、外部電源の異常(特には電圧降下)を検出することにより、プロセッサ10のINTC16に割り込み信号を供給する。前記外部電源の異常は、コンピュータシステム1を停止させる事象(以下では、停止事象と言う)の一例である。停止事象には、前記外部電源の異常の他にも、ユーザーが行うスイッチ操作や、あらかじめスケジュールされた停止時刻の到来などが含まれ得る。
図2は、ROM17上のプログラムの一例を示す図である。図2に示されるように、ROM17には、例えば、イニシャルプログラムローダ(IPL:Initial Program Loader)、OS、タスク1〜Nのそれぞれのプログラムが記憶されている。前記OSは、マルチタスクOSであり、前記IPLによって起動され、前記タスク1〜Nの実行の制御を含む、コンピュータシステム1の全体的な動作の制御を行う。前記OSのプログラムの少なくとも一部分が、プロセッサ10で実行されることによって、実施の形態に係る制御システムとしての機能が発揮される。
なお、前記OS、前記タスク1〜Nのそれぞれのプログラムは、必ずしもROM17に記憶されている必要はない。例えば、前記IPLが、ネットワークで接続されているサーバから、NIC15を介して、前記OS、前記タスク1〜Nのそれぞれのプログラムを取得してもよい。
プロセッサ10は、SRAM17及び不揮発性メモリ20を作業用のメモリとして用いて、前記OS及び前記タスク1〜Nのそれぞれのプログラムを実行する。不揮発性メモリ20には、前記OS及び前記タスク1〜Nが使用するあらゆるデータが格納され得る。
図3は、不揮発性メモリ20上のデータの一例を示す図である。図3では、不揮発性メモリ20に格納され得るデータのうち、前記OSの一部分である実施の形態に係る制御システムによって格納されるデータが示されている。
図3に示されるように、不揮発性メモリ20には、再開データ、タスクごとのタスク制御データ、並びに、前記再開データ及びタスク制御データのそれぞれに対応して設けられる検証データが格納される。
図4は、不揮発性メモリ20上のデータの詳細な一例を示す図である。
再開データは、システムの再開に用いられるデータであり、*p_forward、*p_backward、開始タスク、データサイズ、PC、GRs、SRAMを含む。
*p_forward、*p_backwardは、タスク制御データの連結リストを構成するポインタである。ここでは、一例として、タスク制御データの連結リストを、双方向循環リストで表している。
開始タスクは、コンピュータシステム1が起動されたときに前記タスク1〜Nの中で最初に実行されるべきタスクを指定するデータである。開始タスクは、例えば、タスク制御データの連結リストにおける位置によってタスクを指定する数値であってもよい。
PC、GRs、SRAMは、OSによってプロセッサ10のPC12、GRs、SRAM14に格納されているデータのコピーであり、データサイズは当該コピーの大きさを表す数値である。
タスク制御データi(i=1〜N)は、タスクの切り替えに用いられるデータであり、タスクi(i=1〜N)に対応して設けられ、*p_forward、*p_backward、データサイズ、PC、GRs、SRAMを含む。
*p_forward、*p_backwardは、タスク制御データの連結リストを構成するポインタである。
PC、GRs、SRAMは、タスクiによってプロセッサ10のプログラムカウンタ12、汎用レジスタ13、SRAM14に格納されているデータのコピーであり、データサイズは当該コピーの大きさを表す数値である。
ここで、前記タスク制御データの連結リスト、前記タスク制御データ、及び前記タスク制御データに含まれる前記データのコピーは、一般的なマルチタスクOSにおいて、それぞれ、タスク管理テーブル、タスク制御ブロック、及びコンテキストと称されるデータに対応する。
検証データ0、検証データi(i=1〜N)は、再開データ、タスク制御データi(i=1〜N)のそれぞれの整合性、つまり完全な形で不揮発性メモリ20に保存されていることを検証するためのデータである。
具体的には、検証データ0、検証データiは、再開データ、タスク制御データi(i=1〜N)のそれぞれから所定のアルゴリズムを用いて算出されるハッシュ値である。そのようなハッシュ値は、例えば、MD(Message Digest)5やCRC(Cyclic Redundancy Check)−32に従って算出されてもよい。
次に、上述のように構成されるコンピュータシステム1において、実施の形態に係る制御システムによって実行される処理について説明する。
図5は、実施の形態に係る制御システムによって、コンピュータシステム1の起動から停止までの間に実行される処理の一例を示すフローチャートである。
コンピュータシステム1が起動すると、前記IPLによって前記OSが起動される。制御システムは、前記OSの一部分として動作することにより、以下の処理を行う。
再開データとして不揮発性メモリ20に保存されている第1データのハッシュ値を、後述する検証データ0の算出に用いるアルゴリズムと同じアルゴリズムを用いて算出する(S11)。算出されたハッシュ値と、検証データ0として不揮発性メモリ20に保存されている第2データと、を比較する(S12)。この比較が一致することによって、前記第1データの整合性、つまり前記再開データが完全な形で前記第1データとして保存されていることが確認される。
算出されたハッシュ値と前記第2データとが一致した場合(S13でYES)、不揮発性メモリ20に保存されているタスク制御データの連結リストのリンク構造の整合性を確認する(S15)。前記連結リストのリンク構造の整合性は、例えば、前記連結リストが双方向循環リストである場合に、再開データからポインタを順方向及び逆方向に辿り、何れの方向に辿っても元の再開データに戻ることによって確認してもよい。
前記リンク構造が整合している場合(S16でYES)、前記第1データをプロセッサ10の揮発性の記憶リソース11に読み込むことにより、再開データが保存されたときにコンピュータシステム1で実行されていた処理を再開する(S20)。
再開した前記処理において、タスクi(i=1〜N)の各々について、以下の処理を行う(S21〜S26)。
タスク制御データiとして不揮発性メモリ20に保存されている第3データのハッシュ値を、後述する検証データiの算出に用いるアルゴリズムと同じアルゴリズムを用いて算出する(S22)。算出されたハッシュ値と、検証データiとして不揮発性メモリ20に保存されている第4データと、を比較する(S23)。この比較が一致することによって、前記第3データの整合性、つまり前記タスク制御データiが完全な形で前記第3データとして保存されていることが確認される。
算出されたハッシュ値と前記第4データとが一致しない場合(S24でNO)、前記第3データを前記連結リストから削除する(S25)。前記第3データの削除は、例えば、前記第3データの前後のタスク制御データを直結するように、前記連結リストのポインタを更新することによって行われる。
このように、タスク制御データの各々の整合性を確認し、整合性が確認できないタスク制御データを連結リストから削除することで、不完全に保存されたタスク制御データを用いることで生じる不都合を回避することができる。
なお、前記連結リストから前記タスク制御データを削除した場合、前記削除されたタスク制御データに対応するタスクは、必要に応じて作成される。前記タスクは、例えば、対応するタスク制御データが削除された直後に、又は他のタスクから呼び出されたときに、作成されてもよい。これにより、タスクを作成するための時間的及び電力的なコストを、タスクが安全に再開できないときにのみ発生するように抑制することができる。
さて、不揮発性メモリ20上の再開データの整合性が確認できない場合(S13でNO)、及び前記連結リストのリンク構造の整合性が確認できない場合(S16でNO)の何れの場合も、タスクが全く動作していない初期状態からシステムを起動する。具体的には、プロセッサ10を初期化し(S31)、タスクi(i=1〜N)のうちでメインタスクとしてあらかじめ定められているタスクを作成する(S32)。
このように、前記再開データ及び前記連結リストのリンク構造の整合性を確認し、整合性が確認できない場合に、初期状態からシステムを起動することで、不完全に保存された再開データやタスク制御データを用いることで生じる不都合を回避することができる。また、システムを初期状態から起動するための時間的及び電力的なコストを、システムが安全に再開できないときにのみ発生するように抑制することができる。
上述のようにしてシステムが再開され、又はシステムが初期状態から起動されると、タスクを実行する(S41)。システムが前記再開データに従って再開された場合は、前記再開データの開始タスクによって示されるタスクが最初に実行される。システムが初期状態から起動された場合は、前記メインタスクが最初に実行される。最初に実行されたタスクから他のタスクが呼び出され、複数のタスクが並行して実行される。
複数のタスクを並行して実行する処理には、タスク切り替え処理が含まれる。実施の形態に係るタスク切り替え処理では、一般的なマルチタスクOSにおいて行われるタスク切り替え処理に加えて、タスク制御データの検証データを所定のアルゴリズムを用いて算出し、算出された検証データを不揮発性メモリ20に保存する処理が行われる。
図6は、実施の形態に係る制御システムによって、実行中のタスクをタスクiからタスクjに切り替えるときに実行される処理の一例を示すフローチャートである。
タスク切り替え前に実行中のタスクiによってプロセッサ10の記憶リソース11に格納されているデータを含む新たなタスク制御データiのハッシュ値を、所定のアルゴリズムを用いて、新たな検証データiとして算出する(S42)。
不揮発性メモリ20に保存されているタスクiのタスク制御データ及び検証データiを、前記新たなタスク制御データi及び前記新たな検証データiで更新する(S43)。
切り替え後に実行されるべきタスクjの、不揮発性メモリ20に保存されているタスク制御データjをプロセッサ10の記憶リソース11に読み込み(S44)、タスクjを実行する(S45)。
このように、タスク切り替えの都度、タスク制御データに対応して検証データを更新することにより、検証データを最新のタスク制御データに対応するように維持することができる。
再び図5を参照して、電源異常などの停止事象が検出されると(S51でYES)、プロセッサ10の記憶リソース11に格納されているデータを含む新たな再開データのハッシュ値を、所定のアルゴリズムを用いて、新たな検証データ0として算出する(S52)。そして、前記新たな再開データ及び前記新たな検証データ0を不揮発性メモリに保存する(S53)。その後、無限ループやシステムクロックの停止など、周知の方法でシステムを停止する。
以上説明したように、実施の形態に係る制御システムによれば、再開データ及び複数のタスク制御データの各々に対応して検証データを保存し、システムの起動時に、前記再開データ及び前記複数のタスク制御データの各々の整合性を、対応する検証データを用いて確認するので、不完全に保存された再開データやタスク制御データを用いることで生じる不都合が回避される。また、システムを初期状態から起動し、又はタスクを作成するための時間的及び電力的なコストを、システムやタスクが安全に再開できないときにのみ発生するように抑制することができる。
このような構成の効果は、とりわけ、課題の欄で述べたような厳しい省電力要件が課せられるコンピュータシステムにおいて、顕著に発揮される。
プロセッサの揮発性の記憶リソースに格納されているデータを前記メインメモリに完全に保存することを、例え不時の停電の際であっても保証するためには、電源に相応の余裕を持たせる必要がある。しかし、厳しい省電力要件が課せられるコンピュータシステムでは、電源にそのような余裕を持たせることができるとは限らない。
そこで、実施の形態に係る制御システムを用いることによって、厳しい省電力要件を満たすコンピュータシステムにおいて、システムの起動の高速化と再開処理の安全性の確保との良好なトレードオフを得ることができる。
(変形例)
以上、本発明の実施の形態に係る制御システムについて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施した形態は、本発明の範囲内に含まれ得る。
以上、本発明の実施の形態に係る制御システムについて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施した形態は、本発明の範囲内に含まれ得る。
例えば、実施の形態では、前記制御システムがOSの一部分によって発揮されるソフトウェア機能である場合の例で説明したが、前記制御システムは、図5、図6のフローチャートに示されるステップを実行するハードウェアで実現されてもよい。そのようなハードウェアは、例えば、プロセッサ10に内蔵されてもよく、プロセッサ10とは別体に設けられてもよい。
また、例えば、実施の形態では、タスク切り替えの都度、更新されるタスク制御データに対応して検証データを更新するとして説明したが、タスク制御データに対応する検証データの更新のタイミングは、タスク切り替えのときには限定されない。前記検証データは、システムが停止するまでに適宜のタイミングで更新されればよく、例えば、タイマー割り込みなどにより定期的に更新されても構わない。
また、例えば、実施の形態では、図4において、再開データ、タスク制御データ1、及びタスク制御データNの何れもが、PC12、GRs13、SRAM14のデータのコピーを含むように示したが、これは説明のための例示であり、再開データ、タスク制御データ1、及びタスク制御データNのそれぞれの内容は、この例には限定されない。個々のタスク制御データには、対応するタスクが使用する揮発性リソースに格納されるデータのコピーのみが保存されればよい。
本発明は、コンピュータシステムの停止及び起動を制御する制御システムに利用でき、例えば、マルチタスクOSに利用できる。
1 コンピュータシステム
10 プロセッサ
11 記憶リソース
12 プログラムカウンタ(PC)
13 汎用レジスタ(GRs)
14 SRAM
15 ネットワーク接続コントローラ(NIC)
16 割り込みコントローラ(INTC)
17 ROM
17 SRAM
20 不揮発性メモリ
30 電源
10 プロセッサ
11 記憶リソース
12 プログラムカウンタ(PC)
13 汎用レジスタ(GRs)
14 SRAM
15 ネットワーク接続コントローラ(NIC)
16 割り込みコントローラ(INTC)
17 ROM
17 SRAM
20 不揮発性メモリ
30 電源
Claims (5)
- 揮発性の記憶リソースを有するプロセッサと、前記プロセッサに接続された不揮発性メモリと、を有するコンピュータシステムの停止及び起動を制御する制御システムであって、
前記コンピュータシステムを停止させる事象を検出することにより、前記記憶リソースに格納されているデータを含む再開データのハッシュ値を第1検証データとして算出し、前記再開データと前記第1検証データとを前記メモリに保存する再開データ保存部と、
前記コンピュータシステムが起動したとき、前記再開データとして前記メモリに保存されている第1データの整合性を、前記第1検証データとして前記メモリに保存されている第2データを用いて確認する再開データ確認部と、
少なくとも前記第1データの整合性が確認されることによって、前記第1データを前記記憶リソースに読み込むことにより、前記事象が検出されたときに前記コンピュータシステムで実行されていた処理を再開する再開部と、を備える、
制御システム。 - 前記コンピュータシステム上で複数のタスクが並行して実行され、
前記複数のタスクの各々は前記プロセッサの前記記憶リソースを使用してあらかじめ定められた処理を行い、
前記制御システムは、さらに、
各々が前記複数のタスクのうちの1つのタスクによって前記記憶リソースに格納されているデータを含む複数のタスク制御データの連結リストを前記メモリに保存するタスク制御データ保存部と、
前記コンピュータシステムが再起動されたとき、前記メモリに保存されている前記連結リストのリンク構造の整合性を確認する連結リスト確認部と、を備え、
前記再開部は、前記第1データの整合性が確認され、かつ、前記リンク構造の整合性が確認されることによって、前記第1データを前記記憶リソースに読み込むことにより、前記事象が検出されたときに前記コンピュータシステム上で実行されていた処理を再開する、
請求項1に記載の制御システム。 - 前記タスク制御データ保存部は、さらに、前記複数のタスク制御データの各々について、前記タスク制御データのハッシュ値を第2検証データとして算出し、前記タスク制御データと前記第2検証データとを対応付けて前記メモリに保存し、
前記再開部は、再開した前記処理において、前記複数のタスク制御データの各々について、前記タスク制御データとして前記メモリに保存されている第3データの整合性を、対応する前記第2検証データとして前記メモリに保存されている第4データを用いて確認し、整合性が確認されない前記第3データを前記連結リストから削除する、
請求項2に記載の制御システム。 - 前記制御システムは、さらに、前記コンピュータシステム上で実行されているタスクを、前記複数のタスクのうちの1つのタスクから他の1つのタスクへ切り替えるタスク切り替え部を備え、
前記タスク制御データ保存部は、タスク切り替え前に実行中のタスクによって前記記憶リソースに格納されているデータを含む新たなタスク制御データのハッシュ値を新たな第2検証データとして算出し、前記メモリに保存されている前記実行中のタスクのタスク制御データ及び第2検証データを、前記新たなタスク制御データ及び前記新たな第2検証データで更新する、
請求項3に記載の制御システム。 - 前記再開データは、さらに、前記コンピュータシステムが起動されたときに前記複数のタスクの中で最初に実行されるべきタスクを開始タスクとして指定する指定データを含み、
前記再開部は、再開した前記処理において、前記指定データで指定される前記開始タスクの前記タスク制御データとして前記メモリに保存されているデータを前記記憶リソースに読み込むことにより、前記コンピュータシステムが再起動される前に前記開始タスクによって実行されていた処理を再開する、
請求項2に記載の制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014147390A JP2016024569A (ja) | 2014-07-18 | 2014-07-18 | 制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014147390A JP2016024569A (ja) | 2014-07-18 | 2014-07-18 | 制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016024569A true JP2016024569A (ja) | 2016-02-08 |
Family
ID=55271291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014147390A Pending JP2016024569A (ja) | 2014-07-18 | 2014-07-18 | 制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016024569A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020057162A (ja) * | 2018-10-01 | 2020-04-09 | 株式会社東芝 | 情報処理装置および制御方法 |
-
2014
- 2014-07-18 JP JP2014147390A patent/JP2016024569A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020057162A (ja) * | 2018-10-01 | 2020-04-09 | 株式会社東芝 | 情報処理装置および制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4839841B2 (ja) | スナップショット再起動方法 | |
JP5655677B2 (ja) | ハイパーバイザ置き換え方法および情報処理装置 | |
CN104850435B (zh) | 电源管理控制器与方法 | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
TW201502764A (zh) | 用以從睡眠狀態加速回復之專用啟動路徑 | |
JP2008097105A (ja) | 記憶装置及び起動方法 | |
JP5321866B2 (ja) | コンピュータシステム | |
JP5861767B2 (ja) | 稼働管理装置、稼働管理方法、稼働管理プログラム及び記録媒体 | |
JP5581577B2 (ja) | データ処理装置 | |
US9625970B2 (en) | Information processing apparatus, operation state control method, and computer program product | |
KR20150087744A (ko) | 전자 장치의 동작 상태를 변경하는 방법 및 장치 | |
JP2016024569A (ja) | 制御システム | |
US8352762B2 (en) | Recycling of cache content | |
CN116662002A (zh) | 线程栈处理方法、装置、设备、介质和程序产品 | |
JP6000655B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP6160688B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2010079572A (ja) | 情報処理装置、外部記憶装置、制御方法 | |
JP2017021498A (ja) | 制御システム、その制御装置 | |
JP5161600B2 (ja) | 情報処理装置およびデータ復旧方法 | |
JP2020052501A (ja) | 情報処理装置及びプログラム | |
JP4630741B2 (ja) | 省電力時バックアップ型情報処理装置 | |
JP2007087269A (ja) | ソフトウェア更新システム、更新方法、及び、プログラム | |
JP5034861B2 (ja) | データ管理装置、情報処理装置及びプログラム | |
JPH0566951A (ja) | コンピユータ装置 | |
JP2009187205A (ja) | レジューム制御方法および装置 |