JP2017102881A - システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステム - Google Patents

システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステム Download PDF

Info

Publication number
JP2017102881A
JP2017102881A JP2015256482A JP2015256482A JP2017102881A JP 2017102881 A JP2017102881 A JP 2017102881A JP 2015256482 A JP2015256482 A JP 2015256482A JP 2015256482 A JP2015256482 A JP 2015256482A JP 2017102881 A JP2017102881 A JP 2017102881A
Authority
JP
Japan
Prior art keywords
type
peripheral device
computer system
state
device belonging
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.)
Granted
Application number
JP2015256482A
Other languages
English (en)
Other versions
JP6105038B1 (ja
Inventor
林國弘
Kuo-Hung Lin
林祐慶
You-Ching Lin
沈子傑
Tzu-Chieh Shen
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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Application granted granted Critical
Publication of JP6105038B1 publication Critical patent/JP6105038B1/ja
Publication of JP2017102881A publication Critical patent/JP2017102881A/ja
Active 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/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】システム一時停止後のシステム再開時間をより速くする。【解決手段】コンピュータシステムのシステム再開方法は、コンピュータシステムを待機状態または休眠状態から起動状態へ再開させる。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。周辺装置は、第1種別および第2種別として分類される。システム再開方法は、中央処理装置の電力をオンにするステップと、第1種別に属す周辺装置のみを再開させる(resume)ステップと、コンピュータシステムの運転を解凍する(thaw)ステップと、を含む。【選択図】図3

Description

本発明は、システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステムに関する。
従来、休眠技術(suspend‐to‐disk)を用いて快速起動を実現する方法が広く採用されてきた。その休眠状態(S4)としては、メモリの情報が外部の記録媒体に書き込まれると共に、全ての周辺装置の動作が停止する。
休眠技術を用いる一般的なシステム一時停止プロセス(system suspend procedure)では、メモリ内のコンテンツが休眠ファイル(hibernation file)として作成されると共に外部の記録媒体に書き込まれる。
そして、休眠技術を用いるシステム再開プロセス(system resume procedure)では、全ての周辺装置が初期化されると共に、周辺装置を再開させるための休眠ファイルがロードされる。しかし、このようなシステム再開プロセスでは、多量な時間をかけ、全ての周辺装置の初期化動作および再開動作を行わなければならず、快速起動の実行速度にボトルネックを引き起こす問題がある。この問題については、例えば中華民国特許第514796号に開示のシステム再開方法が挙げられる。
ところで、ウェアラブル装置の登場に伴い、ウェアラブル装置の電力を如何に節約するかという難題がある。そして、スマートウェアラブル装置(例えばスマートメガネ)の場合、該装置上において例えばAndroid(登録商標)システムなどの複雑なオペレーティングシステムを実行しなければならない可能性があり、電力に対する需要が非常に高くなる。そのため、スマートウェアラブル装置の節電について、異なる規模の2カーネル設計が生み出されている。すなわち、システム上において高性能のアプリケーションを実行する必要がある場合には、高性能な大規模カーネルを用いて実行し、必要がない場合には、大規模カーネルを休眠状態または待機状態に移行させると共に大部分の周辺装置をオフにし、小規模カーネルのみを維持し動作させ続け、より多くの電力の節約を図る。このような設計の実現において、ユーザ体験に影響を及ぼさないためには、大規模カーネルのシステム再開プロセスの時間が長くなってはならないというキー要素が必要である。したがて、大規模カーネルのシステム再開における問題を解決するためには、より速いシステム再開プロセスが必要である。
また、不揮発性メモリは、その発展につれ、将来には既存のダイナミック・ランダム・アクセス・メモリ(DRAM)に取って替わる可能性がある。そして、休眠技術を用いる快速起動方法も、待機技術(suspend‐to‐RAM)を用いる快速起動方法(待機技術は、スリープ技術とも称する)へ徐々に変わり、メモリのコンテンツをそのまま不揮発性メモリ内に残し、外部の記録媒体に書き込む必要がなくなると予想される。
待機技術を用いる一般的なシステム再開プロセスは、休眠ファイルの読み取り動作が省略されるものの、初期化および全ての周辺装置の再開を行わなければならない。このようなシステム再開プロセスでは、依然として、多量な時間をかけて全ての周辺装置の初期化動作および再開動作を行わなければならず、同様に快速起動の流れにボトルネックを引き起こす問題がある。
本発明は、システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステムに関する。
本発明の第1態様によれば、コンピュータシステムを待機状態(S3)または休眠状態(S4)に移行させるシステム一時停止方法を提供する。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。コンピュータシステムのシステム一時停止方法は、コンピュータシステムの運転を凍結する(freeze)ステップと、前記周辺装置を一時停止する(suspend)ステップと、中央処理装置の電力をオフにするステップとを含む。前記周辺装置は、第1種別および第2種別として分類される。第1種別に属す前記周辺装置は、コンピュータシステムがシステム再開プロセスを実行したときにすべて再開する(resume)。第2種別に属す前記周辺装置は、コンピュータシステムが使用要求をインターセプトしたときに再開する。
本発明の第2態様によれば、コンピュータシステムを待機状態(S3)または休眠状態(S4)から起動状態(S0)へ再開させるシステム再開方法を提供する。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。前記周辺装置は、第1種別および第2種別として分類される。コンピュータシステムのシステム再開方法は、中央処理装置の電力をオンにするステップと、第1種別に属す前記周辺装置のみを再開させる(resume)ステップと、コンピュータシステムの運転を解凍する(thaw)ステップと、を含む。
本発明の第3態様によれば、複数の周辺装置と、中央処理装置と、電源管理インターフェースとを含むコンピュータシステムを提供する。中央処理装置は、前記周辺装置を制御する。電源管理インターフェースは、コンピュータシステムを待機状態(S3)または休眠状態(S4)に移行させるシステム一時停止プロセスを実行する。システム一時停止プロセスにおいて、電源管理インターフェースは、コンピュータシステムの運転を凍結し(freeze)、前記周辺装置を一時停止する(suspend)と共に中央処理装置の電力をオフにする。電源管理インターフェースは、前記周辺装置を第1種別および第2種別として分類する。第1種別に属す前記周辺装置は、コンピュータシステムがシステム再開プロセスを実行したときにすべて再開する(resume)。第2種別に属す前記周辺装置は、コンピュータシステムが使用要求をインターセプトしたときに再開する。
本発明の上記態様および他の態様がさらに良く理解されるように、以下は好ましい実施例を挙げると共に、添付される図面を参照しつつ、詳細に説明する。
コンピュータシステムを示す模式図である。 コンピュータシステムが「周辺装置要求性再開機能」を用いながら休眠状態に移行するシステム一時停止方法を示すフローチャートである。 コンピュータシステムが「周辺装置要求性再開機能」を用いながら休眠状態から離脱するシステム再開方法を示すフローチャートである。 電源管理インターフェースが「周辺装置要求性再開機能」を実行する様子を示す模式図である。 コンピュータシステムが「周辺装置要求性再開機能」を用いながら待機状態に移行するシステム一時停止方法を示すフローチャートである。 コンピュータシステムが「周辺装置要求性再開機能」を用いながら待機状態から離脱するシステム再開方法を示すフローチャートである。 Linux(登録商標、以下略)オペレーティングシステム環境を示す模式図である。 Linuxオペレーティングシステム環境において行われるメモリマッピングを示す模式図である。
本発明は、システム再開プロセス(system resume procedure)に「要求に基づいて周辺装置を再開させる機能(peripheral resume on demand)」が設定されているため、すぐに再開(resume)すべき周辺装置のみを再開させると共に、すぐに再開すべきでない周辺装置を一時停止状態、または、再開の成功を偽るフェイク再開(fake resumed)状態に維持しつつ、当該周辺装置にシステム再開プロセスを回避させる(bypass)ようになっている。そして、システム再開プロセスの完了後は、アプリケーションが一時停止状態またはフェイク再開状態の周辺装置に対して使用を要求したときに、一時停止状態またはフェイク再開状態の周辺装置の再開動作を行う。このように、システム再開プロセスは、再開すべき周辺装置の数を減らすことにより、システム再開プロセスの実行時間を短縮させることができる。
図1を参照する。図1は、コンピュータシステム100を示す模式図である。コンピュータシステム100は、中央処理装置(CPU)110と、電源管理インターフェース120と、メモリ130と、外部記憶装置140と、複数の周辺装置150とを含む。周辺装置150は、例えば表示パネル、タッチパネル、スピーカ、カメラ、またはユニバーサル・シリアス・バス(USB)である。周辺装置150は、第1種別R1および第2種別R2に分類される。第1種別R1の周辺装置150は、フォアグランドプログラムに関連しており、システム再開プロセスにおいてすぐに再開させる必要がある。第2種別R2の周辺装置150は、フォアグランドプログラムに関連せず、システム再開プロセスにおいてすぐに再開させる必要がない。例を挙げて説明すると、第1種別R1の周辺装置150は、例えば表示パネルまたはタッチパネルである。第2種別R2の周辺装置150は、例えばスピーカ、カメラ、またはユニバーサル・シリアス・バスである。
図1および2を参照する。図2は、コンピュータシステム100が「周辺装置要求性再開機能」を用いながら休眠状態(S4)に移行するシステム一時停止方法を示すフローチャートである。まず、ステップS210において、コンピュータシステム100の運転を凍結する(freeze)。
続いて、ステップS220において、全ての周辺装置150を一時停止する(suspend)と共に、当該周辺装置150を一時停止状態に変更する。なお、これらの周辺装置150は、第1種別R1および第2種別R2として分類されている。このステップでは、電源管理インターフェース120は、第1種別R1に属す各周辺装置150に所定のタグを付与してもよい。或いは、電源管理インターフェース120は、第1種別R1に属する周辺装置150を所定のリスト中に記録してもよい。これにより、後にタグの内容、若しくは所定のリストのクエリーを行うだけで、当該周辺装置150が第1種別R1に属すか否かを判明することができる。第1種別R1に属する周辺装置150は、コンピュータシステム100がシステム再開プロセスを行ったときに、全装置が再開する(resume)。一方、第2種別R2に属する周辺装置150は、コンピュータシステム100が使用要求Q1(図4に示す)をインターセプトしたときに再開する。このステップでは、周辺装置150のいずれもが一時停止状態(または電源オフ状態)に移行するが、各周辺装置150とオペレーティングシステムとの接続は、アンインストールせずに維持される。これにより、周辺装置150のいずれも、所定の起動状態にしか初期化されないということがなく、一時停止の直前の状態で再開することができる。
ステップS230において、メモリ130内のコンテンツを休眠ファイル(hibernation file)に作成することにより、メモリ130内の、全ての周辺装置150に対応するコンテンツを記録する。このステップでは、第1種別R1および第2種別R2に関係なく、全ての周辺装置150の一時停止の直前の状態が休眠ファイル内に記録される。
ステップS240において、休眠ファイルを外部記憶装置140に記憶することにより、メモリ130内の、全ての周辺装置150に対応するコンテンツを外部記憶装置140に記憶する。
ステップS250において、中央処理装置110およびメモリ130など、大部分のデバイスの電力をオフにする。
再び図1および3を参照する。図3は、コンピュータシステム100が「周辺装置要求性再開機能」を用いながら休眠状態(S4)から離脱するシステム再開方法を示すフローチャートである。まず、ステップS310において、中央処理装置110、メモリ130、外部記憶装置140など、各デバイス電力をオンにする。
ステップS320において、起動プログラム(Boot−loader)による簡単な初期化を行う。
ステップS330において、カーネル(kernel)をロードし、カーネルに対して詳細な初期化を行う。
ステップS340において、第1種別R1に属する周辺装置150に対して初期化を行う。また、第2種別R2に属する周辺装置150については、一時停止状態に維持し、または、フェイク再開状態に変更する。このように、初期化すべき周辺装置150の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
ステップS350において、休眠ファイルをロードし、一時停止の直前のメモリ130内のコンテンツをリストアする。
ステップS360において、第1種別R1に属する周辺装置150のみを再開させる(resume)。また、第2種別R2に属する周辺装置150を一時停止状態に維持し、または、フェイク再開状態に変更する。このように、再開すべき周辺装置150の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
ステップS370において、コンピュータシステム100の運転を解凍する。これで、システム再開プロセスは完了する。
次に、ステップS380において「周辺装置要求性再開機能」を実行する。図3および4を参照する。図4は、電源管理インターフェース120が「周辺装置要求性再開機能」を実行する様子を示す模式図である。電源管理インターフェース120は、所定の再開ユニット121と、インターセプトユニット122と、要求性再開ユニット123とを含む。ステップS340およびS360では、所定の再開ユニット121が、第1種別R1に属する周辺装置150の初期化および再開のために用いられるが、ステップS381では、インターセプトユニット122が、ユーザ空間(user space)USにおけるアプリケーション910からの使用要求Q1をインターセプトする。ステップS382では、要求性再開ユニット123が、この使用要求Q1に基づき、当該対応の周辺装置150が一時停止状態またはフェイク再開状態であるか否かを確認する。当該周辺装置150が一時停止状態またはフェイク再開状態である場合には、当該周辺装置150が第2種別R2に属していることを意味するため、要求性再開ユニット123は、使用要求Q1に対応している、第2種別R2に属する周辺装置150を初期化し、再開させる。
このようにして、システム再開プロセスは、一部の周辺装置150(すなわち第1種別R1)を初期化し再開させると共に、アプリケーション910による使用要求Q1をインタセフトしてから残りの周辺装置150(すなわち第2種別R2)を初期化し再開させるだけで済む。これにより、システム再開プロセスを快速起動技術に適用した場合でも、起動の所要時間をさらに効果的に短縮させることができる。
休眠技術以外に、待機技術(suspend‐to‐RAM)を用いた快速起動方法(待機技術は、スリープ技術とも称する)にも、上記「周辺装置要求性再開機能」を適用することが可能である。図1および5を参照する。図5は、コンピュータシステム100が「周辺装置要求性再開機能」を用いながら待機状態(S3)に移行するシステム一時停止方法を示すフローチャートである。まず、ステップS510において、コンピュータシステム100の運転を凍結する(freeze)。
続いて、ステップS520において、全ての周辺装置150を一時停止する(suspend)と共に、当該周辺装置150を一時停止状態に変更する。なお、これらの周辺装置150は、第1種別R1および第2種別R2として分類されている。このステップでは、電源管理インターフェース120は、第1種別R1に属す各周辺装置150に所定のタグを付与しもてよい。或いは、電源管理インターフェース120は、第1種別R1に属する周辺装置を所定のリスト中に記録してもよい。これにより、後にタグの内容、若しくは該リストのクエリーを行うだけで、当該周辺装置150が第1種別R1に属すか否かを判明することができる。第1種別R1に属する周辺装置150は、コンピュータシステム100がシステム再開プロセスを行ったときに、全装置が再開する(resume)。一方、第2種別R2に属する周辺装置150は、コンピュータシステム100が使用要求Q1(図4に示す)をインターセプトしたときに再開する。このステップでは、周辺装置150のいずれもが一時停止状態(または電源オフ状態)に移行するが、各周辺装置150とオペレーティングシステムとの接続は、アンインストールせずに維持される。これにより、周辺装置150のいずれも、所定の起動状態にしか初期化されないということがなく、一時停止の直前の状態で再開することができる。
ステップS530において、メモリ130内のコンテンツを記憶することにより、メモリ130内の、全ての周辺装置150に対するコンテンツを記録する。このステップでは、第1種別R1および第2種別R2に関係なく、全ての周辺装置150の一時停止の直前の状態が記憶される。
ステップS540において、メモリ130をリフレッシモード(refresh mode)に設定する。
ステップS550において、中央処理装置110など、大部分のデバイスの電力をオフにする。
再び図1及6を参照する。図6は、コンピュータシステム100が「周辺装置要求性再開機能」を用いながら待機状態(S3)から離脱するシステム再開方法を示すフローチャートである。まず、ステップS610において、中央処理装置110、メモリ130、外部記憶装置140など、各デバイスの電力をオンにする。
ステップS620において、中央処理装置110をレジュームする。
ステップS630において、メモリ130を通常状態(normal mode)に戻す。
ステップS640において、システム状態を元に戻す。
ステップS650において、第1種別R1に属する周辺装置150のみを再開させる(resume)。また、第2種別R2に属する周辺装置150を一時停止状態に維持し、または、フェイク再開状態に変更する。このように、再開すべき周辺装置150の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
ステップS660において、コンピュータシステム100の運転を解凍する。これでシステム再開プロセスは完了する。
次に、ステップS670において「周辺装置要求性再開機能」を実行する。図4および6を参照する。ステップS650では、所定の再開ユニット121が、第1種別R1に属する周辺装置150の再開のために用いられるが、ステップS671では、インターセプトユニット122が、ユーザ空間(user space)におけるアプリケーション910からの使用要求Q1をインターセプトする。ステップS672では、要求性再開ユニット123が、この使用要求Q1に基づき、該使用要求Q1に対応している、第2種別R2に属する周辺装置150を初期化し、再開させる。
一実施例として、何らかの周辺装置150の初期化および再開動作を行う際に、該周辺装置150に付随している周辺装置150も併せて一斉に再開させてもよい。周辺装置150同士の付随関係は、予め設定してもよく、コンピュータシステム100が通常の起動プロセスを行う際に初期化ステップで構築してもよく、コンピュータシステム100がシステム一時停止プロセスを行う際に構築してもよい。
上記周辺装置150の分類は、フォアグランドプログラムとの関連性に応じて分けてもよい。或いは、別の実施例として、周辺装置150の分類は、ユーザにより設定されてもよい。
また、フェイク再開状態は、装置の元状態の変数を用いてマークアップしてもよく、別途で変数若しくはリストを生成し、登録してもよい。
図7を参照する。図7は、Linuxオペレーティングシステム環境を示す模式図である。Linuxオペレーティングシステムは、ユーザ空間(user space)USおよびカーネル空間(kernel space)KSを含む。アプリケーション(application)910およびGNU Cライブラリ(GNU C library)920は、ユーザ空間USに位置する。システム呼出インターフェース(system call interface)930、仮想ファイルシステム(virtual file system)940、インデックス・ノードキャッシュ(inode cache)950、ディレクトリキャッシュ(directory cache)960、個別ファイルシステム(individual file system)970、バッファキャッシュ(buffer cache)980、およびデバイスドライバー(device driver)990は、カーネル空間KSに位置する。Linuxオペレーティングシステム環境では、いずれの周辺装置150もファイル(file)形式で取り扱われる。アプリケーション910は、システム呼出(system call)を介して、周辺装置150とやり取りを行う。上記インターセプトユニット122は、システム呼出インターフェース930上において、例えばオープン(open)、リード(read)、ライト(write)、アイ・オー・コントロール(ioctl)システム呼出などの使用要求Q1をインターセプトすることができる。インターセプトユニット122は、使用要求Q1をインターセプトすると、周辺装置150の状態を判断する。該周辺装置150が一時停止状態またはフェイク再開状態である場合には、要求性再開ユニット123が、初期化および再開動作を行うと共に、該周辺装置150を通常の状態に変更する。これが完了すると、使用要求Q1に対する応答を行う。
図8を参照する。図8は、Linuxオペレーティングシステム環境において行われるメモリマッピングを示す模式図である。Linuxオペレーティングシステム環境では、周辺装置150に対する操作が、メモリマッピング(mmap)方式で行われてもよい。すなわち、システム一時停止プロセスを行う際は、第2種別R2の周辺装置150に対応しているメモリマッピングページ(mmaped page)710の権限を「アクセス不可」に設定してもよい。システム再開プロセスの完了後は、アプリケーション910がメモリマッピングのアドレス空間を利用して当該周辺装置150を操作すると、ページフォルト(page fault)PGによる中断が発生する。そこで、ページエラー処理プログラム(page fault handler)720が周辺装置150の状態を判断し、該周辺装置150が一時停止状態またはフェイク再開状態である場合には、要求性再開ユニット123が初期化および再開動作を行うと共に、該周辺装置150を通常の状態に変更する。これが完了すると、アプリケーション910からの使用要求Q1に対する応答を行う。
上述した実施例によれば、「要求に基づいて周辺装置を再開させる機能」は、すぐに再開(resume)すべき周辺装置のみを再開させるが、すぐに再開すべきでない周辺装置を一時停止状態、または、再開の成功を偽るフェイク再開(fake resumed)状態に保持しつつ、当該周辺装置にシステム再開プロセスを回避させる(bypass)。そして、システム再開プロセスの完了後は、アプリケーションが一時停止状態またはフェイク再開状態の周辺装置に対して使用を要求したときに、一時停止状態またはフェイク再開状態の周辺装置の再開動作を行う。このように、システム再開プロセスは、再開すべき周辺装置の数を減らすことにより、システム再開プロセスの実行時間を短縮させ、ひいては起動速度を向上させることができる。
以上は、好ましい実施例を通して本発明を説明したが、本発明はこれに限定されるものではない。また、当業者は、本発明の精神および範囲を逸脱しない範囲で様々な変更および改修を成し得る。したがって、本発明の保護範囲は、添付される特許請求の範囲により定義されるべきである。
100 コンピュータシステム
110 中央処理装置
120 電源管理インターフェース
121 所定の再開ユニット
122 インターセプトユニット
123 要求性再開ユニット
130 メモリ
140 外部記憶装置
150 周辺装置
710 メモリマッピングページ
720 ページエラー処理プログラム
910 アプリケーション
920 GNU Cライブラリ
930 システム呼出インターフェース
940 仮想ファイルシステム
950 インデックス・ノードキャッシュ
960 ディレクトリキャッシュ
970 個別ファイルシステム
980 バッファキャッシュ
990 デバイスドライバー
KS カーネル空間
Q1 使用要求
R1 第1種別
R2 第2種別
S210、S220、S230、S240、S250、S310、S320、S330、S340、S350、S360、S370、S380、S381、S382、S510、S520、S530、S540、S550、S610、S620、S630、S640、S650、S660、S670、S671、S672 ステップ
US ユーザ空間

Claims (11)

  1. 複数の周辺装置と中央処理装置とを含むコンピュータシステムを待機状態(S3)または休眠状態(S4)に移行させるシステム一時停止方法であって、
    前記コンピュータシステムの運転を凍結する(freeze)ステップと、
    第1種別および第2種別として分類される前記周辺装置を一時停止する(suspend)ステップと、
    前記中央処理装置の電力をオフにするステップと、を含み、
    前記第1種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときに全て再開し(resume)、
    前記第2種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、システム一時停止方法。
  2. 前記周辺装置とオペレーティングシステムとの接続が維持されており、
    前記第1種別に属す前記周辺装置は、少なくとも1つのフォアグランドプログラムに関連しており、
    前記第1種別に属す前記周辺装置に所定のタグが付与されており、または、前記第1種別に属す前記周辺装置が所定のリスト中に記録されている、請求項1に記載のシステム一時停止方法。
  3. 前記システム一時停止方法は、前記コンピュータシステムを前記休眠状態(S4)に移行させるものであり、
    前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
    前記システム一時停止方法は、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶するステップをさらに含む、請求項1に記載のシステム一時停止方法。
  4. 第1種別および第2種別として分類される複数の周辺装置と中央処理装置とを含むコンピュータシステムを、待機状態(S3)または休眠状態(S4)から起動状態(S0)へ再開させるシステム再開方法であって、
    前記中央処理装置の電力をオンにするステップと、
    前記第1種別に属す前記周辺装置のみを再開させる(resume)ステップと、
    前記コンピュータシステムの運転を解凍する(thaw)ステップと、を含むシステム再開方法。
  5. 前記第2種別に属す前記周辺装置は、フェイク再開(fake resumed)状態に設定されており、
    前記第1種別に属す前記周辺装置は、少なくとも1つのフォアグランドプログラムに関連しており、
    前記第1種別に属す前記周辺装置に所定のタグが付与されており、または、前記第1種別に属す前記周辺装置が所定のリスト中に記録されている、請求項4に記載のシステム再開方法。
  6. 使用要求をインターセプトするステップと、
    前記使用要求に基づき、該使用要求に対応する、前記第2種別に属す前記周辺装置を再開させるステップと、
    をさらに含む請求項4に記載のシステム再開方法。
  7. コンピュータシステムであって、
    複数の周辺装置と、
    前記周辺装置を制御する中央処理装置と、
    前記コンピュータシステムを待機状態(S3)または休眠状態(S4)に移行させるシステム一時停止プロセスを実行する電源管理インターフェースと、を含み、
    前記システム一時停止プロセスにおいて、前記電源管理インターフェースが、前記コンピュータシステムの運転を凍結し(freeze)、前記周辺装置を一時停止する(suspend)と共に前記中央処理装置の電力をオフにし、
    前記電源管理インターフェースは、前記周辺装置を第1種別および第2種別として分類し、
    前記第1種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときにすべて再開し(resume)、
    前記第2種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、コンピュータシステム。
  8. 前記システム一時停止プロセスにおいて、
    前記電源管理インターフェースが、前記周辺装置とオペレーティングシステムとの接続を維持し、前記第1種別に属す前記周辺装置が少なくとも1つのフォアグランドプログラムに関連しており、前記電源管理インターフェースが前記第1種別に属す前記周辺装置に所定のタグを付与し、または、前記電源管理インターフェースが前記第1種別に属す前記周辺装置を所定のリスト中に記録する、請求項7に記載のコンピュータシステム。
  9. 前記システム一時停止プロセスは、前記コンピュータシステムを前記休眠状態(S4)に移行させるものであり、
    前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
    前記システム一時停止プロセスにおいて、さらに前記電源管理インターフェースが、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶する、請求項7に記載のコンピュータシステム。
  10. 前記システム再開プロセスは、前記コンピュータシステムを前記待機状態(S3)または前記休眠状態(S4)から起動状態(S0)へ再開させるものであり、
    前記システム再開プロセスにおいて、前記電源管理インターフェースが、前記中央処理装置の電力をオンにし、前記第1種別に属す前記周辺装置のみを再開させる(resume)と共に、前記コンピュータシステムの運転を解凍する(thaw)、請求項7に記載のコンピュータシステム。
  11. 前記システム再開プロセスにおいて、前記電源管理インターフェースが、
    前記第2種別に属す前記周辺装置をフェイク再開(fake resumed)状態に設定し、さらに、
    使用要求をインターセプトし、前記使用要求に基づき、該使用要求に対応する、前記第2種別に属す前記周辺装置を再開させる、請求項10に記載のコンピュータシステム。
JP2015256482A 2015-12-01 2015-12-28 システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステム Active JP6105038B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW104140194A TWI569129B (zh) 2015-12-01 2015-12-01 系統暫停方法、系統回復方法及應用其之電腦系統
TW104140194 2015-12-01

Publications (2)

Publication Number Publication Date
JP6105038B1 JP6105038B1 (ja) 2017-03-29
JP2017102881A true JP2017102881A (ja) 2017-06-08

Family

ID=58608158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015256482A Active JP6105038B1 (ja) 2015-12-01 2015-12-28 システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステム

Country Status (4)

Country Link
US (1) US9785448B2 (ja)
JP (1) JP6105038B1 (ja)
CN (1) CN106815008B (ja)
TW (1) TWI569129B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230090567A1 (en) * 2021-09-23 2023-03-23 Advanced Micro Devices, Inc. Device and method for two-stage transitioning between reduced power states

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132393A (ja) * 2000-08-18 2002-05-10 Fujitsu Ltd 情報機器、情報機器の制御方法及び制御方法のプログラム
JP2004164545A (ja) * 2002-11-12 2004-06-10 Shinki Kagi Kofun Yugenkoshi コンピューターシステムのアプリケーションの即時ブート、切り換えのシステムと方法
JP2014157490A (ja) * 2013-02-15 2014-08-28 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815731A (en) 1996-10-31 1998-09-29 International Business Machines Corporation Method and system for providing device driver configurations on demand
US6157979A (en) 1998-03-14 2000-12-05 Advanced Technology Materials, Inc. Programmable controlling device with non-volatile ferroelectric state-machines for restarting processor when power is restored with execution states retained in said non-volatile state-machines on power down
TW514796B (en) 1999-10-15 2002-12-21 Inventec Corp Device and method providing recovery function for operating system
KR100505638B1 (ko) 2002-08-28 2005-08-03 삼성전자주식회사 워킹 콘텍스트 저장 및 복구 장치 및 방법
US7206974B2 (en) 2003-04-30 2007-04-17 Microsoft Corporation System and method for monitoring and reporting events between peripheral device and host system applications
US7380148B2 (en) * 2004-02-19 2008-05-27 Dell Products L.P. System and method for information handling system multimedia mode boot optimization
JP4709605B2 (ja) 2004-07-27 2011-06-22 ハイデルベルガー ドルツクマシーネン アクチエンゲゼルシヤフト 被印刷体からなる枚葉紙を処理する機械
US20060053325A1 (en) 2004-09-03 2006-03-09 Chary Ram V Storing system information in a low-latency persistent memory device upon transition to a lower-power state
US7600105B2 (en) 2004-09-22 2009-10-06 Cyberlink Corp. Systems, methods, and apparatus for providing efficient startup to computers with peripheral devices
US7480790B2 (en) * 2005-07-29 2009-01-20 Hewlett-Packard Development Company, L.P. Sleep state resume
US7409537B2 (en) 2005-10-06 2008-08-05 Microsoft Corporation Fast booting an operating system from an off state
US7594073B2 (en) 2006-09-29 2009-09-22 Intel Corporation Method and apparatus for caching memory content on a computing system to facilitate instant-on resuming from a hibernation state
US7774525B2 (en) * 2007-03-13 2010-08-10 Dell Products L.P. Zoned initialization of a solid state drive
US8719610B2 (en) 2008-09-23 2014-05-06 Qualcomm Incorporated Low power electronic system architecture using non-volatile magnetic memory
US8417928B2 (en) 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
CN101515239A (zh) 2009-04-08 2009-08-26 南京航空航天大学 X86飞控计算机快速启动方法
JP4970560B2 (ja) * 2010-01-23 2012-07-11 レノボ・シンガポール・プライベート・リミテッド 特定の機能を維持しながら消費電力を低減するコンピュータ
CN101916201B (zh) * 2010-08-06 2015-05-27 中兴通讯股份有限公司 一种基于Android移动终端冷启动的方法和装置
EP2761465B1 (en) 2011-09-30 2022-02-09 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US9829951B2 (en) 2011-12-13 2017-11-28 Intel Corporation Enhanced system sleep state support in servers using non-volatile random access memory
US9047201B2 (en) * 2011-12-25 2015-06-02 Synology Incorporated Method for waking up a plurality of hibernated mass storage devices
CN103777973A (zh) 2012-10-24 2014-05-07 英业达科技有限公司 电脑装置及其唤醒方法
TWI510903B (zh) * 2012-11-19 2015-12-01 Wistron Corp 電腦系統及資料回復方法
TWI486875B (zh) * 2012-12-28 2015-06-01 Mstar Semiconductor Inc 電子裝置休眠回復設定方法以及具有休眠狀態以及休眠回復機制的電子裝置
US9317105B2 (en) * 2013-01-09 2016-04-19 Htc Corporation Method for performing application wake-up management for a portable device by classifying one application wake-up event of a plurality of application wake-up events as a triggering event for the other application wake-up events
WO2014141140A1 (en) * 2013-03-14 2014-09-18 Lsi Corporation Device power control
US20140310552A1 (en) * 2013-04-15 2014-10-16 Advanced Micro Devices, Inc. Reduced-power sleep state s3
TWI610239B (zh) * 2013-12-27 2018-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置
CN104636169B (zh) * 2015-02-15 2018-01-19 广东欧珀移动通信有限公司 一种系统唤醒方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132393A (ja) * 2000-08-18 2002-05-10 Fujitsu Ltd 情報機器、情報機器の制御方法及び制御方法のプログラム
JP2004164545A (ja) * 2002-11-12 2004-06-10 Shinki Kagi Kofun Yugenkoshi コンピューターシステムのアプリケーションの即時ブート、切り換えのシステムと方法
JP2014157490A (ja) * 2013-02-15 2014-08-28 Sony Corp 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP6105038B1 (ja) 2017-03-29
US20170153902A1 (en) 2017-06-01
TWI569129B (zh) 2017-02-01
US9785448B2 (en) 2017-10-10
CN106815008A (zh) 2017-06-09
CN106815008B (zh) 2021-01-22
TW201721348A (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
TWI407300B (zh) 電源管理控制器與方法
JP4205560B2 (ja) ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善
EP3161622B1 (en) Accelerating boot time zeroing of memory based on non-volatile memory (nvm) technology
US12019544B2 (en) Memory mapping for hibernation
JP2004295885A (ja) メイン・メモリの動的再割当てが可能なコンピュータ・システム
US10339021B2 (en) Method and apparatus for operating hybrid storage devices
US20200042357A1 (en) Os/hypervisor-based persistent memory
TW201525869A (zh) 用於雙作業系統記憶體切換的系統及方法
US10564986B2 (en) Methods and apparatus to suspend and resume computing systems
JPH04362716A (ja) システム再起動装置
CN103543815A (zh) 信息处理设备和信息处理方法
US12020050B2 (en) Processor feature ID response for virtualization
JP2002099502A (ja) コンピュータシステムおよびデータ転送制御方法
US20160055030A1 (en) Information processing device, information processing method, and computer program product
WO2019041903A1 (zh) 一种基于非易失存储的计算装置及其使用方法
JP6105038B1 (ja) システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステム
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
CN112486870A (zh) 计算机系统及计算机系统控制方法
US20200133562A1 (en) Information processing device, controlling method and program
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
US9798479B2 (en) Relocatable and resizable tables in a computing device
JP2002132591A (ja) メモリ制御装置およびメモリ制御方法
JPH11282791A (ja) Pciデバイスのコンフィギュレーションレジスタの変更・設定方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

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: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170301

R150 Certificate of patent or registration of utility model

Ref document number: 6105038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250