(57)【特許請求の範囲】
【請求項１】
オペレーティングシステムリカバリー方法であって、
レベル２カーネルを起動し、前記起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送し、前記メモリ中の前記レベル２カーネル中のリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにし、前記レベル２カーネルは、前記オリジナルカーネルのイメージファイルをテイラーして、前記テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、前記オペレーティングシステムのイメージファイルは、前記オペレーティングシステムのハイバネーション状態情報を含むステップと、
前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにある前記オペレーティングシステムのイメージファイルに含まれた、前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーするステップと
を有するオペレーティングシステムリカバリー方法。
【請求項２】
リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップは、前記起動されたレベル２カーネルを用いて、前記リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップを含む、
請求項１に記載のオペレーティングシステムリカバリー方法。
【請求項３】
リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップは、
前記不揮発性メモリ上の前記オペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションに読み出すステップと、
前記起動されたレベル２カーネルを用いて、前記リカバーすべきオペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップとを含む、
請求項１に記載のオペレーティングシステムリカバリー方法。
【請求項４】
前記レベル２カーネルを起動した後、リカバーすべきオペレーティングシステムのイメージファイルを前記起動されたレベル２カーネルを用いてメモリの指定ロケーションに転送する前に、前記方法はさらに、前記レベル２カーネルのイメージファイルをロードするステップを有する、
請求項１ないし３いずれか一項に記載のオペレーティングシステムリカバリー方法。
【請求項５】
前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにある前記オペレーティングシステムのイメージファイルに含まれた、前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーした後に、
前記方法はさらに、前記レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルで置き換えるステップを有する、
請求項１ないし４いずれか一項に記載のオペレーティングシステムリカバリー方法。
【請求項６】
前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、前記オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするステップをさらに有する、請求項５に記載のオペレーティングシステムリカバリー方法。
【請求項７】
前記オペレーティングシステムのハイバネーション状態情報は、前記オペレーティングシステムが前記ハイバネーションモードに入る前に凍結され保存された前記オペレーティングシステムのハイバネーション状態情報、または予め設定され保存された前記オペレーティングシステムのハイバネーション状態情報を含む、
請求項１ないし６いずれか一項に記載のオペレーティングシステムリカバリー方法。
【請求項８】
オペレーティングシステムリカバリー装置であって、
レベル２カーネルを起動するように構成され、前記レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーし、前記テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる、ブートローダユニットと、
前記起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、前記メモリにおけるレベル２カーネルのリカバリープログラムのロケーションが前記メモリにおけるオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするよう構成され、前記オペレーティングシステムのイメージファイルが前記オペレーティングシステムのハイバネーション状態情報を含む読み出しユニットと、
前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれた前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーするように構成されているリカバリーユニットと
を有する装置。
【請求項９】
前記読み出しユニットは、前記起動されたレベル２カーネルを用いて、前記リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じにするように構成されている、
請求項８に記載のオペレーティングシステムリカバリー装置。
【請求項１０】
前記ブートローダユニットは、さらに、外部記憶上の前記オペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションに読み出すように構成され、
前記読み出しユニットは、前記起動されたレベル２カーネルを用いて、前記リカバーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じにするように構成され、前記オペレーティングシステムのイメージファイルは前記オペレーティングシステムのハイバネーション状態情報を含む、
請求項８に記載のオペレーティングシステムリカバリー装置。
【請求項１１】
前記ブートローダユニットは、さらに、前記レベル２カーネルのイメージファイルをロードするように構成されている、請求項８ないし１０いずれか一項に記載のオペレーティングシステムリカバリー装置。
【請求項１２】
前記リカバリーユニットは、さらに、前記レベル２カーネルを、前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるように構成されている、
請求項８ないし１１いずれか一項に記載のオペレーティングシステムリカバリー装置。
【請求項１３】
リカバリーユニットは、さらに、前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、前記オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている、
請求項１２に記載のオペレーティングシステムリカバリー装置。
【請求項１４】
端末デバイスであって、
前記端末デバイス上で実行されるオペレーティングシステムのイメージファイルを記憶するように構成されているメモリと、
前記メモリに結合したプロセッサとを有し、前記プロセッサは、
レベル２カーネルを起動し、前記起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送し、前記メモリ中の前記レベル２カーネル中のリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにし、前記レベル２カーネルは、前記オリジナルカーネルのイメージファイルをテイラーして、前記テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、前記オペレーティングシステムのイメージファイルは、前記オペレーティングシステムのハイバネーション状態情報を含み、
前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにある前記オペレーティングシステムのイメージファイルに含まれた、前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーする、
端末デバイス。
【請求項１５】
リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする際に、
前記プロセッサは、
前記起動されたレベル２カーネルを用いて、前記リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成されている、
請求項１４に記載の端末デバイス。
【請求項１６】
リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする際に、
前記プロセッサは、
前記不揮発性メモリ上の前記オペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションに読み出し、
前記起動されたレベル２カーネルを用いて、前記リカバーすべきオペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じにするように構成されている、
請求項１４に記載の端末デバイス。
【請求項１７】
前記レベル２カーネルを起動した後、リカバーすべきオペレーティングシステムのイメージファイルを前記起動されたレベル２カーネルを用いてメモリの指定ロケーションに転送する前に、前記プロセッサは、さらに、前記レベル２カーネルのイメージファイルをロードするように構成されている、
請求項１４ないし１６いずれか一項に記載の端末デバイス。
【請求項１８】
前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにある前記オペレーティングシステムのイメージファイルに含まれた、前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーした後に、
前記プロセッサは、さらに、
前記レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルで置き換えるように構成されている、
請求項１４ないし１７いずれか一項に記載の端末デバイス。
【請求項１９】
前記プロセッサは、さらに、
前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、前記オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている、
請求項１８に記載の端末デバイス。
【請求項２０】
前記オペレーティングシステムのハイバネーション状態情報は、前記オペレーティングシステムが前記ハイバネーションモードに入る前に凍結され保存された前記オペレーティングシステムのハイバネーション状態情報、または予め設定され保存された前記オペレーティングシステムのハイバネーション状態情報を含む、
請求項１４ないし１９いずれか一項に記載の端末デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムの技術分野に関し、具体的には、オペレーティングシステムリカバリー方法、装置、及び端末デバイスに関する。
【背景技術】
【０００２】
ハイバネーション（ｈｉｂｅｒｎａｔｉｏｎ）はコンピュータのパワーマネジメントの技術である。先行技術では、コンピュータがハイバネーションモードに入ると、そのコンピュータのオペレーティングシステムのハイバネーション状態情報が、イメージファイルの形式でシステムの不揮発性メモリに保存される。ここでイメージファイルはオペレーティングシステムのイメージファイルであり、オペレーティングシステムのイメージファイルはオリジナルカーネルと、その他のアプリケーションプログラム情報とを含む。コンピュータは、ハイバネーションモードから復帰して、不揮発性メモリに回復すべきオペレーティングシステムのイメージファイルが保存されていることを検知すると、オリジナルカーネルをロードして起動し、起動されたオリジナルカーネルを用いてシステムの不揮発性メモリからオペレーティングシステムのイメージファイルを読み出し、オペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報により、コンピュータのオペレーティングシステムを、ハイバネーションモードに入る前の状態に戻す。先行技術では、オリジナルカーネルはオペレーティングシステムに含まれるカーネルと一致するので、先行技術におけるコンピュータのオペレーティングシステムをリカバーする方法のリカバリー速度は比較的遅い。
本出願は、２０１３年１２月１０日に中国特許庁に出願した中国特許出願第２０１３１０６７４９９０．２号（発明の名称「ＯＰＥＲＡＴＩＮＧ  ＳＹＳＴＥＭ  ＲＥＣＯＶＥＲＹ  ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ，  ＡＮＤ  ＴＥＲＭＩＮＡＬ  ＤＥＶＩＣＥ」）の優先権を主張するものである。上記出願はここにその全体を参照援用する。
【発明の概要】
【０００３】
本発明の実施形態は、オペレーティングシステムリカバリー方法及び装置、並びにオペレーティングシステムのリカバリー速度を加速する端末デバイスを提供する。
【０００４】
一態様によると、本発明の一実施形態は、オペレーティングシステムリカバリー方法を提供し、該方法は、レベル２カーネルを起動し、前記起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送し、前記メモリ中の前記レベル２カーネル中のリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにし、前記レベル２カーネルは、前記オリジナルカーネルのイメージファイルをテイラーして、前記テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、前記オペレーティングシステムのイメージファイルは、前記オペレーティングシステムのハイバネーション状態情報を含むステップと、起動されたレベル２カーネルのリカバリープログラムにより、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーするステップとを有する。
【０００５】
第１の態様を参照して、第１のインプリメンテーションにおいて、リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップは、前記起動されたレベル２カーネルを用いて、前記リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップを含む。
【０００６】
第１の態様を参照して、第２のインプリメンテーションにおいて、リカバーすべきオペレーティングシステムのイメージファイルを、前記起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送し、前記メモリにおける前記レベル２カーネルのリカバリープログラムのロケーションが前記メモリのオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップは、  前記不揮発性メモリ上の前記オペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションに読み出すステップと、前記起動されたレベル２カーネルを用いて、前記リカバーすべきオペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするステップとを含む。
【０００７】
第１の態様、第１の態様の第１のインプリメンテーションまたは第１の態様の第２のインプリメンテーションを参照して、第３のインプリメンテーションにおいて、前記レベル２カーネルを起動した後、リカバーすべきオペレーティングシステムのイメージファイルを前記起動されたレベル２カーネルを用いてメモリの指定ロケーションに転送する前に、本発明はさらに、前記レベル２カーネルのイメージファイルをロードするステップをさらに有する。
【０００８】
第１の態様、または第１の態様の第１のインプリメンテーションないし第１の態様の第３のインプリメンテーションのうちいずれかを参照して、第４のインプリメンテーションにおいて、起動されたレベル２カーネルのリカバリープログラムにより、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーした後、オペレーティングシステムがそのハイバネーションモードに入る前に、本発明はさらに、レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるステップを含む。
【０００９】
第１の態様の第４のインプリメンテーションを参照して、第５のインプリメンテーションにおいて、前記方法は、さらに、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするステップを含む。
【００１０】
第１の態様、または第１の態様の第１のインプリメンテーションないし第１の態様の第５のインプリメンテーションのうちいずれかを参照して、第６のインプリメンテーションにおいて、前記オペレーティングシステムのハイバネーション状態情報は、前記オペレーティングシステムが前記ハイバネーションモードに入る前に凍結され保存された前記オペレーティングシステムのハイバネーション状態情報、または予め設定され保存された前記オペレーティングシステムのハイバネーション状態情報を含む。
【００１１】
第２の態様によると、本発明の一実施形態は、オペレーティングシステムリカバリー装置を提供し、該装置は、レベル２カーネルを起動するように構成され、前記レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーし、前記テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる、ブートローダユニットと、前記起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、前記メモリにおけるレベル２カーネルのリカバリープログラムのロケーションが前記メモリにおけるオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするよう構成され、前記オペレーティングシステムのイメージファイルが前記オペレーティングシステムのハイバネーション状態情報を含む読み出しユニットと、前記起動されたレベル２カーネルのリカバリープログラムにより、前記メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれた前記オペレーティングシステムのハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーするように構成されているリカバリーユニットとを有する。
【００１２】
第２の態様を参照して、第１のインプリメンテーションにおいて、前記読み出しユニットは、前記起動されたレベル２カーネルを用いて、前記リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じにするように構成され、オペレーティングシステムのイメージファイルはそのオペレーティングシステムのハイバネーション状態情報を含む。
【００１３】
第２の態様を参照して、第２のインプリメンテーションにおいて、前記ブートローダユニットは、さらに、外部記憶上の前記オペレーティングシステムのイメージファイルを、前記メモリの専用デバイスパーティションに読み出すように構成され、前記読み出しユニットは、前記起動されたレベル２カーネルを用いて、前記リカバーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、前記メモリの指定ロケーションに転送し、前記メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、前記メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じにするように構成され、前記オペレーティングシステムのイメージファイルは前記オペレーティングシステムのハイバネーション状態情報を含む。
【００１４】
第２の態様、第２の態様の第１のインプリメンテーションまたは第２の態様の第２のインプリメンテーションを参照して、第３のインプリメンテーションにおいて、前記ブートローダユニットは、さらに、前記レベル２カーネルのイメージファイルをロードするように構成されている。
【００１５】
第２の態様、または第２の態様の第１のインプリメンテーションないし第２の態様の第３のインプリメンテーションのうちいずれかを参照して、第４のインプリメンテーションにおいて、前記リカバリーユニットは、さらに、前記レベル２カーネルを、前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるように構成されている。
【００１６】
第２の態様の第４のインプリメンテーションを参照して、第５のインプリメンテーションにおいて、リカバリーユニットは、さらに、前記リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、前記オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている。
【００１７】
第３の態様によると、本発明の一実施形態は、さらに、端末デバイスを提供し、該デバイスは、メモリと、第２の態様、または第２の態様の第１のインプリメンテーションないし第２の態様の第５のインプリメンテーションのいずれかによるオペレーティングシステムリカバリー装置とを有し、前記メモリは、前記端末デバイス上で実行されているオペレーティングシステムのイメージファイルを記憶し、前記オペレーティングシステムリカバリー装置は、前記メモリの指定ロケーションのオペレーティングシステムのイメージファイルに含まれるハイバネーション状態情報を用いて、前記オペレーティングシステムを、前記オペレーティングシステムがそのオペレーティングシステムのハイバネーションモードに入る前の状態にリカバーするように構成されている。
【００１８】
本発明の実施形態により提供されるオペレーティングシステムリカバリー方法及び装置、並びに端末デバイスにおいて、及び本発明の実施形態により提供される技術的ソリューションにおいて、レベル２カーネルが起動された後、リカバーされるべきオペレーティングシステムのイメージファイルが、起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送され、メモリにおけるレベル２カーネルのリカバリープログラムのロケーションが、メモリにおけるオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。これは、オペレーティングシステムがハイバネーションモードに入る前の状態にスムースにリカバーできるようにするためである。これらのソリューションでは、レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。レベル２カーネルを起動するのにかかる時間は、オリジナルカーネルを起動するのにかかる時間より短い。それゆえ、本発明の実施形態により提供される技術的ソリューションによると、オペレーティングシステムの通常のリカバリーをインプリメントに基づいて、レベル２カーネルを起動する時間が短くなるので、オペレーティングシステムのリカバリー速度が加速される。
【図面の簡単な説明】
【００１９】
本発明の実施形態の技術的解決手段をより明確に説明するため、以下に実施形態または先行技術を説明するのに必要な添付図面を簡単に説明する。言うまでもなく、以下に説明する添付図面は、本発明の実施形態を示しており、本技術分野の当業者は、創作的努力をせずとも、これらの添付図面から他の図面に想到することもできるだろう。
【００２０】
【図１】先行技術における端末デバイスの論理構造を示す図である。
【００２１】
【図２ａ】オリジナルカーネルのイメージファイルを示す構造図である。
【００２２】
【図２ｂ】レベル２カーネルのイメージファイルを示す構造図である。
【００２３】
【図３ａ】本発明の一実施形態によるオペレーティングシステムのリカバリー方法を示す方法フローチャートである。
【００２４】
【図３ｂ】本発明の一実施形態によるオペレーティングシステムの他のリカバリー方法を示す方法フローチャートである。
【００２５】
【図３ｃ】本発明の一実施形態によるオペレーティングシステムの他のリカバリー方法を示す方法フローチャートである。
【００２６】
【図４】本発明の一実施形態によるオペレーティングシステムリカバリー装置を示す構成図である。
【００２７】
【図５】本発明の一実施形態による端末デバイスを示す構造図である。
【００２８】
【図６】本発明の一実施形態による他の端末デバイスを示す構造ブロック図である。
【発明を実施するための形態】
【００２９】
下記は、本発明の実施形態による添付図面を参照して本発明の実施形態における技術的解決策の明確かつ完全な説明である。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく一部である。本技術分野の当業者によって創作的努力を要せずに本発明の実施形態に基づき得られる他の実施形態はすべて、本発明の保護範囲内に入る。
実施形態１
【００３０】
図３ａは、本発明の一実施形態によるオペレーティングシステムのリカバリー方法を示す方法フローチャートである。本発明のこの実施形態により提供されるオペレーティングシステムのリカバリー方法は、コンピュータシステムであって１つの物理的ホストにあるもの、及び複数の物理的ホストにあるものに適用できる。具体的に、コンピュータシステムは、一以上のコンピュータ、ポータブルコンピュータ、ハンドヘルドデバイス（例えば、モバイルフォンやＰＡＤ）、またはサーバなどの端末デバイスにある。端末デバイスの論理的構造を説明するため、図１を参照する。
【００３１】
図１を参照して、図１は本発明の一実施形態による端末デバイスの論理的構造を示す図である。標準的なＬｉｎｕｘカーネルを含むオペレーティングシステムが端末デバイスにインストールされ、実行される。端末デバイスは具体的にはパーソナルコンピュータ、スマートフォン、セットトップボックス、ＧＰＳなどである。図１に示すように、端末デバイスのハードウェアシステムは、プロセッサ、入力デバイス、ディスプレイデバイス、通信デバイス、メモリ、不揮発性メモリ（不揮発性メモリはハードディスクドライブと光ディスクを含むが、これらに限定されない）などを含み、端末デバイスのハードウェアシステムはさらに出力デバイス、メモリコントローラ、ネットワークインタフェースなどを含む。具体的に、入力デバイスは、キーボード、マウス、タッチスクリーンなどを含み、カーネル空間はハードウェアシステム上で実行され、オペレーティングシステムのＬｉｎｕｘカーネルと、ドライブプログラムとがカーネル空間上で実行され、ユーザ空間がカーネル空間上で実行され、ユーザ空間がＣ言語ライブラリ、コアライブラリなどを含み、（図示しない）ランチャー（ｌａｕｎｃｈｅｒ）、メディアプレーヤ（Ｍｅｄｉａ  Ｐｌａｙｅｒ）、及びブラウザ（Ｂｒｏｗｓｅｒ）などの様々なアプリケーションプログラムがユーザ空間上で実行される。
【００３２】
具体的に、図３ａを参照して、本発明のこの実施形態により提供されるオペレーティングシステムリカバリー方法の具体的な手順は次の通りである：
【００３３】
ステップＳ３０３：レベル２カーネルを起動し、起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、メモリ中のレベル２カーネル中のリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、オペレーティングシステムのイメージファイルは、オペレーティングシステムのハイバネーション状態情報を含む。
【００３４】
第１に、カーネルは、オペレーティングシステムのコアであり、ハードウェアに基づくソフトウェアエクステンションの第１のレイヤであり、オペレーティングシステムの最も基本的な機能を提供するのに使われ、オペレーティングシステムの動作（ｗｏｒｋｉｎｇ）の基本である。レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーし、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。オリジナルカーネルはオペレーティングシステムがハイバネーションモードに入る前にオペレーティングシステムに含まれているカーネルを指す。レベル２カーネルを起動するのに必要な時間は、オリジナルカーネルを起動するのにかかる時間より短い。具体的に、オリジナルカーネルのイメージファイルは、複数のコードセグメントを含み、レベル２カーネルのイメージファイルは、オリジナルカーネルのイメージファイルに含まれるがオペレーティングシステムのリカバリーには関与しないコードセグメントをカットすることにより、得られる。レベル２カーネルは、オペレーティングシステムのリカバリーに欠かせないコードセグメントのみを含み、オペレーティングシステムのリカバリーに関与しないコードセグメントを含んでいてもよい。要するに、レベル２カーネルのイメージファイル中に含まれるコードセグメント数を、オリジナルカーネルのイメージファイルに含まれるコードセグメント数より比較的少なくする限り、本発明におけるオペレーティングシステムのリカバリー速度を速くするという目的は、本発明の保護範囲内に入る。
【００３５】
留意点として、レベル２カーネルは、ブートローダプログラムがレベル２カーネルのイメージファイルをロードした後に、起動される。レベル２カーネルのイメージファイルは、システムがハイバネーションする時、またはシャットダウンされる時に、生成され、システムの不揮発性メモリに保存されてもよいし、事前にシステムの不揮発性メモリに保存されてもよい。本発明の発明目的をインプリメントするため、システムがハイバネーションモードから復帰（ａｗａｋｅｎｅｄ）する必要がある時、レベル２カーネルはロードされ、実行される。要するに、レベル２カーネルのイメージファイルを生成する方法は、本発明の本実施形態には限定的に規定されていない。
【００３６】
オリジナルカーネルのイメージファイルは、メモリを管理するメモリ管理コードセグメントとファイルを管理するファイル管理コードセグメントのように、オリジナルカーネルの異なる機能に別々に対応するコードセグメントを含む。それに応じて、レベル２カーネルのイメージファイルもコードセグメントを含み、レベル２カーネルのイメージファイルの、オリジナルカーネルのイメージファイルとの違いは、レベル２カーネルのイメージファイルに含まれるコードセグメント数がオリジナルカーネルのイメージファイルに含まれるコードセグメント数より比較的少ないことにある。それゆえ、レベル２カーネルのイメージファイルをロードするのにかかる時間は、先行技術において、オリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。
【００３７】
図２ａと図２ｂは説明用の例として用いる。図２ａに示したオリジナルカーネルのイメージファイルは、６つのコードセグメントを含む。６つとは、リカバリープログラム、プロセス管理、メモリ管理、ファイル管理、プロトコルスタック、及びデバイス管理である。図２ｂに示したレベル２カーネルのイメージファイルは、３つのコードセグメントを含む。３つとは、リカバリープログラム、メモリ管理、及びプロセス管理である。レベル２カーネルのイメージファイルは、３つのコードセグメントをカットして、オリジナルカーネルのイメージファイルを再コンパイルすることにより得られる。３つとは、ファイル管理、プロトコルスタック、及びデバイス管理である。確かに、よく用いられるＬｉｎｕｘカーネルのイメージファイルに含まれるコードセグメントは、上記の６つのコードセグメントのみに限定されない。Ｌｉｎｕｘカーネルが端末デバイスの様々なハードウェアデバイスのドライバーを含み得ることは周知である。ドライバーとは、例えば、ディスプレイドライバー、カメラドライバー、ブルートゥースドライバー、フラッシュメモリードライバー、キーボードドライバー、ＵＳＢドライバー、レンダードライバー、パワー管理ドライバー、ＷｉＦｉドライバー、及びオーディオドライバーである。それに応じて、Ｌｉｎｕｘカーネルのイメージファイルも上記の各コードセグメントを含む。
【００３８】
留意点として、レベル２カーネルは、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送して、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。ここで、オリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入る前に、オペレーティングシステムに含まれるカーネルを指す。レベル２カーネルを用いて、オペレーティングシステムを、それがハイバネーションモードに入る前の状態に、リカバーする。実際、レベル２カーネルのリカバリープログラムを用いて、上記の理科払いー機能をインプリメントする。メモリ中のレベル２カーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じであることにより、レベル２カーネルのリカバリープログラムが、リカバーされるオペレーティングシステムに含まれるオリジナルカーネルのリカバリープログラムによりスムースに買い換えられ、置換される。すなわち、レベル２カーネルのリカバリープログラムからオリジナルカーネルのリカバリープログラムへのセキュアなテイクオーバー（ｔａｋｅｏｖｅｒ）がなされ、オリジナルカーネルのその他のコードセグメントがレベル２カーネルのリカバリープログラムを書き換えてしまい、システムがクラッシュしてリカバリーできなくなることを回避する。
【００３９】
リカバリーすべきオペレーティングシステムのイメージファイルは、起動されたレベル２カーネルを用いて、メモリの指定ロケーションに転送される。具体的に、図３ｂに示したステップＳ３１３を参照する。起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。
【００４０】
レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに直接転送してもよい。もちろん、このソリューションをインプリメントする前提条件は、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していることである。
【００４１】
本発明の他の一実施形態として、図３ｃに示すステップＳ３２３を参照する。起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。
【００４２】
この実施形態では、レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから読み出す。留意点として、このソリューションを適用する際、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能も有していてもよい。そして、もちろん、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能を有していなくてもよい。具体的に、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していない場合、まずブートローダプログラムが不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションに読み出す必要があり、次にレベル２カーネルがオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションからメモリの指定ロケーションに転送する。
【００４３】
留意点として、レベル２カーネルが、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションからメモリの指定ロケーションに転送するとき、本発明の本実施形態のオペレーティングシステムリカバリー方法は、さらにステップ３２１を含む必要がある。ステップＳ３２１では、不揮発性メモリ上のオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションに読み出す。
【００４４】
注目に値することに、メモリの専用デバイスパーティションは、特定用途用にデバイスに割り当てられ、カーネルにより管理されていない物理的メモリ中のパーティションを指す。物理的メモリ中の専用デバイスパーティションのアドレスは連続しており、専用デバイスパーティションはＰＭＥＭ（Ｐｅｒｓｉｓｔｅｎｔ  Ｍｅｍｏｒｙ）パーティション等であってもよい。
【００４５】
具体的に、組み込みオペレーティングシステムでは、オペレーティングシステムのカーネルが実行される前にブートローダプログラムが実行され、ブートローダプログラムがハードウェア環境を初期化し、メモリ空間のマッピングピクチャを生成し、それにより最終的にオペレーティングシステムのカーネルを呼び出す環境を準備するため、システムのソフトウェア及びハードウェア環境を好適な状態にする。本発明の本実施形態では、パワーオンされた後、まずブートローダプログラムが実行され、次に不揮発性メモリ上にあるオペレーティングシステムのイメージファイルがメモリの専用デバイスパーティションに読み出される。その理由は、ブートローダプログラムが不揮発性メモリからオペレーティングシステムのイメージファイルを読み出す機能を有し、ブートローダプログラムのこの機能を用いて、先行技術におけるカーネルに含まれるファイル管理コードセグメントのファイル管理機能に依存しないようにする。不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリに読み出すブートローダプログラムを用いる機能は、レベル２カーネルのイメージファイルがオリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られたとき、オペレーティングシステムを、それがハイバネーションモードに入る前の状態に、オペレーティングシステムレベル２カーネルが、スムースにリカバリーできるという前提の下に、オリジナルカーネルのイメージファイルに含まれるファイル管理システムコードセグメントがカットでき、レベル２カーネルがより小さくなり、ローディング速度が速くなることにある。
【００４６】
オペレーティングシステムのハイバネーション状態情報は、オペレーティングシステムがハイバネーションモードに入る前に凍結され保存された、そのオペレーティングシステムのハイバネーション状態情報を指す。オペレーティングシステムのハイバネーション状態情報は、そのオペレーティングシステム上で実行されているすべてのプロセスに関する情報、外部デバイスの動作状態を表すデバイスデータ、オリジナルカーネルの動作状態を表すオリジナルカーネルデータ等を含む。具体的に、実行中のオペレーティングシステムのハイバネーションモードがアクティブになると、オペレーティングシステムはメモリとＣＰＵレジスタに含まれるすべての情報のスナップショットを取り、そのスナップショットすなわちオペレーティングシステムのハイバネーション状態情報がイメージファイルに保存される。留意点として、オペレーティングシステムのハイバネーション状態情報は、予め設定され保存された、オペレーティングシステムのハイバネーション状態情報であってもよい。例えば、車載用ＧＰＳでは、オペレーティングシステムのハイバネーション状態情報は予め設定されていてもよい。このように、ＧＰＳは、起動されるたびに、実際の要求を満たす一定状態に直接リカバリーする。
【００４７】
ステップ３０５。起動されたレベル２カーネルのリカバリープログラムにより、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーする。
【００４８】
具体的に、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーすることは、そのオペレーティングシステム上で実行されているすべてのプロセスに関する情報と、外部デバイスの動作状態を表すデバイスデータと、オペレーティングシステムがハイバネーションモードに入る前のオリジナルカーネルの動作状態を表すオリジナルカーネルデータとをリカバリーすることにより、オペレーティングシステムが、それがハイバネーションモードに入る前のオペレーティングシステムの状態に完全にリカバーされることを指す。
【００４９】
さらに、図３ｂに示したオペレーティングシステムのリカバリー方法を示すフローチャートを参照して、ステップＳ３１３において、起動されたレベル２カーネルを用いることにより、リカバーすべきオペレーティングシステムのイメージファイルを不揮発性メモリからメモリの指定ロケーションに転送する前に、本発明は、さらに、レベル２カーネルのイメージファイルをロードするステップを含む。
【００５０】
具体的に、不揮発性メモリ上のオペレーティングシステムのイメージファイルの、メモリの専用デバイスパーティションへの読み出しは、コンピュータがパワーオンされた後に実行されるブートローダプログラムにより実行される。ブートローダプログラムは、システムがパワーオンされた後に実行される最初のソフトウェアコードセグメントである。コンピュータ中のブートローダプログラムは、ハードディスクのＭＢＲにある基本入出力システム（ＢＩＯＳ）及びブートローダを含む。ハードウェア検出とリソースアロケーションが完了した後、ＢＩＯＳは、ハードディスクのＭＢＲ中のブートローダを、メモリのシステムに読み出し、コントロールパーミッション（ｃｏｎｔｒｏｌ  ｐｅｒｍｉｓｓｉｏｎ）をブートローダに渡す。ブートローダの主実行タスクは、ハードディスク上のカーネルのイメージファイルをメモリに読み出すことであり、ブートローダは実行のためカーネルのエントリーポイントにジャンプする。
【００５１】
留意点として、それに対応して、図３ｃに示したオペレーティングシステムリカバリー方法は、レベル２カーネルのイメージファイルをロードするステップも含む。
【００５２】
注目に値することに、図３ｂを参照して、オペレーティングシステムリカバリー方法は、さらに次のステップＳ３１７を含む。ステップＳ３１７は、起動されたレベル２カーネルのリカバリープログラムにより、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーした後、レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換える。
【００５３】
具体的に、レベル２カーネルのリカバリープログラムは、オペレーティングシステムのイメージファイルに含まれるハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーする。オペレーティングシステムがリカバーされる時、オペレーティングシステムに含まれるオリジナルカーネルが同時にリカバーされる。メモリ中のオリジナルカーネルに含まれ宇リカバリープログラムのロケーションがそのメモリ中のレベル２カーネルに含まれるリカバリープログラムのロケーションと同じであることに基づいて、オリジナルカーネルはレベル２カーネルを上書きして置き換え、オペレーティングシステムが正しくリカバーされるようにする。
【００５４】
さらに、図３ｂを参照して、オペレーティングシステムのリカバリーシステムは、さらに次のステップＳ３１８を含む。ステップＳ３１８は、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームする。
【００５５】
具体的に、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされると、オペレーティングシステムに含まれるオリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入った時にサスペンドされた外部デバイスをレジュームして、そのオペレーティングシステムが実行される端末デバイスが、オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態に完全にリカバーされるようにする。ここで、外部デバイスはシステムハードディスクなどである。具体的に、オペレーティングシステムは、リカバーされた後、ハイバネーション状態情報中に含まれるデバイスデータにより、そのデバイスがハイバネーションモードに入る前の、そのオペレーティングシステムの状態にリカバーする。
【００５６】
図３ｃを参照して、この図に示した他の一オペレーティングシステムリカバリー方法は、ステップＳ３２７とＳ３２８を含むことが分かる。ステップＳ３２７とＳ３２８の内容はそれぞれステップＳ３１７とＳ３１８の内容と同じであり、詳細についてはステップ３１７とＳ３１８の説明を参照し、ここでは説明を繰り返さない。
【００５７】
本発明の本実施形態によるオペレーティングシステムリカバリー方法によると、メモリ中のレベル２カーネルのリカバリープログラムのロケーションはメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じであるから、レベル２カーネルを用いて、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にスムースにリカバーできることが分かる。また、本発明の本実施形態による技術的ソリューションにより、レベル２カーネルを起動して、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされ、レベル２カーネルがオリジナルカーネルをテイラー及び再コンパイルすることにより得られるので、レベル２カーネルを起動するのにかかる時間は、オリジナルカーネルを起動するのにかかる時間より短く、すなわちレベル２カーネルの起動速度が加速される。すなわち、本発明の本実施形態の技術的ソリューションを用いて、オペレーティングシステムの正常なリカバリーを保証することに基づき、オペレーティングシステムのリカバリー速度を加速できる。
【００５８】
さらに、レベル２カーネルのイメージファイルはオリジナルカーネルのイメージファイルより小さいので、レベル２カーネルのイメージファイルをロードするのにかかる時間はオリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。そのため、オペレーティングシステムのリカバリー速度はさらに加速される。
【００５９】
図４を参照するに、図４は、本発明の一実施形態によるオペレーティングシステムリカバリー装置４０を示す構成図である。本発明の本実施形態によるオペレーティングシステムリカバリー装置４０は、図１に示した端末デバイスにも適用することもできる。図４に示したように、装置４０は、ブートローダユニット４３、読み出しユニット４５、及びリカバリーユニット４７を含む。
【００６０】
ブートローダユニット４３は、レベル２カーネルを起動するように構成されている。ここで、レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラー（ｔａｉｌｏｒ）し、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。
【００６１】
留意点として、レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーし、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。オリジナルカーネルはオペレーティングシステムがハイバネーションモードに入る前にオペレーティングシステムに含まれているカーネルを指す。レベル２カーネルを起動するのに必要な時間は、オリジナルカーネルを起動するのにかかる時間より短い。具体的に、オリジナルカーネルのイメージファイルは、複数のコードセグメントを含み、レベル２カーネルのイメージファイルは、オリジナルカーネルのイメージファイルに含まれるがオペレーティングシステムのリカバリーには関与しないコードセグメントをカットすることにより、得られる。レベル２カーネルは、オペレーティングシステムのリカバリーに欠かせないコードセグメントのみを含み、オペレーティングシステムのリカバリーに関与しないコードセグメントを含んでいてもよい。要するに、レベル２カーネルのイメージファイルに含まれるコードセグメント数はオリジナルカーネルのイメージファイルに含まれるコードセグメント数より比較的少なく、オペレーティングシステムのリカバリー速度を加速するという発明の目的は、本発明においてインプリメントされ得る。特筆に値することとして、レベル２カーネルのイメージファイルは、システムがハイバネーションする時、またはシャットダウンされる時に、生成され、システムの不揮発性メモリに保存されてもよいし、事前にシステムの不揮発性メモリに保存されてもよい。本発明の発明目的をインプリメントするため、システムがハイバネーションモードから復帰（ａｗａｋｅｎｅｄ）する必要がある時、レベル２カーネルはロードされ、実行される。要するに、レベル２カーネルのイメージファイルを生成する方法は、本発明の本実施形態には限定的に規定されていない。
【００６２】
特筆に値することとして、ブートローダユニット４３はレベル２カーネルのイメージファイルをロードするようにさらに構成され、レベル２カーネルのイメージファイルをロードするのにかかる時間はオリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。
【００６３】
読み出しユニット４５は、起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、メモリにおけるレベル２カーネルのリカバリープログラムのロケーションがそのメモリにおけるオリジナルカーネルのリカバリープログラムのロケーションと同じになり、オペレーティングシステムのイメージファイルがオペレーティングシステムのハイバネーション状態情報を含むように構成されている。
【００６４】
留意点として、読み出しユニット４５は、レベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送して、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。ここで、オリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入る前に、オペレーティングシステムに含まれるカーネルを指す。レベル２カーネルを用いて、オペレーティングシステムを、それがハイバネーションモードに入る前の状態に、リカバーする。実際、レベル２カーネルのリカバリープログラムを用いて、上記の理科払いー機能をインプリメントする。メモリ中のレベル２カーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じであることにより、レベル２カーネルのリカバリープログラムが、リカバーされるオペレーティングシステムに含まれるオリジナルカーネルのリカバリープログラムによりスムースに買い換えられ、置換される。すなわち、レベル２カーネルのリカバリープログラムからオリジナルカーネルのリカバリープログラムへのセキュアなテイクオーバー（ｔａｋｅｏｖｅｒ）がなされ、オリジナルカーネルのその他のコードセグメントがレベル２カーネルのリカバリープログラムを書き換えてしまい、システムがクラッシュしてリカバリーできなくなることを回避する。
【００６５】
具体的に、読み出しユニット４５は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成される。
【００６６】
レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに直接転送してもよい。もちろん、このソリューションをインプリメントする前提条件は、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していることである。
【００６７】
本発明の他の一実施形態として、読み出しユニット４５は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになり、オペレーティングシステムのイメージファイルがオペレーティングシステムのハイバネーション状態情報を含むようにするように構成される。
【００６８】
それに対応して、読み出しユニット４５が上記の機能をインプリメントする場合、ブートローダユニット４３は、さらに、不揮発性メモリ上のオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションに読み出すように構成されている。
【００６９】
この実施形態では、レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから読み出す。留意点として、このソリューションを適用する際、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能も有していてもよい。そして、もちろん、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能を有していなくてもよい。具体的に、レベル２カーネルのイメージファイルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していない場合、まずブートローダプログラムが不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションに読み出す必要があり、次にレベル２カーネルがオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションからメモリの指定ロケーションに転送する。
【００７０】
注目に値することに、メモリの専用デバイスパーティションは、特定用途用にデバイスに割り当てられ、カーネルにより管理されていない物理的メモリ中のパーティションを指す。物理的メモリ中の専用デバイスパーティションのアドレスは連続しており、専用デバイスパーティションはＰＭＥＭパーティション等であってもよい。
【００７１】
リカバリーユニット４７は、起動されたレベル２カーネルのリカバリープログラムにより、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーするように構成されている。
【００７２】
オペレーティングシステムのハイバネーション状態情報は、オペレーティングシステムがハイバネーションモードに入る前に凍結され保存された、そのオペレーティングシステムのハイバネーション状態情報を指す。オペレーティングシステムのハイバネーション状態情報は、そのオペレーティングシステム上で実行されているすべてのプロセスに関する情報、外部デバイスの動作状態を表すデバイスデータ、オリジナルカーネルの動作状態を表すオリジナルカーネルデータ等を含む。
【００７３】
さらに、リカバリーユニット４７は、レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるように構成されている。
【００７４】
具体的に、レベル２カーネルのリカバリープログラムは、オペレーティングシステムのイメージファイルに含まれるハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーする。オペレーティングシステムがリカバーされる時、オペレーティングシステムに含まれるオリジナルカーネルが同時にリカバーされる。メモリ中のオリジナルカーネルに含まれ宇リカバリープログラムのロケーションがそのメモリ中のレベル２カーネルに含まれるリカバリープログラムのロケーションと同じであることに基づいて、オリジナルカーネルはレベル２カーネルを上書きして置き換え、オペレーティングシステムが正しくリカバーされるようにする。
【００７５】
さらに、リカバリーユニット４７は、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている。
【００７６】
具体的に、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされると、オペレーティングシステムに含まれるオリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入った時にサスペンドされた外部デバイスをレジュームして、そのオペレーティングシステムが実行される端末デバイスが、オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態に完全にリカバーされるようにする。ここで、外部デバイスはシステムハードディスクなどである。
【００７７】
具体的なインプリメンテーションでは、上記各ユニットは、独立エンティティとしてインプリメントされてもよいし、一以上のエンティティとして、いかようにでも組み合わせて、インプリメントされてもよい。上記各ユニットの具体的なインプリメンテーションについて、上記の実施形態を参照し、ここでは詳細な説明は繰り返さない。
【００７８】
本発明の本実施形態によるオペレーティングシステムリカバリー装置がオペレーティングシステムをリカバーするとき、オリジナルカーネルをテイラーし、次にテイラーされたオリジナルカーネルをコンパイルすることによりレベル２カーネルが得られるので、レベル２カーネルを起動するのに係る時間はオリジナルカーネルを起動するのにかかる時間より短い。また、リカバリーユニットは、起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションからメモリの指定ロケーションに転送する。メモリにおけるオリジナルカーネルのリカバリープログラムのロケーションは、そのメモリにおけるレベル２カーネルのリカバリープログラムのロケーションと同じである。これにより、レベル２カーネルを用いて、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にスムースにリカバーすることができる。すなわち、本発明のこの実施形態によるオペレーティングシステムは、通常のリカバリーを保証する状況下において、オペレーティングシステムのリカバリー速度を加速できる。
【００７９】
さらに、本発明の本実施形態によるレベル２カーネルは、レベル２カーネルのイメージファイルがロードされた後に起動され、レベル２カーネルのイメージファイルはオリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、レベル２カーネルのイメージファイルをロードしてレベル２カーネルを起動するのにかかる時間は、オリジナルカーネルのイメージファイルをロードしてオリジナルカーネルを起動するのにかかる時間より短い。そのため、オペレーティングシステムをリカバーするのにかかる時間をさらに短縮でき、オペレーティングシステムのリカバー効率を改善できる。
【００８０】
上記の方法と装置の実施形態をより良くインプリメントするため、図５を参照するに、図５は本発明の一実施形態による端末デバイス５０を示す構成ブロック図である。端末デバイス５０の論理的構造を示す図は図１に示した。具体的に、図５に示すように、端末デバイス５０は、メモリ５２とオペレーティングシステムリカバリー装置５４とを含む。
【００８１】
メモリ５２は、端末デバイス上で実行されるオペレーティングシステムのイメージファイルを記憶するように構成されている。
【００８２】
具体的に、オペレーティングシステムのイメージファイルはそのオペレーティングシステムのハイバネーション状態情報を含む。オペレーティングシステムのハイバネーション状態情報は、オペレーティングシステムがハイバネーションモードに入る前に凍結され保存された、そのオペレーティングシステムのハイバネーション状態情報を指す。オペレーティングシステムのハイバネーション状態情報は、そのオペレーティングシステム上で実行されているすべてのプロセスに関する情報、外部デバイスの動作状態を表すデバイスデータ、オリジナルカーネルの動作状態を表すオリジナルカーネルデータ等を含む。具体的に、実行中にオペレーティングシステムのハイバネーションモードがアクティブになると、オペレーティングシステムはメモリとＣＰＵレジスタに含まれるすべての情報のスナップショットを取り、そのスナップショットすなわちオペレーティングシステムのハイバネーション状態情報がイメージファイルに保存される。
【００８３】
もちろん、オペレーティングシステムのハイバネーション状態情報は、予め設定され保存された、オペレーティングシステムのハイバネーション状態情報であってもよい。例えば、車載用ＧＰＳでは、オペレーティングシステムのハイバネーション状態情報は予め設定されていてもよい。このように、ＧＰＳは、起動されるたびに、実際の要求を満たす一定状態に直接リカバリーする。
【００８４】
オペレーティングシステムリカバリー装置５４は、メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたハイバネーション状態情報を用いて、オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーするよう構成されている。
【００８５】
留意点として、オペレーティングシステムリカバリー装置５４は、レベル２カーネルを起動し、起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、メモリ中のレベル２カーネル中のリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、オペレーティングシステムのイメージファイルは、オペレーティングシステムのハイバネーション状態情報を含む。メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、起動されたレベル２カーネルのリカバリープログラムを用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーする。
【００８６】
ブートローダプログラムがレベル２カーネルのイメージファイルをロードした後、レベル２カーネルが起動され、オリジナルカーネルのイメージファイルをテイラー（ｔａｉｌｏｒ）し、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより、レベル２カーネルのイメージファイルが得られる。具体的に、オリジナルカーネルのイメージファイルは複数のコードセグメントを含む。オリジナルカーネルのイメージファイルと比較して、レベル２カーネルのイメージファイルは、少なくとも、オリジナルカーネルのイメージファイルに含まれる複数のコードセグメントのファイル管理コードセグメントをカットし、オリジナルカーネルのイメージファイルを再コンパイルすることにより得られる。
【００８７】
特筆に値する点として、レベル２カーネルのイメージファイルは、オリジナルカーネルのイメージファイルをテイラーし、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。レベル２カーネルのイメージファイルは、システムがハイバネーションする時、またはシャットダウンされる時に、生成され、システムの不揮発性メモリに保存されてもよいし、事前にシステムの不揮発性メモリに保存されてもよい。本発明の発明目的をインプリメントするため、システムがハイバネーションモードから復帰（ａｗａｋｅｎｅｄ）する必要がある時、レベル２カーネルはロードされ、実行される。要するに、レベル２カーネルのイメージファイルを生成する方法は、本発明の本実施形態には限定的に規定されていない。
【００８８】
留意点として、レベル２カーネルは、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送して、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。ここで、オリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入る前に、オペレーティングシステムに含まれるカーネルを指す。レベル２カーネルを用いて、オペレーティングシステムを、それがハイバネーションモードに入る前の状態に、リカバーする。実際、レベル２カーネルのリカバリープログラムを用いて、上記の理科払いー機能をインプリメントする。メモリ中のレベル２カーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じであることにより、レベル２カーネルのリカバリープログラムが、リカバーされるオペレーティングシステムに含まれるオリジナルカーネルのリカバリープログラムによりスムースに買い換えられ、置換される。すなわち、レベル２カーネルのリカバリープログラムからオリジナルカーネルのリカバリープログラムへのセキュアなテイクオーバー（ｔａｋｅｏｖｅｒ）がなされ、オリジナルカーネルのその他のコードセグメントがレベル２カーネルのリカバリープログラムを書き換えてしまい、システムがクラッシュしてリカバリーできなくなることを回避する。
【００８９】
本発明の一実施形態として、オペレーティングシステムリカバリー装置５４は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成されている。
【００９０】
レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに直接転送してもよい。もちろん、このソリューションをインプリメントする前提条件は、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していることである。
【００９１】
本発明の他の一実施形態として、オペレーティングシステムリカバリー装置５４は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成されている。
【００９２】
リカバーすべきオペレーティングシステムのイメージファイルが、起動されたレベル２カーネルを用いて、メモリの専用デバイスパーティションからメモリの指定ロケーションに転送され、メモリにおけるレベル２カーネルのリカバリープログラムのロケーションが、そのメモリにおけるオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする前に、オペレーティングシステムリカバリー装置５４は、不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションに読み出すように構成されている。
【００９３】
この実施形態では、レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから読み出す。留意点として、このソリューションを適用する際、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能も有していてもよい。そして、もちろん、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能を有していなくてもよい。具体的に、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していない場合、まずブートローダプログラムが不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションに読み出す必要があり、次にレベル２カーネルがオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションからメモリの指定ロケーションに転送する。
【００９４】
注目に値することに、メモリの専用デバイスパーティションは、特定用途用にデバイスに割り当てられ、カーネルにより管理されていない物理的メモリ中のパーティションを指す。物理的メモリ中の専用デバイスパーティションのアドレスは連続しており、専用デバイスパーティションはＰＭＥＭパーティション等であってもよい。
【００９５】
特筆すべき点として、さらに、オペレーティングシステムリカバリー装置５４は、レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるように構成されている。また、オペレーティングシステムリカバリー装置５４は、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている。
【００９６】
本発明の本実施形態による端末デバイスを用いて、その端末デバイス上のオペレーティングシステムをリカバーする時、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションはメモリ中のレベル２カーネルのリカバリープログラムのロケーションと同じであるから、レベル２カーネルを用いて、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にスムースにリカバーできることが分かる。また、本発明の本実施形態による技術的ソリューションにより、レベル２カーネルを起動して、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされ、レベル２カーネルがオリジナルカーネルをテイラー及び再コンパイルすることにより得られるので、レベル２カーネルを起動するのにかかる時間は、オリジナルカーネルを起動するのにかかる時間より短く、すなわちレベル２カーネルの起動速度が加速される。すなわち、本発明のこの実施形態によるオペレーティングシステムは、通常のリカバリーを保証する状況下において、オペレーティングシステムのリカバリー速度を加速できる。
【００９７】
さらに、レベル２カーネルのイメージファイルはオリジナルカーネルのイメージファイルより小さいので、レベル２カーネルのイメージファイルをロードするのにかかる時間はオリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。そのため、オペレーティングシステムのリカバリー速度はさらに改善される。
【００９８】
上記の方法と装置の実施形態をより良くインプリメントするため、図６を参照するに、図６は本発明の一実施形態による端末デバイス６００を示す構成ブロック図である。端末デバイス６００の論理的構造を示す図は図１に示した。具体的に、図６に示すように、端末デバイス６００は、少なくとも１つのプロセッサ６０１、少なくとも１つのネットワークインタフェース６０４またはその他のユーザインタフェース６０３、記憶デバイス６０５、及び少なくとも１つの通信バス６０２を含む。通信バス６０２はこれらのコンポーネント間の接続通信をインプリメントするように構成されている。端末デバイス６００は、任意的に、ユーザインタフェース６０３を含み、ディスプレイ（例えば、タッチスクリーン、ＬＣＤ、ＣＴＲ、ホログラフィックイメージング（Ｈｏｌｏｇｒａｐｈｉｃ）、プロジェクタ（Ｐｒｏｊｅｃｔｏｒ））、キーボード、またはクリックデバイス（例えば、マウス、トラックボール、タッチパッド、またはタッチスクリーン）を含む。
【００９９】
記憶デバイス６０５は、リードオンリーメモリとランダムアクセスメモリを含み、プロセッサ用の命令とデータを提供する。記憶デバイス６０５の一部は、さらに、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を含み得る。
【０１００】
幾つかの実施形態では、記憶デバイス６０５は、実行モジュールまたはデータ構造、実行モジュールまたはデータ構造のサブセット、あるいは実行モジュールまたはデータ構造の拡張セット（ｅｘｔｅｎｓｉｏｎ  ｓｅｔ）などの要素を記憶する。
【０１０１】
オペレーティングシステム６０５１は、フレームワークレイヤ、コアライブラリレイヤ、ドライバレイヤなどの様々なシステムプログラムを含み、様々な基本的サービスをインプリメントし、ハードウェアベースのタスクを処理するように構成されている。
【０１０２】
アプリケーションプログラムモジュール６０５２は、ランチャー（ｌａｕｎｃｈｅｒ）、メディアプレーヤ（Ｍｅｄｉａ  Ｐｌａｙｅｒ）、ブラウザ（Ｂｒｏｗｓｅｒ）など様々なアプリケーションプログラムを含み、様々なアプリケーションサービスをインプリメントするように構成されている。
【０１０３】
本発明のこの実施形態では、記憶デバイス６０５に記憶されたプログラムまたは命令を起動することにより、プロセッサ６０１は、レベル２カーネルを起動し、起動されたレベル２カーネルを用いて、リカバーすべきオペレーティングシステムのイメージファイルをメモリの指定ロケーションに転送し、メモリ中のレベル２カーネル中のリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。レベル２カーネルは、オリジナルカーネルのイメージファイルをテイラーして、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られ、オペレーティングシステムのイメージファイルは、オペレーティングシステムのハイバネーション状態情報を含む。メモリの指定ロケーションにあるオペレーティングシステムのイメージファイルに含まれたオペレーティングシステムのハイバネーション状態情報を用いて、起動されたレベル２カーネルのリカバリープログラムにより、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバリーする。
【０１０４】
特筆すべき点として、レベル２カーネルのイメージファイルは、オリジナルカーネルのイメージファイルに含まれる、オペレーティングシステムのリカバリーとは無関係のコードセグメントをテイラーすることにより得られる。レベル２カーネルは、オペレーティングシステムのリカバリーに欠かせないコードセグメントのみを含み、オペレーティングシステムのリカバリーに関与しないコードセグメントを含んでいてもよい。要するに、レベル２カーネルのイメージファイル中に含まれるコードセグメント数を、オリジナルカーネルのイメージファイルに含まれるコードセグメント数より比較的少なくする限り、本発明におけるオペレーティングシステムのリカバリー速度を速くするという目的は、本発明の保護範囲内に入る。  特筆に値する点として、レベル２カーネルのイメージファイルは、オリジナルカーネルのイメージファイルをテイラーし、テイラーされたオリジナルカーネルのイメージファイルをコンパイルすることにより得られる。レベル２カーネルのイメージファイルは、システムがハイバネーションする時、またはシャットダウンされる時に、生成され、システムの不揮発性メモリに保存されてもよいし、事前にシステムの不揮発性メモリに保存されてもよい。本発明の発明目的をインプリメントするため、システムがハイバネーションモードから復帰（ａｗａｋｅｎｅｄ）する必要がある時、レベル２カーネルはロードされ、実行される。要するに、レベル２カーネルのイメージファイルを生成する方法は、本発明の本実施形態には限定的に規定されていない。
【０１０５】
留意点として、レベル２カーネルは、リカバーすべきオペレーティングシステムのイメージファイルを、メモリの指定ロケーションに転送して、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにする。ここで、オリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入る前に、オペレーティングシステムに含まれるカーネルを指す。レベル２カーネルを用いて、オペレーティングシステムを、それがハイバネーションモードに入る前の状態に、リカバーする。実際、レベル２カーネルのリカバリープログラムを用いて、上記の理科払いー機能をインプリメントする。メモリ中のレベル２カーネルのリカバリープログラムのロケーションがメモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じであることにより、レベル２カーネルのリカバリープログラムが、リカバーされるオペレーティングシステムに含まれるオリジナルカーネルのリカバリープログラムによりスムースに買い換えられ、置換される。すなわち、レベル２カーネルのリカバリープログラムからオリジナルカーネルのリカバリープログラムへのセキュアなテイクオーバー（ｔａｋｅｏｖｅｒ）がなされ、オリジナルカーネルのその他のコードセグメントがレベル２カーネルのリカバリープログラムを書き換えてしまい、システムがクラッシュしてリカバリーできなくなることを回避する。
【０１０６】
本発明の一実施形態として、プロセッサ６０１は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成されている。
【０１０７】
レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、不揮発性メモリから、メモリの指定ロケーションに直接転送してもよい。もちろん、このソリューションをインプリメントする前提条件は、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していることである。
【０１０８】
本発明の他の一実施形態として、プロセッサ６０１は、具体的に、起動されたレベル２カーネルを用いて、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送し、メモリ中のレベル２カーネルのリカバリープログラムのロケーションが、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションと同じになるようにするように構成されている。それに対応して、プロセッサ６０１は、特に、リカバーすべきオペレーティングシステムのイメージファイルを、起動されたレベル２カーネルを用いて、メモリの専用デバイスパーティションから、メモリの指定ロケーションに転送するように構成されている場合、不揮発性メモリ上のオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションに読み込むようにさらに構成されている。
【０１０９】
この実施形態では、レベル２カーネルは、リカバリーすべきオペレーティングシステムのイメージファイルを、メモリの専用デバイスパーティションから読み出す。留意点として、このソリューションを適用する際、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能も有していてもよい。そして、もちろん、レベル２カーネルは、不揮発性メモリ上のファイルをメモリに読み出す機能を有していなくてもよい。具体的に、レベル２カーネルが不揮発性メモリ上のファイルをメモリに読み出す機能を有していない場合、まずブートローダプログラムが不揮発性メモリ上のオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションに読み出す必要があり、次にレベル２カーネルがオペレーティングシステムのイメージファイルをメモリの専用デバイスパーティションからメモリの指定ロケーションに転送する。
【０１１０】
注目に値することに、メモリの専用デバイスパーティションは、特定用途用にデバイスに割り当てられ、カーネルにより管理されていない物理的メモリ中のパーティションを指す。物理的メモリ中の専用デバイスパーティションのアドレスは連続しており、専用デバイスパーティションはＰＭＥＭパーティション等であってもよい。
【０１１１】
さらに、プロセッサ６０１はレベル２カーネルのイメージファイルをロードするようにさらに構成され、レベル２カーネルのイメージファイルをロードするのにかかる時間はオリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。
【０１１２】
さらに、プロセッサ６０１は、レベル２カーネルを、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルと置き換えるように構成されている。
【０１１３】
具体的に、レベル２カーネルのリカバリープログラムは、オペレーティングシステムのイメージファイルに含まれるハイバネーション状態情報を用いて、オペレーティングシステムを、それがハイバネーションモードに入る前のオペレーティングシステムの状態にリカバーする。オペレーティングシステムがリカバーされる時、オペレーティングシステムに含まれるオリジナルカーネルが同時にリカバーされる。メモリ中のオリジナルカーネルに含まれ宇リカバリープログラムのロケーションがそのメモリ中のレベル２カーネルに含まれるリカバリープログラムのロケーションと同じであることに基づいて、オリジナルカーネルはレベル２カーネルを上書きして置き換え、オペレーティングシステムが正しくリカバーされるようにする。
【０１１４】
さらに、プロセッサ６０１は、リカバーされたオペレーティングシステムに含まれるオリジナルカーネルを用いて、オペレーティングシステムがハイバネーションモードに入る時にサスペンドされた外部デバイスをレジュームするように構成されている。
【０１１５】
具体的に、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされると、オペレーティングシステムに含まれるオリジナルカーネルは、オペレーティングシステムがハイバネーションモードに入った時にサスペンドされた外部デバイスをレジュームして、そのオペレーティングシステムが実行される端末デバイスが、オペレーティングシステムがハイバネーションモードに入る前のオペレーティングシステムの状態に完全にリカバーされるようにする。ここで、外部デバイスはシステムハードディスクなどである。
【０１１６】
本発明の本実施形態による端末デバイスを用いて、その端末デバイス上のオペレーティングシステムをリカバーする時、メモリ中のオリジナルカーネルのリカバリープログラムのロケーションはメモリ中のレベル２カーネルのリカバリープログラムのロケーションと同じであるから、レベル２カーネルを用いて、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にスムースにリカバーできることが分かる。まず、本発明の本実施形態による技術的ソリューションにより、レベル２カーネルを起動して、オペレーティングシステムがハイバネーションモードに入る前のそのオペレーティングシステムの状態にリカバーされ、レベル２カーネルがオリジナルカーネルをテイラー及び再コンパイルすることにより得られるので、レベル２カーネルを起動するのにかかる時間は、オリジナルカーネルを起動するのにかかる時間より短く、すなわちレベル２カーネルの起動速度が加速される。本発明の本実施形態の端末デバイスを用いることにより、オペレーティングシステムの通常のリカバリーを保証する状況下において、オペレーティングシステムをリカバーする効率が改善される。
【０１１７】
さらに、レベル２カーネルのイメージファイルはオリジナルカーネルのイメージファイルより小さいので、レベル２カーネルのイメージファイルをロードするのにかかる時間はオリジナルカーネルのイメージファイルをロードするのにかかる時間より短い。それにより、オペレーティングシステムをリカバーするのにかかる時間をさらに短縮でき、オペレーティングシステムをリカバーする効率が向上する。
【０１１８】
上記の複数の実施形態間で相互参照をすることもできる。
【０１１９】
本技術分野の当業者は、本明細書に開示した実施形態で説明した例と組み合わせて、ユニットとアルゴリズムステップは、電子的ハードウェアや、コンピュータソフトウェアと電子的ハードウェアとの組み合わせによりインプリメントできることが分かるだろう。機能がハードウェアで実行されるかソフトウェアで実行されるかは、具体的なアプリケーションと、技術的ソリューションのデザイン制約条件に依存する。本技術分野の当業者は、異なる方法を用いて、具体的な各アプリケーションの説明した機能をインプリメントするかも知れないが、そのインプリメンテーションが本発明の範囲を超えていると考えてはならない。
【０１２０】
当業者には言うまでもなく、便宜上かつ説明を簡明にするために、上記のシステム、装置、及びユニットの詳細な動作プロセスについて、方法の実施形態の対応するプロセスを参照し、詳細はここでは説明しない。
【０１２１】
本発明で提供される実施形態においては、言うまでもなく、開示のシステム、装置、及び方法は他のやり方で実施してもよい。例えば、開示の装置の実施形態は単なる例である。例えば、ユニットの分割は単なる論理的機能の分割であり、実際の実施では他の分割をしてもよい。例えば、複数のユニットやコンポーネントを他のシステムに結合しても集積してもよく、特徴の一部を無視しても実行しなくてもよい。また、表示又は説明した相互結合、直接結合、又は通信接続は、何らかのインタフェースを通じて実施してもよい。装置やユニット間の間接的な結合や通信接続は、電子的、機械的、又はその他の形式で実施できる。
【０１２２】
別々のパーツとして説明したユニットは、物理的に離れていてもいなくてもよく、ユニットとして表示したパーツは物理的なパーツであってもなくてもよく、一箇所にあっても、複数のネットワークユニットに分散していてもよい。一部又は全部のユニットは、実施形態のソリューションの目的を達成するために実際の必要性に応じて選択できる。
【０１２３】
また、本発明の実施形態の機能ユニットは、一処理ユニットに集積されてもよいし、各ユニットが物理的に孤立して存在しても良いし、２以上のユニットが一ユニットに集積されてもよい。
【０１２４】
機能は、ソフトウェアの機能ユニットの形式で実施され、独立の製品として販売され使用される時、コンピュータ読み取り可能記憶媒体中に記憶されてもよい。かかる理解に基づき、本発明の技術的解決策は、又は先行技術に貢献する部分は、又は技術的解決策の一部は、ソフトウェア製品の形式で実施することができる。ソフトウェア製品は、記憶媒体に記憶され、本発明の実施形態で説明した方法のステップの全部又は一部を実行するようにコンピュータデバイス（例えば、パーソナルコンピュータ、サーバ、ネットワークデバイスなど）、またはプロセッサに命令する命令を含む。上記の記憶媒体は、次のものを含む：プログラムコードを記憶できる任意の媒体であって、例えばＵＳＢフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク、又は光ディスクなど。
【０１２５】
上記の説明は、単に本発明具体的なインプリメンテーション方法であり、本発明の保護範囲の限定を意図したものではない。本発明で開示した技術的範囲内における当業者により容易に想到される変形や置換は、本発明の保護範囲に入るものである。よって、本発明の保護範囲は特許請求の範囲に基づく。
【図１】
0005951145.tif 000002
【図２ａ】
0005951145.tif 000003
【図２ｂ】
0005951145.tif 000004
【図３ａ】
0005951145.tif 000005
【図３ｂ】
0005951145.tif 000006
【図３ｃ】
0005951145.tif 000007
【図４】
0005951145.tif 000008
【図５】
0005951145.tif 000009
【図６】
0005951145.tif 000010