JPH0944417A - 情報処理システム及びその制御方法 - Google Patents

情報処理システム及びその制御方法

Info

Publication number
JPH0944417A
JPH0944417A JP7185165A JP18516595A JPH0944417A JP H0944417 A JPH0944417 A JP H0944417A JP 7185165 A JP7185165 A JP 7185165A JP 18516595 A JP18516595 A JP 18516595A JP H0944417 A JPH0944417 A JP H0944417A
Authority
JP
Japan
Prior art keywords
memory
data
storage device
processing system
auxiliary storage
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
Application number
JP7185165A
Other languages
English (en)
Inventor
Susumu Shimotono
遠 野 享 下
Tomohiro Miyahira
平 知 博 宮
Teruhiro Nakao
尾 彰 宏 中
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP7185165A priority Critical patent/JPH0944417A/ja
Publication of JPH0944417A publication Critical patent/JPH0944417A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パワー・マネージメント動作及びパワー・マ
ネージメントからの復帰動作をより高速に実行すること
ができる情報処理システム及びその制御方法を提供す
る。 【解決の手段】 プロセッサと、揮発性のメモリと、不
揮発性の補助記憶装置とを含み、前記メモリの内容を前
記補助記憶装置に格納した後に所定の電気回路への給電
を停止するタイプの情報処理システムにおいて、さら
に、前記メモリ内の各領域が前記メモリに常駐すべきコ
ードやデータを格納したメモリ常駐データ領域か又は前
記補助記憶装置との間で適宜入れ替え可能なコードやデ
ータを格納したメモリ非常駐データ領域かを管理するメ
モリ使用情報管理手段を含み、給電停止の際には、前記
メモリ使用情報管理手段に従って、前記メモリのうちメ
モリ非常駐データ領域の内容を先に、メモリ常駐データ
領域の内容を後から前記補助記憶装置に格納することを
特徴とする情報処理システムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーソナル・コン
ピュータを始めとする情報処理システム及びその制御方
法に係り、特に、システムの使用状況が低下したときな
どに内部の各電気回路に対する電力供給を適宜低下若し
くは停止させる節電動作(「パワー・マネージメント」
ともいう)機能を備えた情報処理システム及びその制御
方法に関する。更に詳しくは、本発明は、パワー・マネ
ージメント動作及びパワー・マネージメント・モードか
らの復帰動作をより高速に実行することができる情報処
理システム及びその制御方法に関する。
【0002】
【従来の技術】昨今の技術革新に伴い、デスクトップ
型、ノートブック型など各種パーソナル・コンピュータ
(以下、「PC」又は「システム」ともいう)が開発さ
れ市販されている。このうち、ノートブック型のPC
は、屋外での携帯的・可搬的な使用を考量して小型且つ
軽量に設計・製作されたものである。日本アイ・ビー・
エム(株)が市販するものを含む殆どのノートブックP
Cは、内部にシステム・ボードや周辺デバイス類を収容
し且つ上面部にキーボードを配設してなる本体と、内側
略中央にLCDパネルが埋設された蓋体とを含み、該本
体と該蓋体とが略後縁部にて開閉可能にヒンジ結合して
なる構造体である。ユーザは、使用時には蓋体を開き、
未使用時や携帯時には蓋体を閉じるようになっている。
【0003】ノートブック型PCの1つの特徴は、内蔵
したバッテリでも駆動できる「バッテリ駆動型」である
点である。これは、商用電源が届かない場所でも使用で
きるようにしたためである。ノートブックPCが内蔵す
るバッテリは、一般には、Ni−Cd,NiMH,Li
−Ionなどの充電式のバッテリ・セルを複数本接続し
てパッケージ化した「バッテリ・パック」の形態を採っ
ている。このようなバッテリ・パックは、充電により再
利用可能ではあるが、1回当りの充電容量はシステムの
オペレーション時間にして精々2〜3時間程度に過ぎな
い。バッテリ・ライフを少しでも長時間化するべく、節
電のための種々の工夫が凝らされている点も、ノートブ
ックPCの特徴の1つといえよう。
【0004】また、最近では、商用電源によって無尽蔵
に給電可能なデスクトップ型PCに対しても、エコロジ
ー的な観点から、省電力の要求が高まってきている。米
環境保護庁(EPA)は、1993年6月に"Ener
gy Star Computer Program"
と呼ばれる自主規制を発表し、動作待ち状態での消費電
力が一定基準以下(駆動電力が30W以下、又はCPU
稼働時の30%以下)になることを要求している。この
ため、各コンピュータ・メーカは、競ってこの規制案に
沿った製品開発を進めている。例えば日本アイ・ビー・
エム(株)は、節電機能を備えた数機種のデスクトップ
PCを既に市販している(例えばPS/55E(通称"
GreenPC")やPC750、Aptivaシリー
ズ("Aptiva"は米IBM社の商標)など)。
【0005】PCの節電は、各々の電気回路のオペレー
ション時の消費電力自体を低減させる以外に、使用状況
が低下した電気回路(若しくはデバイス)に対して電力
供給を適宜低下若しくは遮断することによっても実現さ
れる。後者のことを、特に「パワー・マネージメント
(Power management)」と呼ぶことも
ある。
【0006】いわゆる「サスペンド(Suspen
d)」や「ハイバーネーション(Hibernatio
n)」は、パワー・マネージメントの最たる例である。
ここで、サスペンドとは、より詳しくは、タスク再開に
必要なデータ(例えばI/Oの設定状況やCPUの状態
などのハードウェア・コンテキスト情報、VRAMの内
容など)をメイン・メモリにセーブした後、メイン・メ
モリを除く殆ど全ての電気回路への給電を停止する動作
のことをいう。また、ハイバーネーションとは、ハード
ウェア・コンテキスト情報やVRAMの内容、メイン・
メモリの内容など、全ての揮発性データをHDD(ハー
ド・ディスク・ドライブ)などの不揮発性記憶装置に退
避させた後、メイン・メモリを含む殆ど全ての電気回路
への給電を停止する動作をいう。システムは、最後のユ
ーザ入力から所定時間が経過した(すなわち動作待ち状
態が所定時間以上続いた)後、あるいはユーザから所定
キー(ホット・キー)の入力があった時などに、サスペ
ンドやハイバーネーションなどのパワー・マネージメン
ト・モードに遷移する。また、パワー・マネージメント
から通常のオペレーション・モードに復帰するときは、
ほぼ逆のシーケンスによってなされる。因みに、サスペ
ンドからの復帰を「レジューム(Resume)」とい
い、ハイバーネーションからの復帰を「ウェイク・アッ
プ(Wake up)」という。
【0007】サスペンドとハイバーネーションは、タス
ク再開のためのデータをセーブした後に給電を停止する
点で類似する。但し、システム内の殆ど全ての電気回路
への給電を停止できる点で、ハイバーネーションの方が
は優れていると言えよう。(例えば本出願人に譲渡され
ている特願平05−184186号の明細書(特開平0
7−084848号公報,当社整理番号:JA9−93
−020)にはハイバーネーションに関連する技術につ
いて開示してある。また、日本アイ・ビー・エム(株)
が市販するノートブックPCであるThinkPad
750/755("ThinkPad"は米IBM社の商
標)は、ハイバーネーション機能を備えている。)
【発明が解決しようとする課題】
【0008】上述したように、システムがハイバーネー
ション・モードに突入する前には、メイン・メモリなど
の必要なデータをHDDにストアする「データ・ストア
・シーケンス」を経なければならない。また、ウェイク
・アップのときには、当然HDDに退避させておいたデ
ータをリストアする「データ・リストア・シーケンス」
を経なければならない。
【0009】従来のハイバーネーション/ウェイク・ア
ップ技術(例えば先述の特開平07−084848号公
報)によれば、データ・ストア・シーケンスでは、メイ
ン・メモリ全体のイメージをHDDにセーブし、また、
データ・リストア・シーケンスではHDDに格納してお
いたデータをメイン・メモリ全体に展開する必要があっ
た。要するに、ハイバーネーションに突入するとき、及
びウェイク・アップするときには、メイン・メモリ全体
についてそのメモリ・イメージを格納・展開するだけの
処理時間が必要であった。また、HDD上には、少なく
ともメイン・メモリと同じサイズの記憶領域(「ハイバ
ーネーション・ファイル」ともいう)を確保する必要が
あった。
【0010】メイン・メモリ全体のイメージをストア/
リストアの対象にしている以上は、ハイバーネーション
及びウェイク・アップのための処理時間や記憶領域は、
当然、メイン・メモリの容量に略比例して増大すること
になろう。特に、最近のPCでは、SIMM(Single I
nline Memory Module)カードやDIMM(Dual Inline
memory Module)カードを装着することによって容易に
メイン・メモリの容量を増大させることができる。ある
いは、CPUのパワー増大などに伴って、そもそも標準
メモリ自体の容量が膨大な場合もある。例えば32MB
や64MBの標準メモリをもつPCなども珍しくなくな
ってきている。このようなメモリの大型化の傾向に伴っ
て、ハイバーネーション及びウェイク・アップにおける
処理時間や記憶領域の問題は、ますます深刻になってき
ていると考えられる。
【0011】本発明の目的は、システムの使用状況が低
下したときに電気回路に対する電力供給を適宜低下若し
くは停止させる節電動作(「パワー・マネージメント」
ともいう)機能を備えた、優れた情報処理システム及び
その制御方法を提供することにある。
【0012】本発明の更なる目的は、パワー・マネージ
メント動作及びパワー・マネージメントからの復帰動作
をより高速に実行することができる情報処理システム及
びその制御方法を提供することにある。
【0013】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、プロセッサと、揮発性のメモリと、不揮発性の補助
記憶装置とを含み、前記メモリの内容を前記補助記憶装
置に格納した後に所定の電気回路への給電を停止するタ
イプの情報処理システムにおいて、さらに、前記メモリ
内の各領域が前記メモリに常駐すべきコードやデータを
格納したメモリ常駐データ領域か又は前記補助記憶装置
との間で適宜入れ替え可能なコードやデータを格納した
メモリ非常駐データ領域かを管理するメモリ使用情報管
理手段を含み、給電停止の際には、前記メモリ使用情報
管理手段に従って、前記メモリのうちメモリ非常駐デー
タ領域の内容を先に、メモリ常駐データ領域の内容を後
から前記補助記憶装置に格納することを特徴とする情報
処理システムである。
【0014】また、本発明の第2の側面は、第1の側面
において前記所定の電気回路への給電を再開したときに
は、メモリ常駐データを前記補助記憶装置から前記メモ
リにリストアした時点で通常のオペレーションを再開す
ることを特徴とする情報処理システムである。
【0015】また、本発明の第3の側面は、プロセッサ
と、揮発性のメモリと、不揮発性の補助記憶装置と、所
定の事象の発生に応答して前記メモリの内容を前記補助
記憶装置に格納した後に所定の電気回路への給電を停止
する電源管理手段とを含む情報処理システムにおいて、
さらに、前記メモリ内の各領域が前記メモリに常駐すべ
きコードやデータを格納したメモリ常駐データ領域か又
は前記補助記憶装置との間で適宜入れ替え可能なコード
やデータを格納したメモリ非常駐データ領域かを管理す
るメモリ使用情報管理手段を含み、前記電源管理手段
は、給電停止時においては、前記メモリ使用情報管理手
段に従って、前記メモリのうちメモリ非常駐データ領域
の内容を先に、メモリ常駐データ領域の内容を後から前
記補助記憶装置に格納することを特徴とする情報処理シ
ステムである。
【0016】また、本発明の第4の側面は、第3の側面
における前記電源管理手段が、前記所定の電気回路への
給電を再開したときには、まずメモリ常駐データを前記
補助記憶装置から前記メモリにリストアすることを特徴
とする情報処理システムである。
【0017】また、本発明の第5の側面は、所定の事象
の発生に応答して揮発性メモリの内容を不揮発性記憶装
置に格納してから節電動作モードに遷移するタイプの情
報処理システムの制御方法において、前記所定の事象の
発生を検知する第1の段階と、前記揮発性メモリの各領
域が前記メモリに常駐すべきコードやデータを格納した
メモリ常駐データ領域か又は前記補助記憶装置との間で
適宜入れ替え可能なコードやデータを格納したメモリ非
常駐データ領域かを判断する第2の段階と、前記揮発性
メモリのうちメモリ非常駐データ領域の内容を前記不揮
発性記憶装置に格納する第3の段階と、前記揮発性メモ
リのうちメモリ常駐データ領域の内容を前記不揮発性記
憶装置に格納する第4の段階と、節電動作モードに遷移
する第5の段階とを含むことを特徴とする情報処理シス
テムの制御方法である。
【0018】また、本発明の第6の側面は、第5の側面
において前記節電動作モードから復帰するときには、前
記不揮発性記憶装置に格納されたメモリ常駐データを前
記メモリにリストアした時点で通常のオペレーションを
再開することを特徴とする情報処理システムの制御方法
である。
【0019】なお、第1、第2、第3、第4、第5及び
第6の側面に係る情報処理システム又はその制御方法で
いう「メモリ常駐データ」とは、オペレーティング・シ
ステム(OS)のカーネル(Kernel)領域のうち
のいわゆる「コア(Core:中核)」の部分(例え
ば、メモリ・マネージャ、ファイル・マネージャ、スケ
ジューラなど)や、デバイス・ドライバのうちタイム・
クリティカルな処理(例えばIRQ,DMAの処理)を
行う部分、及びこれらプログラムの作業データを指す。
一方、「メモリ非常駐データ」とは、メモリ常駐データ
以外のプログラムやその作業データなどであり、例えば
アプリケーション・プログラムもこれに該当する。
【0020】また、第1、及び第3の各側面において、
所定の電気回路への給電を停止する目的は、システムの
省電力化(すなわちパワー・マネージメント)を向上さ
せることに他ならない。省電力化の具体例は、[従来の
技術]でも述べた「ハイバーネーション」である。この
場合、給電が停止される該所定の電気回路には、揮発性
のメイン・メモリを含む殆ど全てのデバイスが含まれる
ことになる。
【0021】また、第5の側面でいう「節電動作モー
ド」の一例は、ハイバーネーションである。
【0022】しかして、本発明によれば、パワー・マネ
ージメント動作及びパワー・マネージメントからの復帰
動作をより高速に実行することができる情報処理システ
ム及びその制御方法を提供することができる。
【0023】例えば、本発明の第1乃至第6の側面に係
る情報処理システム及びその制御方法によれば、ハイバ
ーネーションに遷移するときには、メイン・メモリ中の
メモリ非常駐データを前もってスワップ・アウトさせ、
次いでメモリ常駐データをHDDに格納するようになっ
ている。また、ウェイク・アップするときには、メモリ
常駐データのみをメイン・メモリにリストアすれば、シ
ステムはタスクを再開するようになっている(ここで、
データ・ストア/リストアの対象となるメモリ常駐デー
タやメモリ非常駐データは、当然有効データのみであっ
てよい。)。したがって、システムは、ハイバーネーシ
ョン・モードに突入する直前までメモリ常駐のプログラ
ム/データを用いてタスクを継続することが可能であ
り、また、最終段階のデータ・ストアに要する処理時間
は短くて済む。また、メモリ常駐データ部分のみをリス
トアすればシステムはタスクを再開できるので、高速な
ウェイク・アップを実現することができる。当業者には
既に周知なように、メモリ常駐データ部分(OSのカー
ネルやデバイス・ドライバの一部など)のサイズは、物
理メモリの容量に依らずほぼ一定である。したがって、
メモリの増設などにより物理メモリのサイズが巨大化し
ても、ほぼ一定した短い時間のうちにウェイク・アップ
を完了させることができる訳である。また、メモリ非常
駐データは、字義通り、常に物理メモリ上に存在する必
要はなく、ウェイク・アップが完了した後使用するとき
に適宜HDDからスワップ・インすればよいだけであ
る。
【0024】なお、有効データ領域か無効データ領域
か、あるいはメモリ常駐データ領域かメモリ非常駐デー
タ領域か、といったメイン・メモリ中の各領域の属性情
報(本明細書では「メモリ使用情報」ということにす
る)は、一般には、オペレーティング・システムのカー
ネルの一部である「メモリ・マネージャ」(仮想記憶機
能をサポートするメモリ・マネージャのことを特に「仮
想メモリ・マネージャ(VMM)」ともいう。)がペー
ジ単位(1ページは例えば4KB)で管理している。し
たがって、ハイバーネーション/ウェイク・アップなど
の低消費電力化オペレーションを実行するプログラム
(本明細書では「パワー・マネージャ」ということにす
る)が、VMMと同じソフトウェア階層すなわちOSの
カーネル部分に存在すれば、「メモリ使用情報」を容易
に利用することができるので、本発明の第1乃至第6の
側面は、比較的容易且つ安価に実現することができる。
【0025】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0026】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0027】A.パーソナル・コンピュータ(PC)1
00のハードウェア構成 図1には、本発明の実施に供されるパーソナル・コンピ
ュータ(PC)100のハードウェア構成を示してい
る。
【0028】PC100内において、メイン・コントロ
ーラであるCPU11が、オペレーティング・システム
(OS)の制御下で、各種プログラムを実行するように
なっている。CPU11は、データ信号線、アドレス信
号線、コントロール信号線などからなる共通信号伝送路
(「バス」ともいう)12、及び12'を介して各部と
連絡している。なお、CPU11は、例えば、米IBM
社、米Motorola社、及び米アップル社が開発し
たPowerPC 603e("PowerPC"は米I
BM社の商標)でよい。また、バス12は、CPU11
のローカル・バスであり、また、バス12'は入出力バ
スである。バス12'の例は、PCI(Peripheral Comp
onent Interconnect)バス、あるいはISA(Industri
al Standard Architecture)バスである。
【0029】メイン・メモリ13は、CPU11が実行
する各プログラム(OSやアプリケーション・プログラ
ムなど:B項参照)をロードしたり、CPU11が作業
領域として用いたりするための揮発性メモリ(RAM)
である。メイン・メモリ13には、大容量を比較的安価
で入手可能なダイナミックRAM(DRAM)が用いら
れる。メイン・メモリ13の容量は例えば32MBであ
り、96MB程度まで増設が可能である。また、メイン
・メモリ13内にコードやデータが収まりきらなくなっ
た場合には、仮想メモリ・マネージャとファイル・マネ
ージャとの協働的動作によって、補助記憶装置(後述)
との間で入れ替え(スワッピング)が行われるようにな
っている(後述)。メモリ・コントローラ14は、メイ
ン・メモリ13へのアクセス動作を制御するためのもの
である。本実施例のメモリ・コントローラ14は、ロー
カル・バス12と入出力バス12'を接続するためのバ
ス・ブリッジとともに1チップ化されている。ROM1
5は、製造時に書き込みデータが決められてしまう不揮
発性メモリであり、システム100の始動時に行うテス
ト・プログラム(POST)をコード化して半永久的に
格納するために用いられる。
【0030】ビデオ・コントローラ16は、CPU11
からの描画命令を実際に処理するための周辺コントロー
ラであり、処理した描画情報を画面バッファ(VRA
M)17に一旦書き込むとともに、VRAM17から描
画情報を読み出して表示手段としての液晶表示装置(L
CD)18に出力するようになっている。オーディオ・
コントローラ19は、音声信号の入出力を処理するため
の周辺コントローラである。オーディオ・コントローラ
19が出力した音声信号は、例えばアンプ20で増幅さ
れ、スピーカ21から音声出力される。
【0031】ハード・ディスク・ドライブ(HDD)2
2やフロッピー・ディスク・ドライブ(FDD)24
は、いわゆる補助記憶装置である。フロッピー・ディス
ク・コントローラ23は、FDD24駆動用のコントロ
ーラである。HDD22やFDD24へのアクセスは、
オペレーティング・システムのカーネルの一部であるフ
ァイル・マネージャの制御下に置かれる。
【0032】DMA(Direct Memory Access)コントロ
ーラ25は、CPU11の介在なしにメイン・メモリ1
3と周辺デバイス(例えばFDD24)との間でのデー
タ転送を行わせるための周辺コントローラである。割り
込みコントローラ26は、バス12及び12'を常時モ
ニタして、割り込み(若しくはシステム・イベント)の
発生を検出すると、これをCPU11(より具体的には
OSのカーネル内にあるイベント・ハンドラ)に通知す
るようになっている。
【0033】I/Oコントローラ27は、シリアル・ポ
ート、パラレル・ポート経由で行う外部デバイス(モデ
ムやプリンターなど)とのデータ入出力を制御するため
の周辺コントローラである。キーボード/マウス・コン
トローラ(KMC)29は、キーボード30からの入力
マトリックスやマウス31による指示座標値を、オペレ
ーティング・システムの定義に合致したフォーマットに
変換してバス12上に送り出すようになっている。
【0034】発振器(OSC)32は、CPU11など
のような同期駆動するデバイスや、タイマー機能を持っ
た各デバイスに対してクロック信号を与えるための装置
である。
【0035】リアル・タイム・クロック(RTC)33
は、一定時間間隔の信号を発生する、実時間計測のため
の装置である。CMOS RAM34は、CMOS構造
をした記憶素子である。なお、本実施例のRTC33と
CMOS RAM34は、1チップ上に実装されるとと
もに、コイン・バッテリ35によってバックアップされ
ている。
【0036】EEPROM(Electrically Erasable PR
OM)36は、再書き込み可能な不揮発性半導体メモリで
あり、パスワード、導入済みのPCカードのシリアル番
号、一部のシステム・コンフィギュレーション情報な
ど、システムの機密保全に必要な情報を保管するために
設けられている。
【0037】システム100は、AC/DCアダプタ4
1を介して得られる外部の商用電源か、または内蔵する
バッテリ・パック42のいずれかから電力の供給を受け
て駆動するようになっている。これら電源41,42の
供給電圧は、DC/DCコンバータ43に並列的に入れ
られている。DC/DCコンバータ43は、供給電圧を
システム100の駆動に適したレベル(例えば5V又は
3.3V)まで降圧して、定常的な電源電圧として各部
に与えるようになっている。この電源電圧の供給及び遮
断は、FETスイッチ44の開閉動作によってなされ
る。FETスイッチ44のゲート端子は、電力制御レジ
スタ46内の対応ビット・セルと電気的に接続してい
る。
【0038】電力管理プロセッサ45は、主としてシス
テム100内の各部への電力供給を管理するために設け
られた周辺コントローラであり、好ましくは日立製作所
(株)製の1チップ・コントローラ"300/H8"であ
る。このタイプのICは、16ビットのCPUの他に、
RAM、ROM、タイマー、8本のアナログ入力ピン、
16本のデジタル入出力ピンを持ち、その機能はプログ
ラム可能である。特に本実施例の電力管理プロセッサ4
5は、入出力バス12'を介して各部と連絡しており、
蓋体(LCD)の開閉状態を検知したりして、バッテリ
42の残存容量の低下(ロー・バッテリ)を検出した
り、電力制御レジスタ46のビット・セルの内容を書き
替えることができるようになっている。
【0039】なお、現在市販されている殆どのPCは、
参照番号11乃至36、及び41乃至44に示すハード
ウェア・ブロックと等価なものを備えている。また、電
力管理プロセッサ45や電力制御レジスタ46に関連す
る技術自体は既に公知である。例えば本出願人に譲渡さ
れている特願平04−54955号の明細書(特開平0
5−289784号公報:当社整理番号JA9−92−
004)や特願平05−184186号の明細書(特開
平07−84848号公報:当社整理番号JA9−93
−020)には、参照番号45,46と等価なハードウ
ェア・ブロックについての記載がある。また、日本アイ
・ビー・エム(株)が市販するノートブック型コンピュ
ータThinkPad 700/750/755は、参
照番号45や46と等価なハードウェア構成要素を含ん
でいる。また、PCを構成するためには、図1に記載し
た意外にも多くのハードウェア構成要素が必要である
が、これらは当業者には周知であり、且つ本発明の要旨
とは関連がないので、本明細書では説明を省略してあ
る。
【0040】B.PC100のソフトウェア構成 図2には、本発明の実施に供されるPC100上で実行
可能なソフトウェアの階層的構成を模式的に示してい
る。
【0041】デバイス・ドライバ(D/D):最下層の
ソフトウェアは、デバイス・ドライバ(D/D)であ
る。デバイス・ドライバは、上位のソフトウェア(オペ
レーティング・システムなど)が発する一般的な形式の
コマンドを、各デバイス固有のハードウェアを駆動する
に適した形式に変換するためのものである。デバイス・
ドライバは、通常、各デバイス(例えばビデオ・コント
ローラ16やキーボード30、HDD22、FDD2
4)ごとに設けられている。また、単一のデバイスに対
して複数層のデバイス・ドライバが設けられている場合
もある(例えばPCカード用のデバイス・ドライバやネ
ットワーク・カード用のデバイス・ドライバの場合)。
【0042】各デバイス・ドライバは、HDD22など
の補助記憶装置から適宜メインメモリ13にロードされ
る。デバイス・ドライバの中には、対応するデバイスを
物理的且つタイム・クリテカルに駆動するための部分が
含まれている(例えばIRQやDMA要求を処理する部
分)。このようなタイム・クリティカル処理部分はHD
D22などから随時スワップ・インしたのでは処理時間
が間に合わないので、その作業データとともにメイン・
メモリ13(すなわち物理メモリ)上に常駐するように
なっている。デバイス・ドライバのそれ以外の部分は、
物理メモリ上に常駐する必要はなく、適宜HDD22に
スワップ・アウトされる。
【0043】オペレーティング・システム(OS):
ペレーティング・システム(OS)は、システム100
のハードウェア及びソフトウェアを総合的に管理するた
めの基本ソフトウェアであり、例えばOS/2("OS
/2"は米IBM社の商標)やUNIXがこれに該当す
る。オペレーティング・システムは、一般には、カーネ
ル(Kernel)領域とユーザ領域とで構成される。
【0044】カーネル領域とは、システム100全体の
動作を監視して、アプリケーションなどの各種プログラ
ムの実行を支援するための各基本機能が集まった部分で
ある。カーネル領域のコア部分には、HDD22などの
補助記憶装置へのファイルの記録等を管理するための
「ファイル・マネージャ」、タスク実行の順序や優先度
を管理するための「スケジューラ」、メモリ領域の割り
当てを行うための「メモリ・マネージャ」などを含んで
いる。仮想記憶(後述)をサポートするメモリ・マネー
ジャのことを特に「仮想メモリ・マネージャ(VM
M)」という。なお、本実施例に係るパワー・マネージ
メント動作(ハイバーネーション・ルーチン及びウェイ
ク・アップ・ルーチン:後述)を規定したプログラム
(本明細書では「パワー・マネージャ(PM)」という
ことにする)は、カーネルのコア部分に存在する。この
パワー・マネージャは、HDD22へのデータのストア
及びリストアのときに用いるために、データ圧縮/伸長
のためのモジュールを含んでいてもよい(後述)。
【0045】カーネルのコア部分は、タイム・クリティ
カルな処理を行うので、その作業データとともに物理メ
モリ上に常駐されるようになっている。これらは、仮想
記憶システム下でも、常に物理メモリ上に存在する。逆
に、コア部分以外のカーネル領域は、物理メモリ上に常
駐する必要はない。
【0046】一方、ユーザ領域とは、主に、ユーザが選
択したアプリケーションを支援するための機能ルーチン
部分からなる。ユーザからの指令を解釈してカーネルの
コア部分に伝えるとともに、コア部分からの応答をユー
ザに伝えるための「ユーザ・インターフェース」('s
hell'ともいう)は、このユーザ領域に含まれる。
また、LCDディスプレイ18上のウィンドウ表示を実
行する「ウィンドウ・システム」(例えばUNIXの'
X Window'やOS/2の'Presentati
on Manager')や、複数のソフトウェアで共
通の処理を行うための関数やデータの集まりであるライ
ブラリ(「シェアド・ライブラリ」又は「ダイナミック
・リンク・ライブラリ(DLL)」ともいう)も、ユー
ザ領域に含まれる。
【0047】ユーザ領域は、カーネルとユーザとの間に
介在する部分であり、タイム・クリティカルなプログラ
ムではない。したがって、物理メモリ上に常駐させてお
く必要はない。これらは、HDD22などに適宜スワッ
プ・アウトさせてもよい。
【0048】アプリケーション・プログラム(AP):
最上位層のアプリケーション・プログラムは、システム
100を実務的な目的のために使うプログラムのことで
あり、例えばワープロ・ソフト、データベース・ソフ
ト、表計算ソフト、通信ソフトなどがこれに該当する。
また、ユーザの使い勝手を向上させるためのユーティリ
ティ・プログラム(「ツール」ともいう)も、アプリケ
ーションの一種である。これらアプリケーションは、物
理メモリ上に常駐する必要はなく、適宜HDD22など
に適宜スワップ・アウトさせてよい。
【0049】上述したこれらプログラムやその作業デー
タは、仮想記憶システム下では、仮想アドレスが割り当
てられている。図2に示すようなソフトウェア構成自体
は、当業界においては既に周知である。また、システム
100によってはさらに複雑な階層構造を有する場合も
あるが、微細な相違は本発明の実現に影響を及ぼすもの
ではない。但し、本発明を考察する上では、(1)プロ
グラム(及びその作業データ)の全てが常にメイン・メ
モリ13上に存在している訳ではなく、HDD22など
の補助記憶装置との間で適宜入れ替え(スワッピング)
がなされるという点、及び、(2)プログラム(及びそ
の作業データ)の中には、常に物理メモリ上に存在しな
ければならない「メモリ常駐プログラム」と、適宜スワ
ップ・アウトさせることが可能な「メモリ非常駐プログ
ラム」とがあるという点に、充分留意されたい。
【0050】なお、「メモリ非常駐」のことを、ページ
単位(後述)でのスワッピング可能という意味から「ペ
ージャブル(Pagable)」と呼び、逆に「メモリ
常駐」のことを「ノン・ページャブル(Non−Pag
able)」と呼ぶこともある。ノン・ページャブル領
域は、通常、4MB程度のサイズを有する。
【0051】C.PC100上のメモリ空間 仮想記憶システム: 本発明の実施に供されるPC100
は、現在市販されている他の多くのPCと同様に、「仮
想記憶」なる技術を採用している。仮想記憶とは、HD
Dなどの補助記憶装置に対して論理的なアドレス(仮想
アドレス)を割り振ることによって、メイン・メモリの
一部であるかのごとくに扱うことをいう。仮想メモリ空
間は、例えば4GB程度の広い領域を持つ。システム1
00は、仮想記憶によって、メイン・メモリの容量を現
実の物理的な大きさ(例えば32MB)よりも見かけ上
大きくすることができ、大規模なプログラムやデータを
扱うことが可能になる。仮想記憶の1つの効能は、処理
速度が速い強力なCPU(例えば前述の"PowerP
C 603e")が広大なメモリ領域を扱うことによっ
てその演算機能を充分発揮させる、という点にある。
【0052】図3は、仮想記憶システムを示した模式図
である(周知)。メイン・メモリ13の物理的な容量は
例えば32MB(増設して96MB)程度であり、これ
に対して仮想記憶システムが提供する仮想メモリは4G
B程度の広大な空間である。当然、仮想アドレスのごく
一部の領域しか、メイン・メモリ13上には存在できな
い。すなわち、仮想アドレスは、メイン・メモリ13上
に存在している場合もあるし、HDD22などの補助記
憶装置に既にスワップ・アウトされた見かけ上のもので
ある場合もある。
【0053】仮想メモリへのアクセスは、仮想アドレス
の参照という形態で行われる。また、仮想メモリ空間
は、一般には、ページ(1ページは4KB)という単位
に分割されて取り扱われる。このため、仮想記憶システ
ム下では、仮想ページの物理メモリ中の位置を掌握する
ために、例えば図4に示すような構造のページ・テーブ
ル(周知)が生成されるようになっている。同図におい
て、1つの仮想アドレスは、32ビットで形成される
が、上位10ビットはディレクトリ・オフセットを、次
の10ビットはページ・テーブル・オフセットを、残り
の12ビットはページ・オフセットを、それぞれ格納す
るためのフィールドである。ディレクトリ・オフセット
はページ・ディレクトリの先頭アドレスに対するオフセ
ット値であり、ページ・ディレクトリ中の該当するレコ
ードには対応するページ・テーブルの先頭アドレスが記
録されている。ページ・テーブル・オフセットは、ペー
ジ・テーブルの先頭アドレスに対するオフセット値であ
り、ページ・テーブル中の該当するレコードには対応す
るページ・フレームの先頭アドレスと、該ページ・フレ
ームの属性情報とが記録されている。ここで、属性情報
とは、ページ・フレームへのアクセス頻度(LRU)
や、ページ・フレームがページャブルかノン・ページャ
ブルか、などといった情報である。ページ・オフセット
は、ページ・フレームの先頭アドレスに対するオフセッ
ト値であり、物理アドレスの下位ビットそのものであ
る。つまり、(ページ・フレームの先頭アドレス)+
(ページ・オフセット)が現実の物理アドレスを表す訳
である。ページ・フレームは、物理アドレス上のページ
そのものであり、その内容は実際のコードやデータであ
る。
【0054】ディレクトリ・オフセットには10ビット
が割り当てられているので、1024(=1010)個の
ページ・テーブルをアドレス可能であり、また、ページ
・テーブルには10ビットが割り当てられているので、
1024(=1010)個のページ・フレームをアドレス
可能である。また、1個のページ・フレームは、4KB
のサイズを持っている。したがって、仮想メモリ空間
は、全体として4GB(=1010×1010×4KB)の
サイズを持つ訳である。
【0055】なお、ページ・テーブルは、ハードウェア
によってもソフトウェアによっても実装することができ
る。但し、後者の場合には、ページ・テーブルは、メイ
ン・メモリ13上のメモリ常駐領域に格納されることに
なる。
【0056】仮想メモリ・マネージャの機能:OSのカ
ーネルの一部である仮想メモリ・マネージャ(VMM)
は、仮想メモリ空間の管理を行うためのプログラムであ
り、上述したページ・テーブルを適宜利用できるように
なっている。
【0057】仮想メモリ・マネージャの1つの機能はマ
ッピングである。マッピングとは、仮想アドレスをデー
タが実際に入っている物理アドレスに変換して、仮想メ
モリ空間へのアクセスを可能にすることである。例え
ば、マッピングの結果、参照された仮想アドレスが物理
メモリ上にあれば、仮想メモリ・マネージャは、物理メ
モリ上の該当アドレスのデータをそのままアクセス要求
元(例えばCPU11が実行中のアプリケーション)に
渡してやる。また、参照された仮想アドレスがメイン・
メモリ13上に存在しない場合には、ファイル・マネー
ジャに対して、HDD22上の対応アドレスのデータを
メイン・メモリ13上にスワップ・インすることを要求
する。このとき、メイン・メモリ13が既に他の有効ペ
ージで溢れている状態であれば、仮想メモリ・マネージ
ャは、スワップ・インのためのページを確保すべく、他
の幾つかのページをHDD22にスワップ・アウトする
ようファイル・マネージャに要求する(スワップ・アウ
トされるページは有鮮度に応じて決定される。優先度を
計るための手法は、例えば、当業界で周知のLRU(Le
ast Recently Used)である)。但し、仮想メモリ・マ
ネージャは、ページ・テーブルの属性情報によってノン
・ページャブルと定義されたページをスワップ・アウト
の対象にすることはできない。
【0058】また、仮想メモリ・マネージャの他の機能
は、仮想メモリ空間の各ページ・フレームのメモリ使用
情報を管理することである。ここで、メモリ使用情報と
は、ページ・フレームが有効(すなわちプロセスにおい
て使用中)か、あるいは無効(すなわち未使用、又はパ
リティ・エラーを起こしている)か、ということを指
す。本実施例の仮想メモリ・マネージャは、各ページ・
フレームのメモリ使用情報とページ・テーブルへのポイ
ンタを関連付けて格納した「ページ・フレーム・データ
ベース」を構築するようになっている。換言すれば、仮
想メモリ・マネージャは、ページ・テーブル及びページ
・フレーム・データベースを参照することによって、図
5に示すような形態で各ページ・フレームのメモリ使用
情報を管理することができ、各ページ・フレームが有効
か無効か、物理メモリ13又はHDD22のいずれにあ
るか、及び有効であればメモリ常駐(ノン・ページャブ
ル)か非常駐(ページャブル)かを、容易に峻別するこ
とができる。なお、ページ・フレーム・データベース
は、メイン・メモリ13上のメモリ常駐領域に置かれ
る。
【0059】仮想アドレスに対応する物理アドレスや、
ページ・フレーム・データベースの内容は、ページのス
ワッピングの際に変動する場合がある。仮想メモリ・マ
ネージャは、変更が生じる都度、これらの内容を更新す
るようにもなっている。
【0060】この項で説明した仮想記憶システム自体
は、当業界において既に周知である。但し、次のD項を
考察する際には、メイン・メモリ13上の全てのページ
が使用中という訳ではない点には充分留意されたい。
【0061】D.PC100によるパワー・マネージメ
ント・オペレーション 前項までで、本発明を具現するPC100のハードウェ
ア及びソフトウェア構成を説明してきた。本項では、P
C100の動作とともに本発明の作用について説明する
ことにする。
【0062】D−1.ハイバーネーション/ウェイク・
アップ・ルーチン 図6には、ハイバーネーションに入るためのルーチン、
及びハイバーネーションから復帰してタスクを再開する
ためのルーチンを、フローチャート化して示している。
ここでは、まずハイバーネーション・ルーチンについて
説明する。
【0063】ハイバーネーションに突入すべき事象(以
下、「ハイバーネーション・イベント」という)には、
ハードウェア・イベントとソフトウェア・イベントの2
つに大別される。ハードウェア・イベントとは、蓋体
(LCD)のクローズ、バッテリ42の残存容量の低下
(ロー・バッテリ)、メイン電源スイッチ(図示しな
い)の押圧などである。また、ソフトウェア・イベント
とは、PM(パワー・マネージャ)アイコンのダブル・
クリック、システム・アイドル・タイマーの消滅などで
ある。
【0064】電力管理プロセッサ45は、蓋体の開閉状
態や、バッテリの容量、メイン電源スイッチの押圧を常
時モニタしており、所定の事象を検出すると、ハードウ
ェア・イベントをCPU11に送るようになっている。
これをトリガーとして、システム100の制御権は、実
行中のOS又はアプリケーションから、一旦PMイベン
ト・ハンドラ(PMイベント・ハンドラはパワー・マネ
ージャの一部)に制御が移される(ステップS10
0)。PMイベント・ハンドラは、ハードウェア・イベ
ントの原因がハイバーネーション・イベントであると判
断すると、ハイバーネーション・モードに入るべく、ス
テップS110に進む。一方、ソフトウェア・イベント
に因る場合は、ステップS100をスキップして、ステ
ップS110に直接ジャンプする。
【0065】ステップS110では、OSのユーザ領域
にあるPMサーバが、パワー・マネージメント・オペレ
ーションに関心のあるアプリケーション(以下「PM
aware アプリケーション」という)との間で、ハ
イバーネーション要求の通知及びその認証応答を行う。
PM aware アプリケーションとは、例えばネッ
トワーク・アプリケーションやプリント・スプーラなど
のように、ネットワーク・ケーブル又はプリンタ・ケー
ブルを介して、他の独立した機器(他のPC)と物理的
に接続され且つ交信中であるアプリケーションである。
このようなアプリケーションは、不如意なパワー・マネ
ージメント動作によって処理中のデータを失う可能性が
あるゆえ、PM awareなのである。ステップS1
10では、各PM aware アプリケーションから
の肯定又は否定応答と、ハイバーネーション要求とを調
停する。そして、ハイバーネーションを敢行すへぎと判
断すれば次ステップS120に進み、そうでなければハ
イバーネーション要求を無視してもとの状態に戻る。
【0066】ステップS120では、PMサーバによっ
て、OSのカーネル領域にあるPMシステム・コールが
呼び出される。これによって、システム100の制御権
はPMのコア部分に移る。
【0067】ステップS130では、PMコアによっ
て、各デバイス・ドライバ(特にハードウェアを物理的
に操作するデバイス・ドライバであり、「PM awa
reデバイス・ドライバ」といってもよい)との間でハ
イバーネーション要求の通知及び認証応答を行う。通知
を受けた各デバイス・ドライバは、必要なハードウェア
・コンテキスト情報を自己の作業エリアにセーブする。
ハードウェア・コンテキスト情報の代表例は、割り込み
コントローラ26、DMAコントローラ25、ビデオ・
コントローラ16など各チップのレジスタ値や、タイマ
ーのカウント値であり、後に同一時点でタスクを再開さ
せるために必要なデータでもある。PMaware デ
バイス・ドライバ及びその作業エリアはメモリ常駐と考
えてよい。また、CPU11のレジスタ値(すなわちコ
ンテキスト)は、ステップS130の最終段階で、PM
コア自身が自己の作業エリア内にセーブする。但し、ス
テップS130で、PM awareデバイス・ドライ
バからの認証応答の獲得に失敗すると、次ステップS1
40に進むことなく、PMシステム・コールをリターン
する。この結果、ハイバーネーション要求は無視され、
通常のオペレーション・モードに戻る。
【0068】次いで、メイン・メモリ13中の所望のデ
ータをHDD22にセーブするためのハイバーネーショ
ン・エンター・ジョブを実行する(ステップS14
0)。該ジョブが終了すると、パワー・マネージャ(P
M)は電力管理プロセッサ45に対して、システム10
0の全ての電気回路への給電停止を要求する。電力管理
プロセッサ45は、この要求を受けて電力制御レジスタ
46のビット・セルを書き替えることで給電停止を行う
(ハイバーネーション・モードへの突入)。これに伴っ
て、メイン・メモリ13の内容は当然失われる。
【0069】なお、ステップS140のハイバーネーシ
ョン・エンター・ジョブは、本発明に係るPC100の
重要なオペレーションの1つであるが、詳細な説明は次
のD−2項で記述する。
【0070】D−2.ハイバーネーション・エンター・
ジョブ 図7には、ハイバーネーションに突入するためのハイバ
ーネーション・エンター・ジョブ(ステップS140)
を、より詳細にフローチャート化して示している。
【0071】まずステップS141では、メイン・メモ
リ13上の特定の領域を残して、可能な限りスワップ・
アウトを行う。ここでのスワップ・アウトは、パワー・
マネージャが仮想メモリ・マネージャにリクエストす
る、という形態で行われる。また、「メイン・メモリ1
3上の特定の領域」とは、全てのメモリ常駐すなわちノ
ン・ページャブル領域と、比較的最近まで使用されてい
た幾らかのページャブル領域のことを指し、仮想メモリ
・マネージャはページ・テーブル(前述)内の属性情報
及びページ・フレーム・データベースを参照することに
よって検知することができる(前述)。また、「可能な
限りスワップ・アウトを行う」とは、例えばLRU論理
などに従って、アクセスされなくなった古いデータを極
力スワップ・アウトすることを意味する。メモリ非常駐
すなわちページャブル領域でスワップ・アウトしない方
がよい領域のサイズは、ウェイク・アップ時のパフォー
マンスの観点から、通常12MB程度である。したがっ
て、ステップS141を経た段階でスワップ・アウトさ
れずに残された領域のサイズは16(=4+12)MB
程度である。このサイズは、メモリ・サイズが拡張され
てもほぼ一定と考えられる。なお、LCDディスプレイ
18に映される画面情報は、ページャブル領域内にある
ウィンドウ・システム(例えばX Window)の作
業データとして、ウィンドウ・システムとともにスワッ
プ・アウトされることになる(VRAM17の内容をそ
のままHDD22にセーブしない点に留意されたい)。
【0072】次いで、パワー・マネージャは、メイン・
メモリ13全体のメモリ使用情報を取得する(ステップ
S142)。ここで、「メイン・メモリ13全体のメモ
リ使用情報」とは、ページ・フレーム・データベース
(前述)のうちでメイン・メモリ13上に存在する全て
のページ・フレームのレコードを指す。パワー・マネー
ジャは、メモリ使用情報を参照することによって、メイ
ン・メモリ13上の有効ページ(すなわちプロセスが使
用中のデータ/コードを格納したページ)を峻別するこ
とができる。
【0073】次いで、パワー・マネージャは、スワップ
・アウトされずにメイン・メモリ13上に残された領域
のうち、有効ページのみをHDD22にセーブする(ス
テップS143)。このステップでセーブされる有効ペ
ージには、メモリ常駐すなわちノン・ページャブル領域
の他、一部のページャブル領域も含まれる。また、前ス
テップS142で取得したメモリ使用情報や、パワー・
マネージャ自身も、有効ページに含まれる。このステッ
プでHDD22にセーブされた有効ページのことを、以
下、「ハイバーネーション・ボリューム」ということに
する。
【0074】なお、ステップS143においてHDD2
2にセーブする前に、ハイバーネーション・ボリューム
をデータ圧縮するようにしてもよい。データ圧縮の主な
手法は、既に当業者に周知の「スライド辞書法」又は
「動的辞書法」でもよい。このようなデータ圧縮手法に
より、ハイバーネーション・ボリュームのサイズを約5
0%に縮小させることが可能である。この場合、パワー
・マネージャはデータ圧縮のためのツール、及びその伸
長のためのツールを含んでいればよい。但し、パワー・
マネージャのうちウェイク・アップ処理(後述)用のコ
ード部分は、データ伸長処理前に実行する関係上、圧縮
しないままセーブされる。
【0075】次いで、ステップS144では、システム
100のコンフィギュレーション・データ(ハードウェ
ア構成情報)をHDD22内の所定アドレス(仮に'A
AA'とする)にセーブする。コンフィギュレーション
・データは、システム100が起動した時にPOSTに
よって調べられ、例えばメイン・メモリ13上に書き込
まれたものである。
【0076】次いで、ステップS145では、ハイバー
ネーション・ボリュームのロケーション情報、すなわち
HDD22内の格納場所をHDD22内の所定アドレス
(仮に'BBB'とする)にセーブする。
【0077】次いで、ステップS146では、システム
100がこのようなハイバーネーション・エンター・ジ
ョブを経てパワー・オフされたことを示す記号(以下、
「ハイバーネーション・シグニチャ」という)をHDD
22内の所定アドレス(仮に'CCC'とおく)に書き込
む。ハイバーネーション・シグニチャは、例えば8バイ
ト程度のデータで構成される。このようにして、ハイバ
ーネーション・エンター・ジョブは無事終了する。
【0078】本実施例に係るハイバーネーション・エン
ター・ジョブ・ルーチンの主な特徴は、(1)ステップ
S144でメモリ非常駐データを既にスワップ・アウト
させている点と、(2)メイン・メモリ13上に残され
た領域のうち有効ページのみをハイバーネーション・ボ
リュームにしている点の2点にある。メモリ常駐領域
(若しくは有効ページ)のサイズは物理メモリのサイズ
にあまり依存しないので、前者(1)によれば、メモリ
の増設に拘らず、ハイバーネーション・ボリュームのサ
イズをほぼ一定にすることができる。また、後者(2)
により、ハイバーネーション・ボリュームを予めダウン
・サイズさせることが可能である(数MB程度)。さら
に、ハイバーネーション・ボリュームをデータ圧縮処理
してセーブするようにすれば、HDD22へのディスク
・アクセス時間を大幅に省略できるので、処理時間をよ
り一層短縮化することができるのである。また、当然、
HDD22のハイバーネーション・ファイルの領域を節
約することにもなる。
【0079】D−3.ウェイク・アップ・ルーチン この項では、再び図6に戻って、ウェイク・アップ・ル
ーチンについて説明する。
【0080】システム100がパワー・オフされている
最中、メイン電源スイッチが投入されると(ステップS
160)、通常のパワー・オン・リセット(POR)時
と同様、まず、ROM15に格納されたPOSTプログ
ラムが実行される(ステップS170)。
【0081】POSTを実行する過程で、システム10
0のコンフィギュレーションを再び調べる。また、HD
D22の所定アドレスCCCにアクセスして、ハイバー
ネーション・シグニチャをチェックする。該シグニチャ
がない場合には、今回のパワー・オンがPORであると
判断して、OSのノーマル・ブートを行う(すなわちウ
ェイク・アップ・ジョブを行わない)。また、該シグニ
チャが書き込まれている場合には、再利用のために該シ
グニチャを消去してから、後続のステップS180に進
む。
【0082】ステップS180では、ステップS143
においてHDD22にセーブしておいたハイバーネーシ
ョン・ボリュームをメイン・メモリ13に書き込む。ハ
イバーネーション・ボリュームの格納場所はHDD22
内の所定アドレスBBBにアクセスすることにより分か
る。また、ハイバーネーション・ボリュームがデータ圧
縮されていれば、その分ディスク・アクセス回数が少な
くなるので、処理時間が短縮化される。ステップS18
0は、ROM内15のコードによって実行され、その最
終コードはメイン・メモリ13上のウェイク・アップ用
コードのエントリ・ポイント(ステップS190)にジ
ャンプするようになっている。
【0083】なお、ステップS180における処理は、
ハイバーネーション・ボリュームをもとの場所に完全に
リストアすることを意味せず、差し当たりデータを塊の
ままで転送しておくに過ぎない。また、もしステップS
143でデータ圧縮されていれば、圧縮されたままの状
態であり伸長されていない。但し、ウェイク・アップ用
コードだけは圧縮されていない(前述)。
【0084】S190では、ステップS170にて調べ
られたコンフィギュレーション・データを、パワー・オ
フ前のものと比較照合する。パワー・オフ前のコンフィ
ギュレーション・データは、ステップS144にてHD
D22の所定アドレスAAAに格納してある(前述)。
もし、両者が一致すれば、後続のウェイク・アップ・ジ
ョブ・ルーチン(ステップS200)に移る。逆に、両
者が一致しなければ、パワー・オフの間にシステム10
0の周辺デバイスの着脱等が行われており、システム1
00はハイバーネーションに入る直前の状態に復帰する
ことはできない。したがって、この場合は、以後のウェ
イク・アップ・ルーチンは行わず、OSのノーマル・ブ
ートを行う。
【0085】ステップS200のウェイク・アップ・ジ
ョブ・ルーチンでは、主に、メイン・メモリ13上のハ
イバーネーション・ボリュームのリストア作業を行う。
ウェイク・アップ・ジョブは、本発明に係るPC100
の重要なオペレーションの1つであるが、詳細な説明は
次のD−4項で記述する。
【0086】次いで、ステップS130に戻り、CPU
11のコンテキストをリストアした後、PMコアが各P
M aware デバイス・ドライバとの間で、ウェイ
ク・アップの通知及び認証応答を行う。通知を受けたデ
バイス・ドライバは、チップのレジスタ値などのハード
ウェア・コンテキスト情報を所定場所にリストアした
り、あるいはその最初期化を行う。次いで、ステップS
120に戻って、呼び出されていたPMシステム・コー
ルがリターンされる。
【0087】次いで、ステップS110に戻り、PMサ
ーバは、各PM aware アプリケーションとの間
でウェイク・アップの通知及び認証応答を行う。なお、
アプリケーションは、ステップS141にてHDD22
にスワップ・アウトされたままなので、通知・認証応答
の際、適宜メイン・メモリ13にスワップ・インされ
る。
【0088】このようにして、システム100はウェイ
ク・アップ・オペレーションを完了して、ハイバーネー
ション・イベントが発生したときと同じ時点からタスク
を再開させることができるのである。
【0089】D−4.ウェイク・アップ・ジョブ 図8には、ハイバーネーション・モードからウェイク・
アップするためのウェイク・アップ・ジョブ(ステップ
S200)を、より詳細にフローチャート化して示して
いる。
【0090】まず、ステップS201では、ハイバーネ
ーション・ボリュームの中からメモリ使用情報を取得す
る。
【0091】次いで、ステップS202では、メモリ使
用情報に基づいて、有効ページのみをメイン・メモリ1
3上の所定の物理アドレスにリストアする。このように
して、ウェイク・アップ・ジョブは無事終了する。但
し、ステップS141でスワップ・アウトされたデータ
は、メイン・メモリ13にはリストアされないままであ
る。
【0092】なお、ハイバーネーション・エンター・ジ
ョブにおいてハイバーネーション・ボリュームがデータ
圧縮されている場合には、上記各ステップS201,2
02では、当然、データ伸長してからリストアを行う。
【0093】本実施例に係るウェイク・アップ・ジョブ
・ルーチンの主な特徴は、ハイバーネーション・ボリュ
ームのみ、すなわちメイン・メモリ13上の有効ページ
部分しかリストアしない点である。前述したように、ハ
イバーネーション・ボリュームは充分ダウン・サイズさ
れており、且つ物理メモリの大きさに依らずほぼ一定の
サイズである。したがって、ウェイク・アップ・ジョブ
に要する処理時間は極めて短かくなる訳である。
【0094】E.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。すなわち、例示という形態で本発明を開示
してきたのであり、限定的に解釈されるべきではない。
本発明の要旨を判断するためには、冒頭に記載した特許
請求の範囲の欄を参酌すべきである。
【0095】
【発明の効果】以上詳記したように、本発明によれば、
パワー・マネージメント動作及びパワー・マネージメン
トからの復帰動作をより高速に実行することができる情
報処理システム及びその制御方法を提供することができ
る。
【0096】例えば、本発明の第1乃至第6の側面に係
る情報処理システム及びその制御方法によれば、ハイバ
ーネーションに遷移するときには、メイン・メモリ中の
メモリ非常駐データを前もってスワップ・アウトさせ、
次いでメモリ常駐データをHDDに格納するようになっ
ている。また、ウェイク・アップするときには、メモリ
常駐データのみをメイン・メモリにリストアすれば、シ
ステムはタスクを再開するようになっている(ここで、
データ・ストア/リストアの対象となるメモリ常駐デー
タやメモリ非常駐データは、当然有効データのみであっ
てよい。)。したがって、システムは、ハイバーネーシ
ョン・モードに突入する直前までメモリ常駐のプログラ
ム/データを用いてタスクを継続することが可能であ
り、また、最終段階のデータ・ストアに要する処理時間
は短くて済む。また、何よりも、メモリ常駐データ部分
のみをリストアすればシステムはタスクを再開できるの
で、高速なウェイク・アップを実現することができる。
当業者には既に周知なように、メモリ常駐データ部分
(OSのカーネルやデバイス・ドライバの一部など)の
サイズは、物理メモリの容量に依らずほぼ一定である。
したがって、メモリの増設などにより物理メモリが巨大
化しても、ほぼ一定した短い時間のうちにウェイク・ア
ップを完了させることができる訳である。また、メモリ
非常駐データは、字義通り、常に物理メモリ上に存在す
る必要はなく、使用するときに適宜HDDからスワップ
・インすればよいだけである。
【図面の簡単な説明】
【図1】図1は、本発明の実施に供されるパーソナル・
コンピュータ(PC)100のハードウェア構成を概略
的に示した図である。
【図2】図2は、本発明の実施に供されるパーソナル・
コンピュータ(PC)100上で実行されるソフトウェ
アの階層的構成を模式的に示した図である。
【図3】図3は、仮想記憶システムを示した模式図であ
る。
【図4】図4は、ページ・テーブルの構造(周知)を示
した図である。
【図5】図5は、仮想メモリ・マネージャが管理可能な
各ページ・フレームのメモリ使用情報を模式的に示した
図である。
【図6】図6は、ハイバーネーションに入るためのルー
チン、及びハイバーネーションから復帰してタスクを再
開するためのルーチンをフローチャート化して示した図
である。
【図7】図7は、ハイバーネーションに入るためのハイ
バーネーション・エンター・ジョブを、より詳細にフロ
ーチャート化して示した図である。
【図8】図8は、ハイバーネーション・モードからウェ
イク・アップするためのウェイク・アップ・ジョブを、
より詳細にフローチャート化して示した図である。
【符号の説明】
11…CPU、12…バス、13…メイン・メモリ、1
4…メモリ・コントローラ、15…ROM、16…ビデ
オ・コントローラ、17…VRAM、18…LCD、1
9…オーディオ・コントローラ、20…アンプ、22…
HDD、23…FDC、24…FDD、25DMAコン
トローラ、26…割り込みコントローラ、27…I/O
コントローラ、29…KMC、30…キーボード、31
…マウス、32…OSC、33…RTC、34…CMO
S RAM、35…コイン・バッテリ、36…EEPR
OM、41…ACアダプタ、42…バッテリ、43…D
C/DCコンバータ、44…FETスイッチ、45…電
力管理プロセッサ、46…電力管理プロセッサ、100
…パーソナル・コンピュータ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮 平 知 博 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 中 尾 彰 宏 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】プロセッサと、揮発性のメモリと、不揮発
    性の補助記憶装置とを含み、前記メモリの内容を前記補
    助記憶装置に格納した後に所定の電気回路への給電を停
    止するタイプの情報処理システムにおいて、さらに、前
    記メモリ内の各領域が前記メモリに常駐すべきコードや
    データを格納したメモリ常駐データ領域か又は前記補助
    記憶装置との間で適宜入れ替え可能なコードやデータを
    格納したメモリ非常駐データ領域かを管理するメモリ使
    用情報管理手段を含み、給電停止の際には、前記メモリ
    使用情報管理手段に従って、前記メモリのうちメモリ非
    常駐データ領域の内容を先に、メモリ常駐データ領域の
    内容を後から前記補助記憶装置に格納することを特徴と
    する情報処理システム
  2. 【請求項2】プロセッサと、揮発性のメモリと、不揮発
    性の補助記憶装置と、所定の事象の発生に応答して前記
    メモリの内容を前記補助記憶装置に格納した後に所定の
    電気回路への給電を停止する電源管理手段とを含む情報
    処理システムにおいて、さらに、前記メモリ内の各領域
    が前記メモリに常駐すべきコードやデータを格納したメ
    モリ常駐データ領域か又は前記補助記憶装置との間で適
    宜入れ替え可能なコードやデータを格納したメモリ非常
    駐データ領域かを管理するメモリ使用情報管理手段を含
    み、前記電源管理手段は、給電停止時においては、前記
    メモリ使用情報管理手段に従って、前記メモリのうちメ
    モリ非常駐データ領域の内容を先に、メモリ常駐データ
    領域の内容を後から前記補助記憶装置に格納することを
    特徴とする情報処理システム
  3. 【請求項3】前記所定の電気回路への給電を再開したと
    きには、メモリ常駐データを前記補助記憶装置から前記
    メモリにリストアした時点で通常のオペレーションを再
    開することを特徴とする請求項1に記載の情報処理シス
    テム
  4. 【請求項4】前記電源管理手段は、前記所定の電気回路
    への給電を再開したときには、まずメモリ常駐データを
    前記補助記憶装置から前記メモリにリストアすることを
    特徴とする請求項2に記載の情報処理システム
  5. 【請求項5】給電停止時に行う前記メモリの内容の前記
    補助記憶装置への格納は、データ圧縮した後で行うこと
    を特徴とする請求項1に記載の情報処理システム
  6. 【請求項6】前記電源管理手段は、データ圧縮してから
    前記補助記憶装置にデータを格納することを特徴とする
    請求項2に記載の情報処理システム
  7. 【請求項7】前記補助記憶装置から前記メモリへのメモ
    リ常駐データのリストアは、データ伸長した後で行うこ
    とを特徴とする請求項5に記載の情報処理システム
  8. 【請求項8】前記電源管理手段は、前記補助記憶装置に
    退避されたメモリ常駐データを、データを伸長した後で
    前記メモリにリストアすることを特徴とする請求項6に
    記載の情報処理システム
  9. 【請求項9】所定の事象の発生に応答して揮発性メモリ
    の内容を不揮発性記憶装置に格納してから節電動作モー
    ドに遷移するタイプの情報処理システムの制御方法にお
    いて、前記所定の事象の発生を検知する第1の段階と、
    前記揮発性メモリの各領域が前記メモリに常駐すべきコ
    ードやデータを格納したメモリ常駐データ領域か又は前
    記補助記憶装置との間で適宜入れ替え可能なコードやデ
    ータを格納したメモリ非常駐データ領域かを判断する第
    2の段階と、前記揮発性メモリのうちメモリ非常駐デー
    タ領域の内容を前記不揮発性記憶装置に格納する第3の
    段階と、前記揮発性メモリのうちメモリ常駐データ領域
    の内容を前記不揮発性記憶装置に格納する第4の段階
    と、節電動作モードに遷移する第5の段階とを含むこと
    を特徴とする情報処理システムの制御方法
  10. 【請求項10】前記節電動作モードから復帰するときに
    は、前記不揮発性記憶装置に格納されたメモリ常駐デー
    タを前記メモリにリストアした時点で通常のオペレーシ
    ョンを再開することを特徴とする請求項9に記載の情報
    処理システムの制御方法
  11. 【請求項11】前記節電動作モードとは前記揮発性メモ
    リを含む電気回路への給電を停止した動作モードである
    ことを特徴とする請求項9に記載の情報処理システムの
    制御方法
  12. 【請求項12】前記第4の段階では、前記揮発性メモリ
    の内容をデータ圧縮した後に前記補助記憶装置に格納す
    ることを特徴とする請求項9に記載の情報処理システム
    の制御方法
  13. 【請求項13】前記不揮発性記憶装置に退避しておいた
    データを前記メモリにリストアするときには、データ伸
    長を伴うことを特徴とする請求項12に記載の情報処理
    システムの制御方法
  14. 【請求項14】給電の停止及びその再開を実行するため
    のシーケンスを含むプログラムは、前記メモリ内にロー
    ドされたオペレーティング・システムの一部であること
    を特徴とする請求項1又は請求項2のいずれかに記載の
    情報処理システム
  15. 【請求項15】前記第1乃至第5の段階を実行するため
    のプログラムは、前記揮発性メモリ内にロードされたオ
    ペレーティング・システムの一部であることを特徴とす
    る請求項9に記載の情報処理システムの制御方法
JP7185165A 1995-07-21 1995-07-21 情報処理システム及びその制御方法 Pending JPH0944417A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7185165A JPH0944417A (ja) 1995-07-21 1995-07-21 情報処理システム及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7185165A JPH0944417A (ja) 1995-07-21 1995-07-21 情報処理システム及びその制御方法

Publications (1)

Publication Number Publication Date
JPH0944417A true JPH0944417A (ja) 1997-02-14

Family

ID=16165974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7185165A Pending JPH0944417A (ja) 1995-07-21 1995-07-21 情報処理システム及びその制御方法

Country Status (1)

Country Link
JP (1) JPH0944417A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059476A1 (ja) * 2002-12-24 2004-07-15 Fujitsu Limited メモリ・イメージの生成
JP2011095916A (ja) * 2009-10-28 2011-05-12 Canon Inc 電子機器
JP2012530973A (ja) * 2009-06-22 2012-12-06 アマゾン テクノロジーズ インコーポレイテッド プロセッサのための静止状態保存モード
JP2017041182A (ja) * 2015-08-21 2017-02-23 ファナック株式会社 数値制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059476A1 (ja) * 2002-12-24 2004-07-15 Fujitsu Limited メモリ・イメージの生成
JP2012530973A (ja) * 2009-06-22 2012-12-06 アマゾン テクノロジーズ インコーポレイテッド プロセッサのための静止状態保存モード
JP2011095916A (ja) * 2009-10-28 2011-05-12 Canon Inc 電子機器
JP2017041182A (ja) * 2015-08-21 2017-02-23 ファナック株式会社 数値制御装置
US10042712B2 (en) 2015-08-21 2018-08-07 Fanuc Corporation Numerical controller

Similar Documents

Publication Publication Date Title
JP3266560B2 (ja) 情報処理システム及びその制御方法
US6336161B1 (en) Computer configuration system and method with state and restoration from non-volatile semiconductor memory
US6243831B1 (en) Computer system with power loss protection mechanism
TWI407300B (zh) 電源管理控制器與方法
US5845134A (en) Suspend/resume control method and system
US6393584B1 (en) Method and system for efficiently saving the operating state of a data processing system
US5925129A (en) Desktop computer system having compressed suspend to hardfile
EP1351146A1 (en) Power management system and method with recovery after power failure
US5778443A (en) Method and apparatus for conserving power and system resources in a computer system employing a virtual memory
JPH0944418A (ja) 情報処理システム及びその制御方法
US20090125730A1 (en) Managing Power Consumption In A Computer
JPH077317B2 (ja) システム再起動装置
JPH11161385A (ja) コンピュータシステムおよびそのシステムステート制御方法
JPH0934577A (ja) 情報処理装置及びその制御方法
JPH086681A (ja) 省電力制御システム
JPH0744437A (ja) 情報処理システム
JPH07200112A (ja) 情報処理システム
US5828877A (en) Circuit and method for optimizing creation of a compressed main memory image
JP3253881B2 (ja) コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法
JP4155545B2 (ja) コンピュータシステムおよびデータ転送制御方法
US5649212A (en) Information processing system having a floppy disk drive with disk protection during a resume mode
JP3102455B2 (ja) 情報処理システム
EP1037133A1 (en) Method and apparatus for alternation between instances of operating systems in computer systems
US20050223209A1 (en) Apparatus for fast booting computer and method for the same
US20110082987A1 (en) Systems and Methods for Power State Transitioning in an Information Handling System