(57)【要約】【課題】ハイバーネーション動作時における状態情報の退避並びに復元処理の所要時間を短縮化する。【解決手段】主記憶装置上に不揮発性記憶部を配置し、処理継続に必要な情報を不揮発性記憶部に退避して電源を遮断し、電源投入時には不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する。また、処理の再開に必要な情報を識別して優先度を付与し、優先度の高い情報から順に不揮発性記憶部に格納し、不揮発性記憶部に格納できなかったを２次記憶装置に退避するようにして、サスペンド並びにレジューム処理を効率的に行なう。【選択図】  図１
2004362426.tif 000002
【特許請求の範囲】
【請求項１】
処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置であって、
情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部を備えた主記憶装置と、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避手段と、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
不揮発性の２次記憶装置をさらに備え、
前記情報退避手段は、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記２次記憶装置に退避する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理再開手段は、再開した処理を実行中、退避された情報を必要に応じて前記主記憶装置上の適宜元の場所に復元する、
ことを特徴とする請求項１又は２のいずれかに記載の情報処理装置。
【請求項４】
処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付け手段をさらに備え、
前記情報退避手段は、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記２次記憶装置に退避する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記優先度付け手段は、最近アクセスされた情報の順に優先度を与える、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記優先度付け手段は、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与える、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換する手段をさらに備える、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項８】
前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記処理再開手段は、前記２次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項１１】
前記処理再開手段は、再開した処理の続行に必要な情報が発生したことに応答して、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
再開した処理の続行に必要な情報が複数発生した場合に各々に優先度を与える、
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記主記憶装置及び前記２次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されており、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なう、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項１４】
前記情報退避手段はＬＲＵアルゴリズムに基づいて前記揮発性記憶部上の情報の退避処理を行ない、
前記処理再開手段により再開された処理を実行中にページ・ミスした情報が適宜前記２次記憶装置から元の場所にページ・インされる、
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える手段をさらに備える、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項１６】
ユーザが一部の情報単位に対して優先度を与える第１の手段と、
ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第２の手段と、
前記第１及び第２の手段を用いてすべての情報単位に対して一意な優先度を与える第３の手段と、
をさらに備えることを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える第１の手段と、
各々の情報単位の属する主記憶装置上の領域に対して一意な優先度を与える第２の手段と、
前記の各手段を用いて主記憶装置上の全領域に対して一意な優先度を与える第３の手段と、
をさらに備えることを特徴とする請求項４に記載の情報処理装置。
【請求項１８】
前記第１の手段は、ユーザが一部の情報単位に対して一意な優先度を与える手段と、ユーザが優先度を与えなかった情報単位に対して自動的に一意な優先度を与える手段を備える、
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置の制御方法であって、
前記情報処理装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部からなる主記憶装置を備えており、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とする情報処理装置の制御方法。
【請求項２０】
前記情報処理装置は不揮発性の２次記憶装置をさらに備え、
前記情報退避ステップでは、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記２次記憶装置に退避する、
ことを特徴とする請求項１９に記載の情報処理装置の制御方法。
【請求項２１】
前記処理再開ステップでは、再開した処理を実行中、退避された情報を必要に応じて前記主記憶装置上の適宜元の場所に復元する、
ことを特徴とする請求項１９又は２０のいずれかに記載の情報処理装置の制御方法。
【請求項２２】
処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付けステップをさらに備え、
前記情報退避ステップでは、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記２次記憶装置に退避する、
ことを特徴とする請求項２０に記載の情報処理装置の制御方法。
【請求項２３】
前記優先度付けステップでは、最近アクセスされた情報の順に優先度を与える、
ことを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項２４】
前記優先度付けステップでは、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与える、
ことを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項２５】
前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換するステップをさらに備える、
ことを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項２６】
前記優先度付けステップでは、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項２５に記載の情報処理装置の制御方法。
【請求項２７】
前記優先度付けステップでは、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与える、
ことを特徴とする請求項２５に記載の情報処理装置の制御方法。
【請求項２８】
前記処理再開ステップでは、前記２次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項２９】
前記処理再開ステップでは、再開した処理の続行に必要な情報が発生したことに応答して、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元する、
ことを特徴とする請求項２８に記載の情報処理装置の制御方法。
【請求項３０】
再開した処理の続行に必要な情報が複数発生した場合に各々に優先度を与える、
ことを特徴とする請求項２９に記載の情報処理装置の制御方法。
【請求項３１】
前記主記憶装置及び前記２次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されており、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なう、
ことを特徴とする請求項２０に記載の情報処理装置の制御方法。
【請求項３２】
前記情報退避ステップではＬＲＵアルゴリズムに基づいて前記揮発性記憶部上の情報の退避処理を行ない、
前記処理再開ステップにより再開された処理を実行中にページ・ミスした情報が適宜前記２次記憶装置から元の場所にページ・インされる、
ことを特徴とする請求項３１に記載の情報処理装置の制御方法。
【請求項３３】
ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与えるステップをさらに備える、
ことを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項３４】
ユーザが一部の情報単位に対して優先度を与える第１のステップと、
ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第２のステップと、
前記第１及び第２のステップによりすべての情報単位に対して一意な優先度を与える第３のステップと、
をさらに備えることを特徴とする請求項３３に記載の情報処理装置の制御方法。
【請求項３５】
ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える第１のステップと、
各々の情報単位の属する主記憶装置上の領域に対して一意な優先度を与える第２のステップと、
前記の各ステップを用いて主記憶装置上の全領域に対して一意な優先度を与える第３のステップと、
をさらに備えることを特徴とする請求項２２に記載の情報処理装置の制御方法。
【請求項３６】
前記第１のステップは、ユーザが一部の情報単位に対して一意な優先度を与えるステップと、ユーザが優先度を与えなかった情報単位に対して自動的に一意な優先度を与えるステップを備える、
ことを特徴とする請求項３５に記載の情報処理装置の制御方法。
【請求項３７】
処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
主記憶装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部で構成され、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
パーソナル・コンピュータや携帯端末を始めとする情報処理システム及びその制御方法、並びにコンピュータ・プログラムに係り、特に、システムの使用状況が低下したときなどに内部の各電気回路に対する電力供給を適宜低下若しくは停止させる節電動作機能を備えた情報処理システム及びその制御方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、電源遮断時にシステムの状態情報を不揮発性の２次記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた情報処理システム及びその制御方法、並びにコンピュータ・プログラムに係り、特に、ハイバーネーション動作時における状態情報の退避並びに復元処理の所要時間を短縮化する情報処理システム及びその制御方法、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
昨今の技術革新に伴い、デスクトップ型、ノートブック型など各種パーソナル・コンピュータ（以下、「ＰＣ」又は「システム」ともいう）が開発され市販されている。このうち、ノートブック型のＰＣは、屋外での携帯的・可搬的な使用を考量して小型且つ軽量に設計・製作されたものである。
【０００４】
ノートブック型ＰＣの１つの特徴は、内蔵したバッテリでも駆動できる「バッテリ駆動型」である点である。これは、商用電源が届かない場所でも使用できるようにしたためである。ノートブックＰＣが内蔵するバッテリは、一般には、Ｌｉ−Ｉｏｎなどの充電式のバッテリ・セルを複数本接続してパッケージ化した「バッテリ・パック」の形態を採っている。バッテリ・パックは充電により再利用可能ではあるが、１回当りの充電容量はシステムのオペレーション時間にして精々２〜３時間程度に過ぎない。バッテリ・ライフを少しでも長時間化するべく、節電のためのさまざまな工夫が凝らされている。
【０００５】
また、最近では、商用電源によって無尽蔵に給電可能なデスクトップ型ＰＣに対しても、エコロジー的な観点から、省電力の要求が高まってきている。米環境保護庁（ＥＰＡ）は、１９９３年６月に”Ｅｎｅｒｇｙ  Ｓｔａｒ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ”と呼ばれる自主規制を発表し、動作待ち状態での消費電力が一定基準以下（駆動電力が３０Ｗ以下、又はＣＰＵ稼働時の３０％以下）になることを要求している。
【０００６】
ＰＣの節電は、オペレーション時の装置全体の消費電力を低減させる以外に、システムの使用状況が低下したことに応答してシステムの一部又は全体への電力供給を適宜低下若しくは遮断することによっても実現される。但し、電源を遮断することによりタスクが中断されることから、電源再投入時に中断した時点からタスクを再開できるように、電源を遮断する前にシステムの状態情報を退避し、電源再投入時に退避した状態情報を復元する必要がある。システムの状態情報を退避してタスクを中断する動作のことを「サスペンド」と呼び、状態情報を復元してタスクを再開する動作のことを「レジューム」と呼ぶ。
【０００７】
サスペンド・レジューム機能を実現するために、２通りの方法が挙げられる。１つは、計算機装置の電源切断前後で揮発性の主記憶装置などに電源を供給し続けてシステムの状態情報を保持する方式である。また、もう１つは、主記憶装置などに展開されているシステムの状態情報を電源切断時に不揮発性の２次記憶装置に退避し、電源投入時に退避した状態情報を主記憶装置などに復元する方式である。後者は、特に、「ハイバーネーション機能」と呼ばれている。
【０００８】
前者の方式では、バッテリ・バックアップされた揮発性の主記憶装置などにシステムの状態情報を保存する。このため、計算機装置の退避・復帰の処理が非常に高速であるが、計算機装置の停止中も主記憶装置による記憶保持動作のために電力を消費するため、節電の効果は低い。一方、後者のハイバーネーション機能の場合、タスク再開に必要なシステムの状態情報を不揮発性の２次記憶装置で保存するため、計算機装置内のほとんどすべてのコンポーネントの電源遮断することができ、節電の効果が高い。しかしながら、２次記憶装置としてのハード・ディスク・ドライブ（あるいはフラッシュ・メモリ）は、一般に主記憶装置よりもアクセス速度が低い。ハイバーネーション機能は、主記憶装置上のメモリ・イメージを２次記憶装置に格納したり展開したりする処理動作を含むので、多くの時間を要するという欠点がある。
【０００９】
このようなハイバーネーション機能における退避・復帰処理の所要時間の問題に対しては、これまでもさまざまな改善が試みられてきた。例えば、主記憶装置の使用中の領域のみを退避・復帰する方法（例えば、特許文献１を参照のこと）や、高速な不揮発性記憶装置と低速な不揮発性記憶装置（いずれも非主記憶装置）に揮発性の主記憶装置の内容を転送し退避・復帰処理の高速化を図る方法（例えば、特許文献２を参照のこと）などがその例である。しかしながら、いずれの場合も、主記憶装置とこれよりも低速な２次記憶装置とのデータ転送が一通り完了するまで退避・復帰処理を待つ必要があり、これがハイバーネーション機能の退避・復帰処理における律速過程となっている。
【００１０】
【特許文献１】
特開平９−３１９６６７号公報
【特許文献２】
特開２００１−１２５６５９公報
【００１１】
【発明が解決しようとする課題】
本発明の目的は、電源遮断時にシステムの状態情報を不揮発性の記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することにある。
【００１２】
本発明のさらなる目的は、ハイバーネーション動作時における状態情報の退避並びに復元処理の所要時間を短縮化することができる、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することにある。
【００１３】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するタイプの情報処理装置であって、
情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部を備えた主記憶装置と、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避手段と、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開手段と、
を具備することを特徴とする情報処理装置である。
【００１４】
ノートブックＰＣや携帯端末を始めとする情報処理装置においては、システムの状態情報を退避してタスクを中断するサスペンド動作、並びに状態情報を復元してタスクを再開するレジューム動作からなるハイバーネーション機能は、低消費電力化を実現する上で必須の技術である。ところが、ハイバーネーション機能は、主記憶装置上のメモリ・イメージを２次記憶装置に格納したり展開したりする処理動作を含むので、多くの時間を要するという欠点がある。
【００１５】
これに対し、本発明によれば、主記憶装置上に情報を不揮発的に保持することができる不揮発性記憶部を配置して、この不揮発性記憶部を利用して情報の退避処理を行なうようにしたので、サスペンド・レジューム機能の退避・復帰処理に要する時間を大幅に短縮することができる。特に、ノートＰＣなどの携帯端末におけるユーザの操作性（退避・復帰処理の待ち時間）を格段に改善することができる。
【００１６】
また、本発明によれば、サスペンド・レジューム機能の退避・復帰処理に要する消費電力を削減し、特にノートＰＣなどの携帯端末におけるバッテリの持ちを改善することができる。
【００１７】
ここで、情報処理装置は、ハード・ディスク装置などの不揮発性の２次記憶装置をさらに備えていてもよい。このような場合、前記情報退避手段は、所定の優先度に従って前記揮発性記憶部上の情報を前記不揮発性記憶部に退避するとともに、該情報退避動作において前記不揮発性記憶部から溢れた情報を前記２次記憶装置に退避することができる。
【００１８】
また、前記処理再開手段は、再開した処理を実行中、２次記憶装置上に退避された情報を必要に応じて適宜主記憶装置上の元の場所に復元するようにすればよい。
【００１９】
電源の遮断及び投入の間に、揮発性記憶部内の情報を退避し復元するために、処理の再開に必要な情報を識別し、該識別した情報に対して優先度を付与する優先度付け手段をさらに備えていてもよい。このような場合、前記情報退避手段は、優先度の高い情報から順に前記不揮発性記憶部に格納するとともに、前記不揮発性記憶部に格納できなかった前記主記憶装置上の情報を前記２次記憶装置に退避するようにして、サスペンド並びにレジューム処理を効率的に行なうことができる。
【００２０】
例えば、前記優先度付け手段は、最近アクセスされた情報の順に優先度を与えることができる。最近アクセスされた情報の順は、例えば、仮想メモリ・システムにおいて、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズムに基づいて管理されている。
【００２１】
あるいは、前記優先度付け手段は、最近のアイドル時間の小さい処理に関連する情報の順に優先度を与えることができる。アイドル時間は、例えばオペレーティング・システムのプロセス管理機構において保持されている。
【００２２】
また、前記主記憶装置上の情報領域に対する優先度をユーザにとって有意な情報単位に対する優先度に変換する手段をさらに備えていてもよい。
【００２３】
また、前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高い領域に着目し、該領域の優先度の大小に基づいて情報領域の優先度を与えるようにしてもよい。
【００２４】
あるいは、前記優先度付け手段は、情報単位が保有する前記主記憶装置上の領域の中で優先度が最も高いものから順に一定個に着目し、該領域内での優先度の平均値の大小に基づいて情報領域の優先度を与えるようにしてもよい。
【００２５】
また、前記処理再開手段は、前記２次記憶装置に退避された情報を優先度に従って前記主記憶装置上の元の場所に復元するようにしてもよい。
【００２６】
ここで、再開した処理の続行に必要な情報が発生した場合には、優先度に従った情報の復元を中断して、該必要な情報を前記主記憶装置上の元の場所に復元するようにしてもよい。
【００２７】
レジューム処理中に、主記憶装置に未だ復帰していないプログラムやデータが必要になったとする。例えば、主記憶装置に復帰していないプログラムをレジューム処理中にユーザが実行したいとする。この場合、現在復帰中の情報の転送を中断し、ユーザが現在必要とする情報を優先して主記憶装置に転送して、その転送処理が完了した後に中断した転送処理を再開する、という方法を行なえば、ユーザの操作性をさらに向上させることができる。
【００２８】
そして、再開した処理の続行に必要な情報が複数発生した場合には、各々に優先度を与えるようにしてもよい。例えば、時間軸上で前に必要とされた情報から順に高い優先度を与えるようにする。
【００２９】
また、前記主記憶装置及び前記２次記憶装置上の記憶空間は仮想記憶機構に基づいて管理されている場合には、電源の遮断及び投入に伴う情報の退避及び復元を所定のページ単位で行なうようにしてもよい。
【００３０】
既に周知のように、仮想メモリ・システムによれば、ハード・ディスクなどの外部記憶装置に対して論理的なアドレス（仮想アドレス）を割り振り、これらが見かけ上は物理メモリ空間の一部であるかのように扱うことで、少ない物理メモリ容量で論理的には大きなアドレス空間を実現することができる。仮想メモリ方式を採用する情報処理装置においても、本発明に係るハイバーネーション機能を実現することができる。この場合、サスペンド及びレジューム処理におけるシステムの状態情報の退避や復元を、仮想アドレス空間におけるページング動作と並行して実現することができる。
【００３１】
また、ユーザにとって有意な情報単位に対してユーザ自身が一意な優先度を与える手段をさらに備えていてもよい。例えば、ユーザが一部の情報単位に対して優先度を与える第１の手段と、ユーザが優先度を与えなかった情報単位に対して自動的に優先度を与える第２の手段と、前記第１及び第２の手段を用いてすべての情報単位に対して一意な優先度を与える第３の手段とを用いて、情報単位毎に一意な優先度を与えることができる。
【００３２】
また、本発明の第２の側面は、処理継続に必要な情報を不揮発的に保持してから電源遮断するとともに電源投入時に該不揮発的に保持された情報を利用して処理を再開するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
主記憶装置は、情報を揮発的に保持する揮発性記憶部と情報を不揮発的に保持する不揮発性記憶部で構成され、
電源遮断時において実行中の処理継続に必要な前記揮発性記憶部上の情報を前記不揮発性記憶部に退避する情報退避ステップと、
電源投入時において前記不揮発性記憶部に保持されている情報を利用して電源遮断により中断された処理を再開する処理再開ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３３】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係る情報処理装置と同様の作用効果を得ることができる。
【００３４】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３５】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３６】
サスペンド・レジューム機能の退避・復帰処理の高速化に対するためのアプローチとして、主記憶装置自体を不揮発性記憶素子で構成する方法が考えられる。すなわち、主記憶装置自体を不揮発性にすることで、サスペンド・レジューム時の処理（例えば、ハード・ディスクなどの２次記憶装置への退避など）が大幅に省略できるため、明らかに高速化が期待できる。しかしながら、コスト的な観点からすると、主記憶装置をすべて不揮発性にするよりも、安価な揮発性記憶装置とそれよりも高価な不揮発性記憶装置を混在して主記憶空間を構成することが望ましい場面が想定される。
【００３７】
このような揮発性及び不揮発性の記憶部が混在した主記憶空間を持つ計算機装置では、主記憶装置のうち揮発性記憶部に格納されている内容は電源切断時に失われてしまう。このため、ハイバーネーション機能をサポートするには、主記憶装置の揮発性記憶部上の情報を主記憶装置内の不揮発性記憶部あるいは２次記憶装置に退避する必要が生じる。それ故に、ハイバーネーション機能の高速化のためには、主記憶装置の不揮発性記憶部を情報の退避先として有効活用することが鍵となってくる。
【００３８】
なお、主記憶装置が揮発性記憶部と不揮発性記憶部から構成される計算機装置に関しては特許第３２７５３９８号公報などで考案されているが、このような計算機装置におけるハイバーネーション機能の詳細に関してはこれまで考案されていない。
【００３９】
図１には、本発明の一実施形態に係る計算機装置のハードウェア構成を模式的に示している。図示の計算機装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、主記憶装置１０２と、２次記憶装置１０５と、入出力装置１０６を備えている。
【００４０】
メイン・コントローラであるＣＰＵ１０１は、オペレーティング・システム（ＯＳ）の制御下で、各種プログラムを実行するようになっている。ＣＰＵ１０１は、データ信号線、アドレス信号線、コントロール信号線などからなる共通信号伝送路であるバス１１０を介して各部と連絡している。
【００４１】
主記憶装置１０２は、主記憶空間を構成し、ＣＰＵ１０１が実行する各プログラム（ＯＳやアプリケーション・プログラムなど）をロードしたり、ＣＰＵ１０１が作業領域として用いたりするために使用される。
【００４２】
本実施形態に係る計算機装置は、主記憶装置１０２の構成の点で特徴がある。既存の計算機装置（図２を参照のこと）では主記憶装置はＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などの揮発性記憶部のみからなるが、本発明の計算機装置では主記憶装置１０２は、揮発性記憶部１０３と不揮発性記憶部１０４から構成される。主記憶装置１０２の揮発性記憶部１０３は、ＤＲＡＭなどの高速な揮発性記憶装置を用いて構成され、記憶内容を保持するためにはバッテリ・バックアップすなわち電源の継続的な供給が必要である。一方、不揮発性記憶部１０４は、記憶内容の保持のためにバッテリ・バックアップが不要な構成である。例えば、ＭＲＡＭやＦｅＲＡＭなどのメモリ・チップを利用して不揮発性記憶部１０４を構成することができ、速度的にもアクセス寿命的にもＣＰＵ１０１の主記憶空間として十分な性能を有している。
【００４３】
２次記憶装置１０５は、ハード・ディスク・ドライブ（ＨＤＤ）やフラッシュ・メモリなどの不揮発性の記憶装置で構成される。２次記憶装置１０５は、主記憶装置１０２に比べてアクセス速度は低速であるが、大容量であり、主記憶空間を補助するために装備されている。また、２次記憶装置１０５は、コスト的に安価である低速なＭＲＡＭやＦｅＲＡＭなどを用いることもできる。
【００４４】
ここで、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）は、トンネル磁気抵抗効果を利用したＴＭＲ（Ｔｕｎｎｅｌｉｎｇ  ＭａｇｎｅｔｏＲｅｓｉｓｔａｎｃｅ）素子で構成され、電子の電荷ではなく電子のスピンで情報を保持することができる。ＭＲＡＭは、書き換え／読み出しなどのアクセス速度、集積度、消費電力、ビット単価などの点で主記憶装置としての条件をほぼ満足する他、不揮発性であるという特徴を持つ。また、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）は、強誘電体薄膜材料を記憶素子として用いた不揮発性メモリであり（強誘電体は電界を印加しない自然の状態で誘電分極している）、ＭＲＡＭ同様に主記憶装置としての条件をほぼ満足する。
【００４５】
また、ＨＤＤは、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり（周知）、記憶容量やデータ転送速度などの点でＣＤ／ＤＶＤなど他のディスク型記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でＨＤＤ上に置くことを、プログラムのシステムへの「インストール」と呼ぶ。通常、ＨＤＤには、ＣＰＵ１０１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。
【００４６】
入出力装置１０６には、キーボードやマウスなどのユーザ入力装置、ディスプレイやプリンタなどの出力装置、ネットワーク装置やその他の外部機器との接続インターフェースなどを含む。ディスプレイ上の描画データは、一旦ビデオＲＡＭ（ＶＲＡＭ）（図示しない）に一旦書き込まれた後、表示出力される。
【００４７】
バス１１０上の各デバイスには、Ｉ／Ｏ空間上の固有のアドレス（Ｉ／Ｏアドレス）が割り振られており、Ｉ／Ｏアドレスの指定によって各デバイスへのアクセスが実現される。また、各デバイスのバス・インターフェースはＩ／Ｏレジスタ（図示しない）を備えており、デバイスへの書き込みデータやコマンド、デバイスからの読み出しデータ、デバイス状態などは一旦Ｉ／Ｏレジスタに書き込まれた後、バス転送が行なわれる。
【００４８】
なお、計算機装置を構成するためには、図１に示した以外にも多くの回路コンポーネントが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も一部しか図示していない点を了承されたい。
【００４９】
図３には、図１に示した計算機装置におけるサスペンド・レジューム処理の概略的な動作をフローチャートの形式で示している。
【００５０】
まず、ユーザが計算機装置の電源スイッチをオフにすることにより（ステップＳ１）、サスペンド処理が起動される（ステップＳ２）。本実施形態では、電源スイッチをオフにする操作でサスペンド動作が起動しているが、オペレーティング・システムのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面上を介してユーザが「サスペンド処理」を選択する、ユーザ入力が所定時間以上途絶える、あるいはローバッテリ状態になることによってサスペンド処理を起動するなど、他のシステム・イベントを利用してサスペンドを起動するようにしてもよい。
【００５１】
ステップＳ２において、計算機装置の状態を不揮発性記憶装置に保存した後、計算機装置はハイバーネーション状態に遷移し、バッテリなどの主電源を切断する。
【００５２】
このハイバーネーション期間中、電源スイッチが再び押されるかどうか（あるいは、ハイバーネーション状態からのレジュームを要求する他のイベントが発生したかどうか）を判定する（ステップＳ３）。レジューム処理の起動に関しては、キーボードへのキー入力やマウスの動作によって起動するなど、他のシステム・イベントを利用することができる。
【００５３】
そして、電源スイッチが押されなかった場合は電源停止状態を続ける。すなわち、電源スイッチが押されるまで計算機装置は電源停止状態を続け、電源スイッチが押された時点で、レジューム処理を起動する（ステップＳ４）。レジューム処理により、計算機装置は、電源スイッチを押す前の状態に復帰する。
【００５４】
ステップＳ４において、計算機装置の状態を復帰し、中断前（サスペンド処理の直前）の処理を再開し、サスペンド・レジュームに関する一連の処理を終了する。
【００５５】
次に、本発明に係るサスペンド処理並びにレジューム処理の詳細について説明する。
【００５６】
本発明に係るハイバーネーション動作の実施形態として、仮想メモリ方式を採用する場合のみに適用可能な形態と、仮想メモリ方式を採用しない場合でも適用可能な形態とに大別することができる。
【００５７】
仮想メモリ・システムは、ハード・ディスクなどの外部記憶装置に対して論理的なアドレス（仮想アドレス）を割り振り、これらが見かけ上は物理メモリ空間の一部であるかのように扱うことで、少ない物理メモリ容量で論理的には大きなアドレス空間を実現することができる。
【００５８】
仮想メモリ・システムでは、一般に、「ページ」と呼ばれる単位で細かく分割して仮想アドレス空間が管理されている。そして、プログラムの実行やデータへのアクセスの際に、ハード・ディスクへのページの退避（ページ・アウト）やハード・ディスクからメモリへの復元（ページ・イン）などが行なわれる。論理アドレスと物理アドレスの関係をページ単位で掌握するために、各アドレス空間の対応表であるページ・テーブルを用意する。また、一部のページ・テーブル・エントリは、ＣＰＵ１１内のメモリ管理ユニット（ＭＭＵ）（図示しない）にＴＬＢ（Ｔａｂｌｅ  Ｌｏｏｋｕｐ  Ｂｌｏｃｋ）として保持される。
【００５９】
仮想メモリ・システムが適用される計算機装置上では、サスペンド及びレジューム処理におけるシステムの状態情報の退避や復元を、仮想アドレス空間におけるページング動作と並行して実現することができる。まず、仮想メモリ・システムを適用した本発明の第１の実施形態について説明する。
【００６０】
図４には、計算機装置が仮想メモリ・システムを適用した場合におけるサスペンド処理の動作手順をフローチャートの形式で示している。また、図５には、この場合のサスペンド処理の直前における計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示している。
【００６１】
図５に示すように、通常の動作状態では、複数のアプリケーション・プログラムＡＰ１、ＡＰ２、ＡＰ３やデータＤ１、Ｄ２が主記憶装置１０２上に配置（展開）され、ＣＰＵ１０１によって実行されている。なお、図５では、主記憶装置１０２上のオペレーティング・システム並びに２次記憶装置１０５内のプログラムやデータのイメージは省略されている。
【００６２】
図５に示す記憶空間の状態から計算機装置をサスペンド状態に至らしめるためには、レジュームにより同じ時点からタスクを再開させるために必要なプログラムやデータを適宜不揮発性の記憶装置に退避する必要がある。ここで言う不揮発性の記憶装置は、主記憶装置１０２内の不揮発性記憶部１０４と２次記憶装置１０５に相当する。このようなサスペンド処理の手順について、図４に示したフローチャートを参照しながら説明する。
【００６３】
サスペンド処理が起動されると、計算機装置に接続しているデバイスなどの状態（以下では、「システム状態情報（ＳＴ）」と呼ぶ）を主記憶装置１０２上に退避する（ステップＳ１１）。
【００６４】
ここでいうシステム状態情報とは、バス１１０上の各デバイスにおけるＩ／Ｏレジスタの内容や、ＶＲＡＭ上のメモリ・イメージなどである。これらはタスクを継続するために必要なデータであり、言い換えれば、ハイバーネーション期間中も保持しておくべき退避データとなる。
【００６５】
次いで、主記憶装置１０３上の各ページに一意な優先度を与える（ステップＳ１２）。ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度、言い換えれば、サスペンド処理による電源遮断時において不揮発性記憶部１０４に配置すべき優先度を意味する。
【００６６】
本実施形態では、優先度割り振りの一例として、仮想メモリ・システムにおいてページング管理に利用されるＬＲＵ（Ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム（後述）での優先度をそのまま与えるものとする。但し、上記のシステム状態情報は、通常の仮想メモリ・システムの管理下には置かれないが、タスクを継続するために必須のデータであることから、最も高い優先度を与える（あるいはステップＳ１１において不揮発性記憶部１０４に直接退避する）ようにする。他の優先度の与え方もあるが、これらの方法の詳細については後述に譲る。
【００６７】
ステップＳ１３からステップＳ２０では、ステップＳ１２で定めた優先度に基づいて、ページの退避処理を行なう。すなわち、優先度の高いページから順に、主記憶装置の不揮発性記憶部１０４に優先的に退避していく。
【００６８】
ステップＳ１３において、未退避のページの中で最も優先度が高いものが揮発性記憶部１０３に存在するかどうかを判定する。未退避のページの中で最も優先度が高いものが揮発性記憶部１０３に存在する場合は次ステップＳ１４に進む。一方、退避対象となっているページが既に不揮発性記憶部１０４に存在する場合には、退避済みであることを記録するだけでよいので、ステップＳ１７に進む。なお、ページが退避済みであるかどうかは、例えば各ページが退避領域として使われているかどうかを判定するビットマップを不揮発性記憶部１０４に配設し、ページ退避時に該当するビット位置に記録することで実現できる。
【００６９】
ステップＳ１４では、不揮発性記憶部１０４に存在するページの中で最も優先度が低いものを２次記憶装置１０５にスワップ・アウトし、このスワップ・アウト処理で空いた不揮発性記憶部１０４のページ領域に、未退避のページの中で最も優先度が高いものを退避する。なお、主記憶装置１０２上の情報が不揮発性記憶部１０４にすべて退避できる場合には、２次記憶装置１０５にスワップ・アウトせずに、不揮発性記憶部１０４内で元々空いている領域に退避することも可能である。
【００７０】
ステップＳ１５では、前ステップＳ１４で不揮発性記憶部１０４に退避したページについて、ページ・テーブルの書き換え処理を行なう。
【００７１】
仮想メモリ・システムをサポートした計算機装置では、プログラム実行中にメモリ空間上のプログラム又はデータにアクセスする際、通常、仮想アドレスを用いてページ・テーブルを検索することにより物理アドレスを得る（前述）。前ステップＳ１４におけるページの退避動作によって、仮想アドレスに対応する物理アドレスが揮発性記憶部１０３から不揮発性記憶部１０４に変更されるため、ページ・テーブルにおいて、この整合性を取らなくてはならない。これは、該当するページ・テーブル・エントリを書き換えることで行なわれる。
【００７２】
さらにステップＳ１６では、前ステップＳ１５で書き換えたページ・テーブル・エントリに対応するＴＬＢエントリを無効化する。
【００７３】
ＴＬＢは、ページ・テーブルのキャッシュに相当するものであり、こちらも仮想アドレスと物理アドレスのマッピングの整合性が取られていなくてはならない。ステップＳ１６での処理は、主記憶装置１０２上のプログラム又はデータで電源切断までにアクセスされる可能性があるものがある場合の対策となっている。電源切断までにアクセスしないことが保証されているページに関しては、ステップＳ１６におけるＴＬＢエントリの無効化処理を省略することも可能である（ＴＬＢ自体は電源切断でフラッシュ（消去）される）。
【００７４】
ステップＳ１７では、ページの退避が完了したことを記録する。この記録は、ステップＳ１３の場合と同様、不揮発性記憶部１０４のページ集合を表すビットマップなどを用い、退避が完了したビット位置に記録するようにすればよい（不揮発性記憶部１０４に格納されているシステム情報の一部として用意する）
【００７５】
ステップＳ１８では、すべての未退避のページが退避されたことを判定する。すなわち、揮発性記憶部１０３内のすべてのページが不揮発性記憶部１０４（あるいは２次記憶装置１０５）に退避されているかどうかを判定する。すべてのページの退避が完了している場合はステップＳ２１に進み、サスペンド処理を終了する。他方、未退避のページが存在する場合は、次ステップＳ１９に進む。
【００７６】
ステップＳ１９では、不揮発性記憶部１０４に空きがある場合はステップＳ１３に戻り、揮発性記憶部１０３から不揮発性記憶部１０４へのページの退避処理を続ける。一方、不揮発性記憶部１０４にもはや空きがない場合は、２次記憶装置１０５への退避処理を行なうために、次ステップＳ２０へ進む。
【００７７】
ステップＳ２０では、揮発性記憶部１０３に残されている未退避（すなわち優先度の低い）のページを、不揮発性記憶部１０４ではなく２次記憶装置１０５にスワップ・アウトする。以上の処理によって、主記憶装置１０２上のページの退避処理は完了し、タスク再開に必要なデータが確保される。
【００７８】
ステップＳ２０で、不揮発性記憶部１０４に退避できなかったページを２次記憶装置１０５にスワップ・アウトする。すべての未退避のページについてのスワップ・アウトが完了した後、次ステップＳ２１に進んで、計算機装置の電源を切断し、サスペンド処理を終了する。
【００７９】
図６には、上記のサスペンド処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示している。図示の状態のまま、計算機装置はユーザが復帰操作（例えば、計算機装置の電源スイッチを押すなど）を行なうまで停止する。
【００８０】
図６に示す例では、揮発性記憶部１０３に配置されていたプログラムＡＰ１とデータＤ１、並びにシステム状態ＳＴは、不揮発性記憶部１０４に退避されている。また、優先度の低いプログラムＡＰ２やデータＤ２は、より優先度の高いプログラムやデータで不揮発性記憶部１０４の退避領域が満杯となってしまったことから、２次記憶装置１０５に退避されている。また、元々は不揮発性記憶部１０４に配置されていたプログラムＡＰ３やデータＤ２は、優先度の高いプログラムやデータのための退避領域を設けるために、２次記憶装置１０５に退避されている。
【００８１】
ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度を意味する。プログラム及びデータの退避先を図６に示したように配置することにより、レジューム処理が起動されると、不揮発性記憶部１０４に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理がそのまま再開される。
【００８２】
サスペンド状態にある計算機装置は、ユーザのスイッチ押下操作などにより、レジューム処理を開始する。図７には、計算機装置が仮想メモリ・システムを適用した場合におけるレジューム処理の動作手順をフローチャートの形式で示している。
【００８３】
まず、レジューム処理が起動されると、主記憶装置１０２の不揮発性記憶部１０４に退避されている情報を用いて、デバイスの復帰処理などを行なう（ステップＳ３１）。
【００８４】
デバイスの復帰処理は、不揮発性記憶部１０４内のシステム状態情報として保存されている各デバイスのＩ／Ｏレジスタ値やＶＲＡＭのメモリ・イメージをそれぞれ元の場所に書き戻すことにより行なわれる。
【００８５】
次いで、不揮発性記憶部１０４上の情報を用いて、サスペンド処理により中断したタスクの再開を行なうことによって、レジューム処理を終了する（ステップＳ３２）。
【００８６】
サスペンド処理において２次記憶装置１０５にスワップ・アウトされたページは、レジューム処理後で必要となった時点で適宜主記憶装置１０３上に配置される。但し、２次記憶装置１０５にスワップ・アウトされたページ群は、サスペンド処理の直前において最近のアクセスがなかった情報である。このため、例えば、不揮発性記憶部７０４の容量に比べて、巨大なアプリケーション・ソフトやデータ・ファイルを用いているような場合でない限り、レジューム処理直後に多数のスワップ・イン処理が生じる可能性は少ないと言える。
【００８７】
図６に示した状態から一連のレジューム処理が完了した時点での記憶内容の配置状態を図８に示している。これは図６とほぼ同一であるが、不揮発性記憶部１０４上のデバイスの状態情報が復帰されているなど、システム内部的な状態は異なっている。
【００８８】
既存の計算機装置ではサスペンド時に主記憶装置１０２上の情報をすべて２次記憶装置のみに保存する。これに対し、本実施形態では、保存すべき情報をステップＳ１２で定めた優先度に基づいて不揮発性記憶部１０４に保存していき、不揮発性記憶部１０３に保存しきれなかった情報を２次記憶装置１０５に保存する、という点が異なる。
【００８９】
ここで、図９にはサスペンド処理前とサスペンド処理後、並びにレジューム処理後のページ移動の様子を示している。サスペンド処理前に主記憶装置１０２の揮発性記憶部１０３にあったページは、優先度に応じて、主記憶装置１０２の不揮発性記憶部１０３又は２次記憶装置１０５に移動する。また、主記憶装置の不揮発性記憶部１０３に配置されていたページは、優先度に応じて、主記憶装置１０２の不揮発性記憶部１０３に留まるか、又は２次記憶装置１０５に移動する。このように、サスペンド処理時において、より低速な２次記憶装置１０５への退避すべき情報量が削減されるため、既存のサスペンド処理よりも高速な退避処理を実現することができる。
【００９０】
また、レジューム処理が起動されると、不揮発性記憶部１０４に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理が再開される。従来のレジューム処理では低速な２次記憶装置に退避された情報を主記憶装置に転送し終わるまで待たなくてはならない。これに対し、本実施形態では、図９で示したよう、レジューム処理では高速な主記憶装置の不揮発性記憶部１０４上の情報のみで復帰処理が行なうことができるので、レジューム処理の所要時間が飛躍的に短縮される。
【００９１】
このように、本発明の第１の実施形態では、仮想メモリ・システムに主記憶装置の不揮発性記憶部への退避優先度という概念を導入することにより、サスペンド処理及びレジューム処理の所要時間の短縮を達成することができる。特に、レジューム処理が単純化されるため、同レジューム処理を従来技術よりも格段に高速化することができる。
【００９２】
続いて、仮想メモリ・システムを適用しない場合でも採用可能な、本発明の第２の実施形態について説明する。
【００９３】
図１０には、計算機装置が仮想メモリ・システムを適用しない場合におけるサスペンド処理の動作手順をフローチャートの形式で示している。また、図１１には、この場合のサスペンド処理の直前における計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示している。
【００９４】
図１１に示すように、通常の動作状態では、複数のアプリケーション・プログラムＡＰ１、ＡＰ２、ＡＰ３やデータＤ１、Ｄ２が主記憶装置１０２上に配置（展開）され、ＣＰＵ１０１によって実行されている。なお、図１１では、主記憶装置１０２上のオペレーティング・システム並びに２次記憶装置１０５内のプログラムやデータのイメージは省略されている。
【００９５】
図１１に示す記憶空間の状態から計算機装置をサスペンド状態に至らしめるためには、レジュームにより同じ時点からタスクを再開させるために必要なプログラムやデータを適宜不揮発性の記憶装置に退避する必要がある。ここで言う不揮発性の記憶装置は、主記憶装置１０２内の不揮発性記憶部１０４と２次記憶装置１０５に相当する。このようなサスペンド処理の手順について、図１０に示したフローチャートを参照しながら説明する。ここでは、各プログラム及びデータが主記憶装置１０２上又は２次記憶装置１０５上で連続した領域を占有しているものとするが、非連続な領域を占有している場合についても容易に拡張することができる。
【００９６】
まず、サスペンド処理が起動されると、システムが保存すべき情報の識別処理を行なう（ステップＳ４１）。
【００９７】
主記憶装置１０２上の情報はオペレーティング・システムが管理しており、この管理情報を活用する。具体的には、オペレーティング・システムなどのシステムに関する情報、主記憶装置１０２上で実行されているプログラム及びデータに関する情報である。これに加え、計算機装置に接続されている入出力装置に関するシステム状態情報（前述）も保存すべき情報の対象となる。
【００９８】
次いで、前ステップＳ４１において識別した各情報に対して、レジューム処理が起動されてタスクが再開した直後に必要とされるかに基づいて優先度を与える（ステップＳ４２）。
【００９９】
優先度の与え方については後に詳解するが、システムがタスクを再開するために必須な情報（オペレーティング・システムなど）に対しては、あらかじめ最高の優先度を与えるものとする。
【０１００】
本実施形態では、退避する各情報についての優先度や元の格納場所並びに退避先の場所を管理するためのデータ構造を主記憶装置１０２の不揮発性記憶部１０４内に用意する。図１２には、このデータ構造の構成例を示している。図示のデータ構造では、各情報はＩＤで一意に示されるものとし、各情報のエントリは、「優先度」、「退避元の位置」、「退避先の位置」、「サイズ」を格納するフィールドを持つ。「退避元の位置」にはサスペンド前の各退避すべき情報の先頭番地を格納し、「退避先の位置」にはサスペンド後の各退避すべき情報の格納位置（不揮発性記憶部１０４上の番地、又は２次記憶装置１０５上での先頭位置）を格納する。また、「サイズ」には各情報の大きさを格納する。また、「復帰？」は、復帰ビットであり、サスペンド処理時に未復帰を示すフラグで初期化される。
【０１０１】
次いで、前ステップＳ４２で定めた優先度に基づいて、保存すべき情報の退避処理を行なう（ステップＳ４３）。
【０１０２】
次いで、すべての保存すべき情報を退避できたかを判定する（ステップＳ４４）。そして、すべて退避できた場合（すべての保存すべき情報を不揮発性記憶部１０４に退避することができた場合）は、計算機装置の電源を切断し、サスペンド処理を終了する（ステップＳ７）。すべての保存すべき情報がまだ退避できていない場合は、次ステップＳ４５に進む。
【０１０３】
ステップＳ４５では、不揮発性記憶部１０４の空き容量を判定する。不揮発性記憶部１０４に十分な容量が残っている場合は、ステップＳ４３に戻り、上述の不揮発性記憶部１０４への情報の退避処理を繰り返し実行する。また、不揮発性記憶部１０４に十分な容量が残っていない場合は次ステップＳ４６に進む。
【０１０４】
ステップＳ４６では、保存すべき情報のうち不揮発性記憶部１０４に退避しきれなかったもの（すなわち、優先順位の低い情報）をすべて２次記憶装置１０５に退避する。
【０１０５】
そして、計算機装置の電源を切断した時点でサスペンド処理を終了する（ステップＳ４７）。
【０１０６】
図１３には、上記のサスペンド処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示している。図示の状態のまま、計算機装置はユーザが復帰操作（例えば、計算機装置の電源スイッチを押すなど）を行なうまで停止する。
【０１０７】
図１３に示す例では、揮発性記憶部１０３に配置されていたプログラムＡＰ１とデータＤ１、並びにシステム状態ＳＴは、不揮発性記憶部１０４に退避されている。また、優先度のより低いプログラムＡＰ２やデータＤ２は、より優先度の高いプログラムやデータで不揮発性記憶部１０４の退避領域が満杯となってしまったことから、２次記憶装置１０５に退避されている。また、元々は不揮発性記憶部１０４に配置されていたプログラムＡＰ３やデータＤ２は、優先度の高いプログラムやデータの退避領域を設けるために、２次記憶装置１０５に退避されている。
【０１０８】
ここで言う優先度は、後のレジューム処理によるタスク再開時において必要となる優先度を意味する。プログラム及びデータの退避先を図１３に示したように配置することにより、レジューム処理が起動されると、不揮発性記憶部１０４に格納された情報を基に復帰処理が行なわれるとともに、中断中のタスク処理がそのまま再開される。
【０１０９】
サスペンド状態にある計算機装置は、ユーザのスイッチ押下操作などにより、レジューム処理を開始する。図１４には、計算機装置が仮想メモリ・システムを適用しない場合におけるレジューム処理の動作手順をフローチャートの形式で示している。
【０１１０】
まず、レジューム処理が起動されると、図１２に示したデータ構造の該当情報エントリを参照して、主記憶装置１０２の不揮発性記憶部１０４に退避されている各情報を、「退避元の位置」で示す番地に復帰させ、復帰が完了した情報については「復帰ビット」を立てる（ステップＳ５１）。
【０１１１】
次いで、主記憶装置１０２上の情報を用いて、システムの再開を行なう（ステップＳ５２）。
【０１１２】
ここで、すべての必要な情報が不揮発性記憶部１０４に退避されているかどうかを判別する（ステップＳ５３）。必要な情報がすべて不揮発性記憶部１０４に退避されていた場合は、既に計算機装置の状態が復帰されており、後続のタスク実行処理を行なうことができるので、レジューム処理を終了する。一方、不揮発記憶装置の情報のみでは復帰処理が完了していなかったと判断された場合には、次ステップＳ５４に進む。
【０１１３】
ステップＳ５４では、主記憶装置１０２上の情報を用いてシステムが再開する一方、そのバックグラウンド処理として、２次記憶装置１０５に退避している残りの保存情報をサスペンド処理時に決定した優先度の順に従って主記憶装置１０２に読み込む。このとき、復帰が完了した情報については、データ構造（図１２を参照のこと）の該当情報エントリにおいて、その復帰ビットを立てる。
【０１１４】
ステップＳ５５では、次ステップＳ５４に付随する復帰処理を行なう。なお、ステップＳ５４及びステップＳ５５では、復帰中の情報は復帰処理が完了するまでは利用できないものとする。すなわち、同情報を用いるには復帰処理の完了を待つ必要がある。
【０１１５】
ステップＳ５６では、２次記憶装置１０５上のすべての退避情報についての復帰が完了したかどうかを判断する。そして、これが完了している場合はレジューム処理を完了する。まだ完了していない場合は、ステップＳ５４に戻り、再開したタスク実行のバックグラウンドにおいて復帰処理を続ける。
【０１１６】
図１３に示した状態から一連のレジューム処理が完了した時点での記憶内容の配置状態を図１５に示している。これは図１３とほぼ同一であるが、不揮発性記憶部１０４上のデバイスの状態情報が復帰されているなど、システム内部的な状態は異なっている。
【０１１７】
本実施形態に係る計算機装置では、レジューム処理が起動されると、不揮発性記憶部１０４に格納された情報を基に計算機装置の状態を復帰するとともに、不揮発性記憶部１０４に格納されたプログラムＡＰ１やデータＤ１を実行する。このように、不揮発性記憶部１０４上のプログラムが実行された時点で、計算機装置のユーザには、計算機装置が通常動作状態に復帰した効果を与える。
【０１１８】
第１の実施形態の場合と同様に、本発明の第２の実施形態では、保存すべき情報をステップＳ４２で定めた優先度に基づいて主記憶装置１０２の不揮発性記憶部１０４に保存していき、不揮発性記憶部１０４に保存できなかった情報を２次記憶装置１０５に保存するという点で、従来のサスペンド処理とは相違する。
【０１１９】
ここで、図１６には、サスペンド処理前とサスペンド処理後、並びにレジューム処理後の情報の移動の様子を示している。サスペンド処理前に主記憶装置１０２の揮発性記憶部１０３にあった情報は、優先度に応じて、主記憶装置１０２の不揮発性記憶部１０４又は２次記憶装置１０５に移動する。また、主記憶装置１０２の不揮発性記憶部１０４にあった情報は、優先度に応じて、主記憶装置１０２の不揮発性記憶部１０４に留まるか、又は２次記憶装置１０５に移動する。このように、低速な２次記憶装置１０５への退避すべき情報量が削減されるため、既存のサスペンド処理よりも高速な退避処理を実現することができる。また、低速な２次記憶装置１０５からの転送処理を待たずして、計算機装置の処理が再開されるため、ユーザの体感所要時間を既存のレジューム処理に比べて大幅に短縮することができる。
【０１２０】
このように、本発明の第２の実施形態では、タスク再開時における必要度合いによる優先度に基づいて、主記憶装置１０２の不揮発性記憶部１０４を有効活用することにより、サスペンド処理及びレジューム処理の所要時間の短縮を達成することができる。また、上述した第１の実施形態とは異なり、仮想メモリ・システムをサポートしない環境（例えば、組み込み用途のように、ＣＰＵにＭＭＵを搭載していない機器など）においても適用することが可能である。
【０１２１】
続いて、サスペンド処理時における、退避すべき情報に対する優先度付けに関する３通りの手段について説明する。これら優先度付け手段は、上述した本発明の第１及び第２の実施形態のいずれにも適用することができる。
【０１２２】
第１の優先度付けの手段は、オペレーティング・システムにおいて提供される仮想メモリ・システムを利用した方法である。但し、第２の実施形態で適用する場合は、仮想メモリ・システムをサポートしている環境のみ適用可能である（仮想メモリ・システムをサポートしていない環境では、後述の第２の優先順位付け手段、あるいは第３の優先順位付け手段を用いることができる）。仮想メモリ・システムは、計算機装置に搭載している主記憶装置の容量よりも多くのメモリを必要とするプログラムやデータを扱うためのメカニズムである
【０１２３】
図１７には、仮想メモリ・システムの構成を模式的に示している。物理メモリすなわち主記憶装置１０２の容量は例えば数十〜数百メガバイト程度である。これに対し、仮想メモリは、例えば３２ビット・アーキテクチャであれば４ギガバイト（＝２３２）程度の広大なアドレス空間である。当然、仮想アドレスのごく一部しか物理メモリ上に存在せず、その他のデータはハード・ディスク上に退避されている。
【０１２４】
仮想メモリ・システムを実現する際、タスク切り替えの度にタスクに関するメモリの内容をハード・ディスクに退避したりハード・ディスクから回復したりするのでは効率的でない。そこで、仮想アドレス空間を「ページ」と呼ばれる単位で細かく分割し、ページ単位で論理アドレス空間と物理アドレス空間のマッピングが行なわれる。ページ単位で管理することにより、物理メモリ上には常に複数のタスクのページが配置された状態となり、タスク切り替え時にハード・ディスクへのページの退避（ページ・アウト）や復元（ページ・イン）が頻繁に起こることはなくなる。仮想メモリへのアクセスは、仮想アドレス空間上のページ・アドレスの参照という形態で行なわれる。仮想メモリ・システムでは、論理アドレスと物理アドレスの関係をページ単位で掌握するために、ページ・テーブルを用意する。
【０１２５】
仮想メモリ・システムにおけるページ・アウトやページ・インなどのページ置き換え処理では、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）すなわち最近最も参照されなくなった主記憶装置上のページを置き換えるというアルゴリズム及びその近似アルゴリズムが広く用いられている。オペレーティング・システムは、このＬＲＵアルゴリズムを実現するために、主記憶上の各ページに対するアクセス時刻情報を管理している。本発明では、仮想メモリ・システムにおけるこのようなページ管理情報を活用して、最近アクセスされたページから順に高い優先度を与えていくという優先度付けを行なう。
【０１２６】
既に述べたように、第１の実施形態に対しては、仮想メモリ・システムにおけるページ管理情報を直接用いることができる。一方、このページ管理情報を第２の実施形態で活用する場合には、ページ単位ではなく、プログラム及びデータ単位の優先度に変換する方法が必要である。このような優先度の与え方としては、例えば、（１）プログラム及びデータが保有するページの最高優先度のものに着目し、この優先度が高い順に高い優先度を与える方法、（２）プログラム及びデータが保有するページの優先度の上位数個の平均の大きいものから順に高い優先度を与える方法、などが考えられる。
【０１２７】
第２の優先度付けの手段は、一般的なオペレーティング・システムにおいて管理している「実行中のプログラムの最近のアイドル時間」に関する情報を優先度付けに活用する方法である。すなわち、アイドル時間の小さいプロセス（最近実行されているプロセス）から順に高い優先度を与えていき、アイドル時間が大きいプロセス（最近実行されていないプロセス）ほど低い優先度を与えるようにする。
【０１２８】
ここで、プロセス同士の間で一意な優先度を与えるには、例えば、アイドル時間の等しいプロセスの間には、システムの管理するプロセスＩＤの大小関係などで優先度の大小を決するようにすればよい。また、データ（アプリケーションが使うファイルなど）に対する優先度は、そのデータを用いるプロセスの中で最高優先度を持つプロセスの優先度に準ずるようにする。１つのプロセスが複数のデータを用いる場合は、プロセスの場合と同様に、ＩＤなどで大小を決すればよい。第２の実施形態では、プログラム及びデータに一意な優先度を与えることで、アイドル時間に関する情報を優先度付けにそのまま活用することができる。
【０１２９】
一方、第１の実施形態において、アイドル時間に関する情報を優先度付けに適用するには、プログラムやデータに与えた優先度をページ単位の優先度に変換することで実現できる。すなわち、優先度の高いプログラムやデータに属するページほど高い優先度を与えるという変換を行なう。一般に、プログラムやデータには複数のページが属するが、その間に一意な優先度を与えるには、前述のＬＲＵアルゴリズムにおける優先度を適用する方法などがある。
【０１３０】
第３の優先度付けの手段は、ユーザからの定義を優先度付けに反映させる方法である。すなわち、ユーザが主記憶装置１０２の不揮発性記憶部１０４に残したいプログラムやデータの優先度をあらかじめ指定し、サスペンド時において、この優先度を考慮してプログラムやデータを退避する。ユーザが優先度を定義する方法としては、例えば、（１）サスペンドを行なう前にユーザが優先度リストを編集し、システムに与える方法、（２）サスペンド直前にシステムがユーザに優先度を尋ねる方法、などが挙げられる。
【０１３１】
ここで、ユーザがすべてのプログラムやデータに関して優先度を与えるとは限らない。この場合には、ユーザが優先度を与えなかったプログラムやデータに対してシステムが自動的に優先度を付ける方法を適用することができる。すなわち、ユーザが付けた優先度リストにおける最低優先度の退避すべき情報に続いて、残りの退避すべき情報に対してシステムが自動的に優先度付けしたリストを加え、すべての退避すべき情報に関する優先度リストを作成する。システムが自動的に優先度付けする方法としては、例えば上述した第１並びに第２の優先度付けの手段などを適用することができる。
【０１３２】
また、ユーザがプログラムやデータに優先度を与えるのが煩わしいという場合には、主記憶装置１０２の不揮発性記憶部１０４に残しておきたいプログラムやデータの候補をユーザがシステムに与えるという方法も考えられる。この場合、まず、ユーザが与えた候補リストに対して、システムが自動的に優先度を与える。その後、残りの退避すべき情報に対してもシステムが自動的に優先度付けを行ない、候補リストに対する優先度付けの結果に残りの退避すべき情報（候補でないもの）に対する優先度付けの結果を加えて、すべての情報に対する優先度リストを作成する。この方法においても、システムが自動的に優先度付けする方法として、上述した第１並びに第２の優先度付けの手段を適用することができる。
【０１３３】
第３の優先度付け手段については、第２の実施形態に直接適用することができる。また、第２の優先度付け手段によりプログラムやデータの優先度をページ単位の優先度に変換する手法を用いることで、第１の実施形態に適用することも可能である。
【０１３４】
次に、レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処する手段について説明する。
【０１３５】
第２の実施形態では、レジューム処理時には、主記憶装置１０２上のプログラムやデータを用いて中断していたタスクを再開しながら、タスク実行のバックグラウンドで、２次記憶装置１０５に退避されていたプログラムやデータを退避元の位置に復元する処理が行なわれる。ここで、バックグラウンド処理で未復帰の情報がタスクにより呼び出された場合に、当該手段を用いることができる。
【０１３６】
レジューム処理中に、主記憶装置１０２に未だ復帰していないプログラムやデータが必要になったとする。例えば、主記憶装置１０２に復帰していないプログラムをレジューム処理中にユーザが実行したいとする。この場合、現在復帰中の情報の転送を中断し、ユーザが現在必要とする情報を優先して主記憶装置１０２に転送して、その転送処理が完了した後に中断した転送処理を再開する、という方法を行なえば、ユーザの操作性を向上させることができる。
【０１３７】
ユーザが現在必要とする情報を優先して復帰させる場合も、図１２に示したようなデータ構造を参照する。図１８には、レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処するための処理手順を、フローチャートの形式で示している。
【０１３８】
まず、途中で復帰処理を中断するプログラムやデータに対して、中断箇所に関する情報を図１２に示したデータ構造に保存する（ステップＳ６１）。ここで、中断時の２次記憶装置１０５上の位置を「退避先の位置」に、中断時の主記憶装置１０２上の位置を「退避元の位置」に、中断時の残りの転送量を「サイズ」に記録する。
【０１３９】
次いで、割り込み復帰処理リストを主記憶装置１０２上に生成して、すぐに復帰しなくてはならないプログラムやデータの復帰処理を当該リストの末尾に追加する（ステップＳ６２）。
【０１４０】
そして、割り込み復帰処理リストの先頭から順に処理を開始する（ステップＳ６３）。
【０１４１】
ここで、新たに割り込み復帰処理が発生した場合は（ステップＳ６４）、ステップＳ６２に戻り、新たな割り込み復帰処理を割り込み復帰処理リストの末尾に加える。ステップＳ６３では、現在実行中の割り込み復帰処理が再び選ばれるため、続きの処理を継続することになる。
【０１４２】
一方、新たな割り込み復帰処理が発生しない場合は、次ステップＳ６５に進み、現在実行中の復帰処理が完了したかどうかを判断する。復帰処理が完了していない場合は、ステップＳ６３に戻り、現在実行中の復帰処理を再開する。
【０１４３】
次いで、現在実行中の復帰処理が完了したかどうかを判別する（ステップＳ６５）。そして、復帰処理が完了したと判断される場合は、次ステップＳ６６に進む。
【０１４４】
ステップＳ６６では、割り込み復帰処理リストの先頭の処理（直前まで行なっていた割り込み復帰処理）を除去する。
【０１４５】
次いで、割り込み復帰処理リストが空になったかどうかを判別する（ステップＳ６７）。割り込み復帰処理リストが空になっている場合は、現時点で緊急に行なうべき復帰処理がないことを意味し、割り込み復帰処理を終了する。その後、２次記憶装置１０５上の最高優先度の情報の復帰処理に戻る。また、割り込み復帰処理リストが空になっていない場合には、ステップＳ６３に戻り、割り込み復帰処理を続ける。
【０１４６】
このように、割り込み復帰処理リストというデータ構造を用いることで、複数の割り込み復帰処理に対応することができる。また、割り込み復帰処理が発生する直前まで実行していた復帰処理が緊急に必要になった場合にも対応することができる。
【０１４７】
次に、２次記憶装置１０５から主記憶装置１０２へのデータの復帰処理中に、復帰が未完了の情報へのアクセスを禁ずるための手段について説明する。この手段も、第２の実施形態におけるサスペンドからレジューム処理において活用することができる。
【０１４８】
本発明の第２の実施形態のようにシステム再開後もレジューム処理をバックグラウンドで継続処理するような計算機装置において、バックグラウンドで主記憶装置１０２に転送しているプログラムやデータをシステム内のあるプログラムが呼び出した場合、これを禁止する機構が必要である。何故ならば、復帰が完了していないメモリ領域にはでたらめな情報が書き込まれているにも拘らず、このような呼び出しを許してしまえば、復帰中のプログラムやデータの一部とみなしてしまい、呼び出したプログラムが誤動作したり暴走したりする可能性が生じるからである。
【０１４９】
このような問題を解決するために、図１２に示したデータ構造を用いてアクセス許可を判定することができる。また、図１９には、レジューム処理中に復帰が未完了の情報へのアクセスを禁止するための処理手順をフローチャートの形式で示している。
【０１５０】
まず、サスペンド前に主記憶装置１０２上に存在した情報へのアクセスがあった場合、図１２に示したデータ構造の該当情報エントリを参照し、その情報の復帰ビットを調べる（ステップＳ７１）。
【０１５１】
この復帰ビットが「未復帰」を示していた場合には、次ステップＳ７２に進み、復帰の完了を待つ。また、「復帰」を示していた場合、既に主記憶装置１０２上に情報が存在するため、ステップＳ７３に進み、アクセスを許可する。
【０１５２】
ステップＳ７２では、アクセスしようとした情報が主記憶装置１０２上に復帰されるのを待つ。そして、当該情報が主記憶装置１０２に復帰された時点で次ステップＳ７３に進み、この情報にアクセスすることができる。
【０１５３】
ステップＳ７３では、アクセスを試みた情報が主記憶装置１０２上に存在するので、これにアクセスして所望の処理を行なう。
【０１５４】
以上のように、第２の実施形態において、２次記憶装置１０５から主記憶装置１０２への情報の復帰中に、復帰が未完了の情報にアクセス要求が生じた場合の対応を行なうことができる。
【０１５５】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１５６】
【発明の効果】
以上詳記したように、本発明によれば、電源遮断時にシステムの状態情報を不揮発性の記憶装置に退避し、電源再投入時に退避した状態情報を復元して処理を再開させるハイバーネーション機能を備えた、優れた情報処理システム及びその制御方法、並びにコンピュータ・プログラムを提供することができる。
【０１５７】
本発明によれば、計算機装置において、サスペンド・レジューム機能の退避・復帰処理に要する時間を大幅に短縮し、特にノートＰＣなどの携帯端末におけるユーザの操作性（退避・復帰処理の待ち時間）を格段に改善することができる。
【０１５８】
また、本発明によれば、サスペンド・レジューム機能の退避・復帰処理に要する消費電力を削減し、特にノートＰＣなどの携帯端末におけるバッテリの持ちを改善することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る計算機装置のハードウェア構成を模式的に示した図である。
【図２】既存の計算機装置の構成を模式的に示した図である。
【図３】サスペンド・レジューム処理の概略的な動作を示したフローチャートである。
【図４】本発明の第１の実施形態におけるサスペンド処理の動作手順を示したフローチャートである。
【図５】サスペンド処理の直前における計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図６】サスペンド処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図７】本発明の第１の実施形態におけるレジューム処理の動作手順を示したフローチャートである。
【図８】レジューム処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図９】サスペンド処理前とサスペンド処理後、並びにレジューム処理後におけるページ移動の様子を示した図である。
【図１０】本発明の第２の実施形態におけるサスペンド処理の動作手順を示したフローチャートである。
【図１１】サスペンド処理の直前における計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図１２】退避する各情報についての優先度や元の格納場所並びに退避先の場所を管理するためのデータ構造を示した図である。
【図１３】サスペンド処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図１４】本発明の第２の実施形態におけるレジューム処理の動作手順を示したフローチャートである。
【図１５】レジューム処理が完了した時点での計算機装置内の主記憶装置１０２並びに２次記憶装置１０５の記憶内容を模式的に示した図である。
【図１６】サスペンド処理前とサスペンド処理後、並びにレジューム処理後におけるページ移動の様子を示した図である。
【図１７】仮想メモリ・システムの構成を模式的に示した図である。
【図１８】レジューム処理時の復帰処理中において未復帰の情報が呼び出されたときに対処するための処理手順を示したフローチャートである。
【図１９】レジューム処理中に復帰が未完了の情報へのアクセスを禁止するための処理手順を示したフローチャートである。
【符号の説明】
１０１…ＣＰＵ
１０２…主記憶装置
１０３…揮発性記憶部
１０４…不揮発性記憶部
１０５…２次記憶装置
１０６…入出力装置
１１０…バス
【図１】
2004362426.tif 000003
【図２】
2004362426.tif 000004
【図３】
2004362426.tif 000005
【図４】
2004362426.tif 000006
【図５】
2004362426.tif 000007
【図６】
2004362426.tif 000008
【図７】
2004362426.tif 000009
【図８】
2004362426.tif 000010
【図９】
2004362426.tif 000011
【図１０】
2004362426.tif 000012
【図１１】
2004362426.tif 000013
【図１２】
2004362426.tif 000014
【図１３】
2004362426.tif 000015
【図１４】
2004362426.tif 000016
【図１５】
2004362426.tif 000017
【図１６】
2004362426.tif 000018
【図１７】
2004362426.tif 000019
【図１８】
2004362426.tif 000020
【図１９】
2004362426.tif 000021