JP2010157017A - 情報処理装置の制御方法 - Google Patents
情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP2010157017A JP2010157017A JP2008333539A JP2008333539A JP2010157017A JP 2010157017 A JP2010157017 A JP 2010157017A JP 2008333539 A JP2008333539 A JP 2008333539A JP 2008333539 A JP2008333539 A JP 2008333539A JP 2010157017 A JP2010157017 A JP 2010157017A
- Authority
- JP
- Japan
- Prior art keywords
- initialization
- information processing
- processing apparatus
- control method
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】レジューム処理に要する時間を短縮する情報処理装置の制御方法を提供する。
【解決手段】ハイバネーション機能を有し、デバイス及びCPU系列非依存部分と、CPU系列依存部分とで構成されたOSで制御される情報処理装置におけるハイバネーション制御方法であって、デバイス及びCPU系列非依存のOSにおける処理が、サブシステムの初期化後に、OSが直接に電源管理するデバイスドライバ及びサスペンドイメージを格納する記憶装置のデバイスドライバの初期化を実行し、サスペンドイメージの復元を実行し、設定を必要とするデバイスについてレジューム処理を実行する。
【選択図】図6
【解決手段】ハイバネーション機能を有し、デバイス及びCPU系列非依存部分と、CPU系列依存部分とで構成されたOSで制御される情報処理装置におけるハイバネーション制御方法であって、デバイス及びCPU系列非依存のOSにおける処理が、サブシステムの初期化後に、OSが直接に電源管理するデバイスドライバ及びサスペンドイメージを格納する記憶装置のデバイスドライバの初期化を実行し、サスペンドイメージの復元を実行し、設定を必要とするデバイスについてレジューム処理を実行する。
【選択図】図6
Description
本発明は、ハイバネーション機能を有する情報処理装置の制御方法に関する。
情報処理装置などを始め、消費電力を抑えるためにレジューム機能を搭載する機器が増えている。中でもハイバネーションは不揮発記憶領域にサスペンドイメージを保存するために待機電流を必要としないので、省電力性能はもっとも優れている。しかしながら、その復帰には、情報処理装置に搭載されているデバイスの初期化、メモリの復元が必要になり、通常状態への復帰に時間がかかるという問題点があった。
近年、機器の複雑化により多彩なデバイスが搭載されるようになった。このためハイバネーションからの復帰の中でも、特にデバイスの初期化に必要となる時間が増える傾向にある。
ハイバネーションの復帰におけるデバイスの初期化時間の短縮を図るものが提案されている(例えば、特許文献1参照。)。これは、サスペンドが指示された時、アプリケーションを再起動し、ハードウェアの初期化以外の初期化を実行した後にサスペンドイメージを保存することにより、ハードウェアの初期化の重複を避けレジュームの復帰の時間を短縮するものである。
特開2008-152708号公報
近年、CPU(Central Processing Unit)系列や、デバイスが異なる多種多様な装置に、複雑な制御を組込む傾向にある。これらに柔軟に対応するために、CPU系列や、デバイスの依存部分、非依存部分を明確に分けたOS(オペレーティング・システム)を組込みに適用する事例が増えている。
しかしながら、上記した特許文献1記載の技術では、サスペンド時に処理を必要とし、サスペンド時間が長くかかるという問題点があった。また、CPU系列や、デバイスの依存部分、非依存部分を明確に分けたOSには、十分対応出来ていなかった。
そこで、本発明は、上記問題に鑑みてなされたもので、CPU系列やデバイス非依存のOS処理部で処理することができ、レジューム処理に要する時間を短縮する情報処理装置の制御方法を提供することを目的とする。
本発明の一態様によれば、ハイバネーション機能を有し、デバイス及びCPU系列非依存部分と、CPU系列依存部分とで構成されたOS(オペレーティング・システム)で制御される情報処理装置の制御方法であって、デバイス及びCPU系列非依存の前記OSにおける処理が、サブシステムの初期化後に、前記OSが直接に電源管理するデバイスドライバ及びサスペンドイメージを格納する記憶装置のデバイスドライバの初期化を実行し、前記サスペンドイメージの復元を実行し、設定を必要とするデバイスについてレジューム処理を実行することを特徴とする情報処理装置の制御方法が提供される。
本発明によれば、サスペンド前のカーネルの起動時の初期化データを利用するので、レジューム処理に要する時間を短縮することができる。
以下、本発明の実施の形態について図面を参照しながら説明する。各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
図1は、本発明の実施形態に係る情報処理装置の概略構成を示すブロック図である。図1に示すように、情報処理装置は、PC100、CPU101、メモリ102、入力装置103、表示装置104、記憶装置105、内部バス106および電源部107を備えている。
PC100は、例えば、ハイバネーション機能を有したPCである。すなわち、PCの電源を切る直前の状態を保存し、次に電源を入れたときに電源を切る前の状態から作業を再開することができる。
CPU101は、PC100が内蔵するCPUであり、PC100の全体の制御も司る。
メモリ102は、揮発性半導体メモリから構成されるメモリ装置である。メモリ102には、CPU101が処理するプログラムや一時データが格納される。
入力装置103は、例えばキーボードやマウス、タッチパッドである。PC100に備えられており、コマンド等ユーザの指示を入力するのに利用される。
表示装置104は、例えばPC100が内蔵するLCDディスプレイである。
記憶装置105は、PC100が内蔵するHDD装置あるいはSSD装置である。CPU101が処理するプログラムはあらかじめ記憶装置105に格納される。また、ハイバネーションする場合、記憶装置105にメモリ等のデータを保存する場所としても使用される。
内部バス106は、PC100内の各構成ユニットを接続し、データの交換を行うためのバスである。各構成ユニットは内部バス106を介してデータの授受を実現する。
電源部107は、PC100に内蔵する各構成部分に電力を供給する。また、必要に応じて構成部分毎に電力を供給したり遮断したりすることができる。たとえば、サスペンドに移行した時にはメモリ102に電力を供給したままにするが、他の構成部分の電力は遮断する場合が考えられる。
本実施形態では、CPU系列の依存性のなく、かつ、各種デバイスに柔軟に対応可能なOSであるLinux(登録商標)を例にとって、ハイバネーション制御を適用するものである。一般に、OSは、少なくとも、(1)周辺機器を管理するデバイスドライバ、(2)メモリの管理、(3)ファイルシステムの管理の機能を備える。係るOSの中核となる基本的な機能を担う部分がOSのカーネル(Kernel)であり、コンピュータのどの部分にでもアクセスできるカーネル・モード(Kernel Mode)で動作する。
コンピュータで稼働しているソフトウェアの機能は、レイヤ(層)構成で見ることができる。図2は、本実施形態に係るハイバネーション制御が実装される情報処理装置のレイヤ構成を示す図である。図2に示すように、このレイヤ構成は、アプリケーションレイヤと、OSレイヤと、デバイスドライバレイヤと、ハードウェアレイヤとから成っている。
アプリケーションレイヤは、最上位のレイヤであって、OSの上位レイヤのソフトウェア群である。
OSレイヤは、アプリケーションレイヤの下位に位置するレイヤであって、ハードウェアの制御をはじめ、タスク(仕事)やファイルシステムの管理、ネットワークへの接続など、システムの基幹的な機能を担う。OSカーネルが稼働している下位レイヤはカーネル空間やカーネル・モードと呼ばれるものである。係るOSカーネルとしては、例えば、Linux(登録商標)カーネルが相当する。このLinux(登録商標)カーネルに代表されるOSは、各種CPU系列、デバイスに柔軟に対応できるようになっている。すなわち、デバイスおよびCPU系列非依存部とCPU系列依存部とに実装が分かれている。本実施形態に係るハイバネーション制御は、デバイス、CPU系列非依存部に実装される。
デバイスドライバレイヤは、OSのCPU系列依存部、ハードウェア制御のためのデバイスドライバと、ハードウェアの無いクラスドライバやミドルウェアドライバとに大別される。
ハードウェアレイヤは、CPUのレジスタやメモリ管理部、レジュームに必要なハードウェア、その他ハードウェアと成っている。レジュームに必要なハードウェアには、例えば、サスペンドイメージが格納される不揮発記憶装置が該当する。ここで、サスペンドイメージとは、サスペンドの際に、待避するデータの全体を指す。その他ハードウェアは、例えば、USBメモリ、マウス、キーボード等が該当し、OSが直接に電源の管理を行っていないハードウェアである。
従来は、レジューム後、制御可能になるように、それぞれ初期化されていた。本実施形態に係るレジューム処理について分かり易くするため、ここで、従来のレジューム処理の流れを図3により、簡単に説明する。
図3に示すように、まず、Boot Loaderの処理、カーネルメモリ展開、カーネル起動を実行する(ステップS301)。次いでページテーブル、マシン依存部、タイマ、スケジューラ、割込みテーブルの初期化を実行する(ステップS302)。次いで、プロセス生成のためのCPU設定を実行する(ステップS303)。その後、サブシステム(バス等)の初期化を実行する(ステップS304)。続いて、ファイルシステムのマウントを実行(ステップS305)し、ルートファイルシステムを初期化し(ステップS306)、デバイスドライバを初期化し(ステップS307)、I/Oスケジューラを初期化する(ステップS308)。その後、レジューム処理を実行する(ステップS309)。
ここでの、レジューム処理としては、プロセススケジューリングの停止、デバイスの休止、サスペンドイメージをメモリに展開、CPUの各レジスタをサスペンド前の状態に復元、デバイスの各レジスタをサスペンド前の状態に復元、サスペンドイメージをメモリに展開、プロセススケジューリングの再開が順次実行される。レジューム処理実行後、サスペンド前のプロセスの再開(ステップS310)を行っている。
これに対して、以下に本実施形態におけるレジューム処理の流れを図4にしたがって説明する。図4に示すように、まず、Boot Loaderの処理、カーネルメモリ展開、カーネル起動を実行する(ステップS401)。次いでページテーブル、マシン依存部、タイマ、スケジューラ、割込みテーブルの初期化を実行する(ステップS402)。次いで、プロセス生成のためのCPU設定を実行する(ステップS403)。その後、サブシステム(バス等)の初期化を実行する(ステップS404)。
基本的には、ここまでの流れは従前と同じである。その後、カーネルが直接電源管理するデバイスドライバ及びサスペンドイメージ読込みに必要なデバイスドライバの初期化を実行(ステップS405)し、I/Oスケジューラを初期化する(ステップS406)。その後、レジューム処理を実行する(ステップS407)。
ここでの、レジューム処理としては、プロセススケジューリングの停止、デバイスの休止、サスペンドイメージをメモリに展開、CPUの各レジスタをサスペンド前の状態に復元、デバイスの各レジスタをサスペンド前の状態に復元、サスペンドイメージをメモリに展開、プロセススケジューリングの再開が順次実行される。レジューム処理実行後、サスペンド前のプロセスの再開(ステップS408)を行う。
デバイスドライバレイヤが管理するハードウェアのうち、レジュームに必要なハードウェア、すなわちOSの起動に必要なものあるいはサスペンドイメージを保存する不揮発記憶装置等のデバイスは、レジューム時においても初期化が必要である。
一方、その他のハードウェアも初期化が必要であるが、レジューム時にすぐに初期化が必要ではない。
そこで、サスペンド前の処理の再開後に並行して初期化されるように実装される。そして、特段、管理するハードウェアを持たないデバイスドライバは、サスペンドイメージに保存されたメモリの情報を、レジューム後にそのまま使うことにより、初期化の必要がないように実装される。
本実施形態では、ファイルシステムマウント、ルートファイルシステム初期化、及び上記以外のデバイスドライバの初期化は、復元されたサスペンドイメージの中の、サスペンド前のカーネルの起動時の初期化データを使用するので実行しないのである。
図5は、Linux(登録商標)カーネルにおける初期化処理の手順において、レジューム処理開始のタイミングを説明する図である。Linux(登録商標)カーネルにおける初期化処理は、Linux INIT_CALLルーチンで実行される。また、図6はinitcallの種類と、優先度を表わすレベル、処理内容をそれぞれ表にしたものである。
図6に示すように、pure_initcallは、初期化処理の先頭のセクションで実行するもので、レベル0である。core_initcallコンソールやカーネルなどの初期化セクションで実行するもので、レベル1である。postcore_initcallは、ハードウェアやPM等固有の初期化セクションで実行するもので、レベル2である。arch_initcallは、ハードウェアやPM等の固有の初期化セクションで実行するもので、レベル3である。subsys_initcallは、バス等のサブシステムの初期化セクションで実行するもので、レベル4である。fs_initcallは、ファイルシステムの初期化セクションで実行するもので、レベル5である。rootfs_initcallは、ルートファイルシステムの初期化セクションで実行するもので、レベルRootfsである。device_initcallは、デバイスドライバの初期化セクションで実行するもので、レベル6である。late_initcallは、初期化処理の最後のセクションで実行するもので、レベル7である。尚、レベル1S、レベル2S、レベル3S、レベル4S、レベル5S、レベル6S、レベル7Sは、各レベルの終了を同期として実行するものである。 図5に示すように、実行の優先度の最も高いレベル0から、レベル3Sまで順次実行する。続いて、レベル4において、I/Oスケジューラや一部デバイスの初期化を実行する。すなわち、これらの初期化処理の優先度をあげている。続いて、レベル4Sのサブシステム(例えば、バス等)の初期化(subsys_initcall_sync)の直後において、サスペンドイメージを復元する。このレベル(優先度)での復元の結果、各デバイスを初期化したときのサスペンドイメージは、既に保持していることになる。そのため、本実施形態のカーネルの初期化処理では、レベル5乃至レベル7までの手順は、実行しないのである。すなわち、サスペンドイメージの復元後は、装置のメモリにのみデータが存在するデバイスを管理するミドルウェアドライバやクラスドライバ及びファイルシステムなどの初期化は実行しない。一方、レジューム処理に直接必要としないデバイスの初期化は、レジューム完了後に実行する。
本実施形態によれば、レジューム処理に必要な最小限度のハードウェア、例えば、カーネルが直接電源管理するデバイス、サスペンドイメージを記憶するデバイス、I/Oスケジューラなどの初期化のみをレジューム処理の前に実行するので、レジューム処理に要する時間を短縮することができる。
なお、本発明は上記の実施形態のそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101・・・CPU、102・・・メモリ、103・・・入力装置、104・・・表示装置、105・・・記憶装置、106・・・内部バス、107・・・電源部、100・・・PC。
Claims (7)
- ハイバネーション機能を有し、デバイス及びCPU系列非依存部分と、CPU系列依存部分とで構成されたOS(オペレーティング・システム)で制御される情報処理装置における制御方法であって、
デバイス及びCPU系列非依存の前記OSにおける処理が、サブシステムの初期化後に、
前記OSが直接に電源管理するデバイスドライバ及びサスペンドイメージを格納する記憶装置のデバイスドライバの初期化を実行し、
前記サスペンドイメージの復元を実行し、
設定を必要とするデバイスについてレジューム処理を実行することを特徴とする情報処理装置の制御方法。 - 前記サスペンドイメージの復元の実行を、ミドルウェアレイヤより上位のレイヤに位置するデバイスやクラスドライバの初期化よりも早いタイミングで行うことを特徴とする請求項1記載の情報処理装置の制御方法。
- 前記サブシステムは、バスであることを特徴とする請求項1または請求項2記載の情報処理装置の制御方法。
- ハードウェアの設定を必要としないデバイス、ファイルシステム、ルートファイルシステムは初期化処理を行わず、前記サスペンドイメージから復元したデータを適用することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置の制御方法。
- 前記OSが直接に電源管理するデバイスは、オンボードデバイスまたはバスであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置の制御方法。
- 前記OSがI/Oスケジュール機能を有する場合には、
前記サスペンドイメージの復元を実行する前に、前記I/Oスケジューラの初期化を実行することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置の制御方法。 - 前記OSは、Linux(登録商標)であることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008333539A JP2010157017A (ja) | 2008-12-26 | 2008-12-26 | 情報処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008333539A JP2010157017A (ja) | 2008-12-26 | 2008-12-26 | 情報処理装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010157017A true JP2010157017A (ja) | 2010-07-15 |
Family
ID=42574929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008333539A Pending JP2010157017A (ja) | 2008-12-26 | 2008-12-26 | 情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010157017A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252576A (ja) * | 2011-06-03 | 2012-12-20 | Canon Inc | 情報処理装置、起動方法およびプログラム |
JP2013080283A (ja) * | 2011-09-30 | 2013-05-02 | Casio Electronics Co Ltd | 印刷装置 |
CN104298516A (zh) * | 2013-07-18 | 2015-01-21 | 京瓷办公信息系统株式会社 | 电子设备以及挂起控制方法 |
-
2008
- 2008-12-26 JP JP2008333539A patent/JP2010157017A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252576A (ja) * | 2011-06-03 | 2012-12-20 | Canon Inc | 情報処理装置、起動方法およびプログラム |
JP2013080283A (ja) * | 2011-09-30 | 2013-05-02 | Casio Electronics Co Ltd | 印刷装置 |
CN104298516A (zh) * | 2013-07-18 | 2015-01-21 | 京瓷办公信息系统株式会社 | 电子设备以及挂起控制方法 |
CN104298516B (zh) * | 2013-07-18 | 2017-12-08 | 京瓷办公信息系统株式会社 | 电子设备以及挂起控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2495655B1 (en) | Method for switching operating system and electronic apparatus using the same | |
JP5119686B2 (ja) | 情報処理装置および設定方法 | |
US10754558B2 (en) | Vehicular device | |
JP5229326B2 (ja) | マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム | |
TWI436199B (zh) | 電源管理控制器與方法 | |
TWI467490B (zh) | 包括複數個處理器之系統以及操作該系統之方法 | |
US20060085794A1 (en) | Information processing system, information processing method, and program | |
JP3777136B2 (ja) | コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法 | |
KR101680109B1 (ko) | 복수 코어 장치 및 그의 로드 조정 방법 | |
EP2169514B1 (en) | Methods and systems to perform a computer task in a reduced power consumption state | |
JP2008225639A (ja) | 低消費電力ジョブ管理方法及び計算機システム | |
JP2007206885A (ja) | コンピュータシステム及びシステム起動方法 | |
US20120036383A1 (en) | Power supply for networked host computers and control method thereof | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
JP2002099436A (ja) | コンピュータシステムおよびそのレジューム処理方法 | |
JPH11202988A (ja) | システム消費電力制御方法 | |
JP2015102889A (ja) | ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム | |
JP7002358B2 (ja) | 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム | |
JP2011164971A (ja) | Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム | |
US7853826B2 (en) | Operating system transfer and launch without performing post | |
JP4846553B2 (ja) | レジューム方法、プログラムおよび情報処理装置 | |
JP2002132741A (ja) | プロセッサ追加方法、計算機及び記録媒体 | |
JP2012155534A (ja) | 電子機器及びその制御方法、並びにプログラム | |
JP2010157017A (ja) | 情報処理装置の制御方法 | |
KR100994723B1 (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 |