Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3238097B2 - コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法 - Google Patents
[go: Go Back, main page]

JP3238097B2 - コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法 - Google Patents

コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法

Info

Publication number
JP3238097B2
JP3238097B2 JP14255497A JP14255497A JP3238097B2 JP 3238097 B2 JP3238097 B2 JP 3238097B2 JP 14255497 A JP14255497 A JP 14255497A JP 14255497 A JP14255497 A JP 14255497A JP 3238097 B2 JP3238097 B2 JP 3238097B2
Authority
JP
Japan
Prior art keywords
memory
area
hibernation
computer system
operating system
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.)
Expired - Fee Related
Application number
JP14255497A
Other languages
English (en)
Other versions
JPH10333997A (ja
Inventor
茂樹 木崎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP14255497A priority Critical patent/JP3238097B2/ja
Publication of JPH10333997A publication Critical patent/JPH10333997A/ja
Application granted granted Critical
Publication of JP3238097B2 publication Critical patent/JP3238097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電源オフ時にコ
ンピュータシステムの主メモリの内容をそのシステムの
2次記憶装置にセーブする機能を有するコンピュータシ
ステムおよびそのデータセーブ制御方法に関する。
【0002】
【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプのパーソナルコンピュータや、携
帯情報端末などのポケットコンピュータが種々開発され
ている。
【0003】この種のポータブルコンピュータは、バッ
テリ駆動可能な時間を延ばすために、コンピュータシス
テムの電力を節約するための種々のパワーセーブモード
が設けられている。サスペンドモードは、最も電力消費
の少ないパワーセーブモードの1つである。すなわち、
コンピュータシステムがサスペンドモードの時は、オペ
レーティングシステムやユーザプログラムなどの再スタ
ートに必要なシステムデータを記憶する主メモリを除
く、システム内の他のほとんどのデバイスはパワーダウ
ンされる。
【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。
【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システム電源オフ時に起動され、CPU
のレジスタおよび各種周辺LSIのステータスをメモリ
にセーブした後、システムをパワーオフする。
【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を戻すことができる。
【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下されると、主メモリ
内のデータは消失される。この場合、サスペンド前の状
態にシステムを戻すことができ無くなるばかりか、主メ
モリに展開されているユーザデータも消失されてしま
う。
【0008】そこで、最近では、サスペンドモードに代
わる新たなパワーセーブモードとして、ハイバネーショ
ンが使用され始めている。ハイバネーションは、システ
ム電源のオフ時に、主メモリとしてシステムに実装され
た全てのメモリをハードディスクにセーブした後にシス
テム内のすべてのデバイスをパワーダウンさせるモード
であり、サスペンドよりも、電力消費を低減できる。
【0009】ところで、近年のオペレーティングシステ
ムおよびアプリケーションプログラムの機能向上に伴
い、コンピュータシステムに主メモリとして実装される
メモリ容量は増大する一途にある。従来では、実装メモ
リ全てをハードディスク装置に保存するという方式を採
用しているため、メモリ上には、通常、空き領域や破棄
してもよい領域があるにもかかわらずそれらを含めて全
て保存することが必要とされる。このため、主メモリの
記憶容量の増加に伴い、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでの時間も増大されて
しまうことになる。
【0010】
【発明が解決しようとする課題】上述したように、ハイ
バネーション機能を持つ従来のコンピュータシステムで
は、実装メモリ全てをハードディスク装置に保存すると
いう方式を採用しているため、メモリ上には通常、空き
領域や破棄してもよい領域があるにもかかわらずそれら
を含めて全て保存することが必要とされ、主メモリの記
憶容量の増加に伴い、ハイバネーション処理に要する時
間が増大されるという問題があった。
【0011】この発明はこのような点に鑑みてなされた
ものであり、メモリの空き領域などの保存不要な領域に
ついてはハードディスクなどの2次記憶装置に転送しな
いようにし、データセーブ処理に要する時間を低減でき
るコンピュータシステムおよびそのシステムにおけるデ
ータセーブ制御方法を提供することを目的とする。
【0012】
【課題を解決するための手段】この発明は、電源オフ時
にコンピュータシステムの主メモリの内容をそのシステ
ムの2次記憶装置にセーブする機能を有するコンピュー
タシステムにおいて、前記主メモリ上で空き領域の移動
又は廃棄可能領域の廃棄を行うことで連続した空き領域
を確保するためのメモリ整理を実行するメモリ整理手段
と、このメモリ整理手段により確保された主メモリ上の
空き領域以外の使用領域を、前記2次記憶装置にセーブ
する手段とを具備することを特徴とする。
【0013】このコンピュータシステムにおいては、主
メモリとして実装されたメモリ全てがセーブされるので
はなく、空き領域以外の他の使用中領域のみが2次記憶
装置にセーブされる。したがって、2次記憶装置に対す
るデータ転送量を低減できるようになり、電源オフ時の
データセーブ処理の高速化を図ることが可能となる。
き領域の検出はオペレーティングシステムが管理してい
るメモリ管理情報に基づいて行うことができる。つま
り、メモリ管理情報は主メモリ内に実在するページに対
するプロセスのマッピング状態を示しているので、この
メモリ管理情報によってメモリ使用状況を確認すること
により、空き領域と使用中領域を特定することができ
る。この場合、空きページ以外の使用中ページについて
その物理メモリアドレスを調査し、その物理メモリアド
レス上のメモリ内容をセーブすれば、使用中メモリの内
容を保存することが可能となる。
【0014】また、通常、主メモリには空き領域のみな
らず、終了されたプログラムのコードが格納されている
廃棄可能領域なども存在するので、まず、主メモリ上で
空き領域の移動および廃棄可能領域の廃棄を行うことに
より、まとまった空き領域を確保するためのメモリ整理
を実行し、これによって確保された空き領域以外の他の
領域を前記使用中領域として2次記憶装置にセーブする
ことが好ましい。これにより、2次記憶装置に対するデ
ータ転送量をさらに低減することができる。
【0015】メモリ整理は、オペレーティングシステム
に対して所定サイズのメモリ領域を要求することによっ
て容易に実現できる。すなわち、オペレーティングシス
テムはメモリ領域が新たに要求されると、要求されたサ
イズのメモリ領域を主記憶上に確保するために、主メモ
リ上の空き領域の移動、廃棄可能データの廃棄、スワッ
プ可能データのスワップといった処理を行うので、所定
サイズのメモリ領域を要求することによって、結果的に
オペレーティングシステムにメモリ整理を実行させるこ
とができる。この場合、要求したメモリ領域は実際には
使用されない領域であるので、この領域以外の領域を使
用領域として認識し、それを2次記憶装置にセーブすれ
ばよい。
【0016】オペレーティングシステムによるメモリ整
理処理を効率よく行うために、オペレーティングシステ
ムに対しては、現在の空き領域よりも大きいサイズを要
求することが好ましい。これにより、空き領域の移動、
廃棄可能データの廃棄、スワップ可能データのスワップ
といった処理をオペレーティングシステムに実行させる
ことができる。
【0017】また、通常、アプリケーションプログラム
には2GB乃至4GBの仮想記憶空間が割り当てられて
おり、その内の一部のプロセスが実メモリ上に存在さ
れ、それ以外の大半の部分は2次記憶装置にスワップさ
れている。したがって、主メモリ上に実在される全ての
プロセスのコードおよびデータの全体サイズは、実装メ
モリサイズが大きいほど大きくなるのが普通である。こ
のように、コードおよびデータによって常時占有される
メモリサイズは実装メモリサイズによってほぼ決定され
るので、実際の空き領域のサイズを検出する代わりに、
たとえば実装メモリサイズが40Mバイトであれば24
Mバイトのメモリを要求し、実装メモリサイズが32M
バイトであれば20Mバイトのメモリを要求するといっ
たように、オペレーティングシステムに要求するメモリ
サイズを実装メモリサイズを基に決定してもよい。実装
メモリサイズ全体を要求するのではなく、それよりも一
定値以下のサイズを要求するのは、メモリ常駐が必要な
システムコードなどの領域を浸食するようなメモリサイ
ズを要求すると、メモリ割り当てエラーが発生してしま
い、オペレーティングシステムにメモリ整理処理を実行
させられなくなるためである。
【0018】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、ノートブックタイプまた
はサブノートタイプのポータブルパーソナルコンピュー
タであり、コンピュータ本体と、このコンピュータ本体
に開閉自在に取り付けられたLCDパネルユニットとか
ら構成されている。コンピュータ本体のシステムボード
上には、システムバス10、CPU11、SMI制御回
路12、メインメモリ13、BIOS−ROM14、磁
気ディスク装置(HDD)15、リアルタイムクロック
(RTC)16、キーボードコントローラ(KBC)1
7、電源コントローラ(PSC)18、VGAコントロ
ーラ19などが搭載されている。
【0019】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;System
Management Interrupt)をサポートするもの、例えば、
米インテル社により製造販売されているマイクロプロセ
ッサPentium が使用される。この場合、CPU11は、
次のようなシステム管理機能を持つ。
【0020】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Management
mode)と称されるシステム管理機能を実現するための動
作モードを有している。
【0021】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
【0022】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
【0023】このように、プロテクトモードとリアルモ
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。しかし、SMMでは、プロテクトモードと同様
に、1Mバイトを越えるメモリ空間をアクセスすること
ができる。
【0024】システム管理割込み(SMI;System Man
agement Interrupt )がCPU11に発行された時、C
PU11の動作モードは、その時の動作モードであるリ
アルモード、プロテクトモード、または仮想86モード
から、SMMにスイッチされる。SMIによってSMM
にスイッチした時、CPU11はその時のCPUレジス
タの内容であるCPUステータスをSMRAM13Aに
セーブする。また、SMMにおいて復帰命令(RSM命
令)が実行されると、CPU11はSMRAM13Aか
らCPUレジスタにCPUステータスをリストアし、S
MI発生前の動作モードに復帰する。本実施形態におい
ては、SMMにおいて、BIOSのハイバネーションル
ーチンなどのシステム管理プログラムが実行される。こ
のハイバネーションルーチンは、後述する高速ハイバネ
ーションソフトウェアドライバと連動して、主メモリ1
3およびVRAM191の内容を、HDD15の記憶エ
リアに予め確保されているハイバネーションエリアにセ
ーブした後にシステムをパワーオフするといったハイバ
ネーション処理を行う。高速ハイバネーションソフトウ
ェアドライバは、BIOSのハイバネーションルーチン
によってHDD15にセーブすることが必要なメモリサ
イズを小さくするために設けられたものである。
【0025】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
【0026】SMI制御回路12は、SMI発生制御の
ためのハードウェアであり、図示のように、ハイバネー
ション処理を起動するためのSMI発生回路121、他
の要因によるSMI発生回路122,123、SMIス
テータスレジスタ124、OR回路125を備えてい
る。
【0027】SMI発生回路121は、電源コントロー
ラ18を介して電源スイッチ181の押下、またはパネ
ル開閉検出スイッチ182によってLCDパネルユニッ
トが閉じられたことが通知された時、ハイバネーション
処理を起動するためのSMI信号を発生する。他の要因
によるSMI発生回路122,123は、例えば、ソフ
トウェアSMI、グローバルスタンバイSMI、ローカ
ルスタンバイSMI、外部入力SMIなどを発生する。
【0028】OR回路125は、SMI発生回路12
1,122,123のいずれかがSMI信号を発生した
時、そのSMI信号をCPU11に供給する。これらS
MI発生回路121,122,123の各々は、CPU
11がSMMを抜けるまでSMI信号をアクティブステ
ートに維持し続ける。このため、あるSMI信号に対す
るSMI処理中に他のSMI信号が発生された時は、C
PU11は最初のSMI信号に対応するSMMを抜けた
後に、SMI処理中に発生したSMI信号によって再び
SMMに移行する。
【0029】SMIステータスレジスタ124は、SM
I発生要因を示すステータスデータを保持するためのも
のであり、SMI発生回路121,122,123それ
ぞれの出力を保持する。
【0030】メインメモリ13はこのシステムの主記憶
として使用されるものであり、オペレーティングシステ
ム、高速ハイバネーションソフトウェアドライバ、処理
対象のアプリケーションプログラム、およびアプリケー
ションプログラムによって作成されたユーザデータ等が
格納される。このメインメモリ13はDRAMなどの半
導体メモリによって実現されている。SMRAM(Syst
em Management RAM )13Aは、メインメモリ13を構
成する物理メモリの一部に割り当てられた記憶空間であ
り、SMI信号がCPU11に入力された時だけメモリ
アドレスがマッピングされてアクセス可能となる。ここ
で、SMRAMがマッピングされるアドレス範囲は固定
ではなく、SMBASEと称されるレジスタによって4
Gバイト空間の任意の場所に変更することが可能であ
る。SMBASEレジスタは、SMM中でないとアクセ
スできない。
【0031】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM13Aにスタック形式
でセーブされる。このSMRAM13Aには、BIOS
−ROM14のシステム管理プログラムを呼び出すため
の命令が格納されている。この命令は、CPU11がS
MMに入った時に最初に実行される命令であり、この命
令実行によってシステム管理プログラムに制御が移る。
【0032】BIOS−ROM14は、システムBIO
S(Basic I/O System)を記憶するためのものであり、
プログラム書き替えが可能なようにフラッシュメモリに
よって構成されている。システムBIOSは、このシス
テム内の各種ハードウェアをアクセスするファンクショ
ン実行ルーチンを体系化したものであり、リアルモード
で動作するように構成されている。
【0033】このシステムBIOSには、システムのパ
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群が含まれてい
る。各BIOSドライバは、ハードウェア制御のための
複数の機能をオペレーティングシステムやアプリケーシ
ョンプログラムに提供するためにそれら機能に対応する
複数のファンクション実行ルーチン群を含んでいる。
【0034】また、BIOS−ROM14には、SMI
ハンドラおよび前述のハイバネーションルーチンなど、
SMMの中で実行されるシステム管理プログラムも格納
されている。SMIハンドラは、SMIの発生要因に応
じて各種SMIサービスルーチンを起動するためのもの
であり、電源オフ操作に起因するSMIが発生した場合
にはハイバネーションルーチンを起動し、他の要因によ
るSMIが発生した場合にはその要因に対応するSMI
サービスルーチンを起動する。
【0035】BIOSのハイバネーションルーチンは、
SMIだけでなく、他のプログラムからのソフトウェア
割り込みによって起動することもできる。HDD15は
このシステムの2次記憶装置として使用されるものであ
り、その記憶エリアの一部には図示のようにハイバネー
ションエリアとハイバネーション完了フラグ設定エリア
が確保される。ハイバネーションエリアとハイバネーシ
ョン完了フラグ設定エリアはIRTによるHDD15の
初期化およびテスト時にシステムBIOSによって確保
され、ハイバネーションエリアとハイバネーション完了
フラグ設定エリアを除く他の記憶領域がOSに解放され
る。
【0036】RTC16は時計モジュールであり、独自
の電池によりバックアップされたCMOSメモリ161
を有している。CMOSメモリ161には、パワーアッ
プモードとしてブートモードとレジュームモードを選択
するための情報などを含むシステムコンフィグレーショ
ン情報と、ハイバネーション完了フラグなどが設定され
る。ブートモードはシステムがパワーオンされたときに
オペレーティングシステムを立ち上げるためのブートス
トラップ処理を起動するモードであり、またレジューム
モードは電源オフ時にハイバネーション処理を実行し、
システムがパワーオンされたときにHDDにセーブされ
ている内容を元のメモリおよびCPUなどにリストアす
るモードである。
【0037】キーボードコントローラ17は、キーボー
ド171、およびポインティングスティックやマウスな
どのポインティングデバイス172を制御するためのも
のであり、押下キーに対応するキーコード、ポインティ
ングされた相対座標データ、マウスボタンのクリック操
作の状態などの情報をCPU11に通知するためのキー
バッファを有している。
【0038】電源コントローラ18は、このシステムの
電源オン/オフを制御するためのものであり、電源スイ
ッチ181がオンされたとき、またはパネル開閉スイッ
チ182によってLCDパネルユニットが開かれたこと
が検出されたときに、ACアダプタまたは内部バッテリ
からこのシステム内の各モジュールに対する動作電源を
生成してそれらに供給する。また、電源スイッチ181
がオフされたとき、またはパネル開閉スイッチ182に
よってLCDパネルユニットが閉じられたことが検出さ
れたときは、電源コントローラ18は、そのことをSM
I発生回路121に通知した後、CPU11からのパワ
ーオフコマンドの発行を待ってシステム内の各モジュー
ルに対する動作電源の供給を停止する。
【0039】VGAコントローラ19は、このシステム
のディスプレイモニタとして使用されるLCD192を
制御するためのものであり、VRAM191に描画され
た画面データをLCDパネルユニット内のLCD192
に表示する。
【0040】以下、この発明の特徴とするハイバネーシ
ョン処理について具体的に説明する。まず、図2を参照
して、SMIの発生からBIOSのハイバネーションル
ーチンが起動されるまでの一連の動作を説明する。
【0041】ユーザによって電源スイッチ181がオフ
されたり、またはユーザによってLCDパネルユニット
が閉じられたことがパネル開閉スイッチ182によって
検知されると、電源コントローラ18は電源オフ要因が
発生したことをSMI発生回路121に通知する。この
通知に応答して、SMI発生回路121からSMI信号
が発生され、それがCPU11に供給される。
【0042】CPU11にSMI信号が入力されると、
CPU11は、その時の動作モードからSMMにスイッ
チされる。SMMに入ると、CPU11は、まず、SM
RAM13Aに所定のメモリアドレスをマッピングす
る。これにより、SMRAM13Aがアクセス可能とな
る。
【0043】SMRAM13Aには、CPUステート格
納エリア、CPU以外の他のハードウェアに関するステ
ータスを格納するハードウェアステータス(HWステー
タス)格納エリアなどが設けられており、またBIOS
−ROM14のSMIハンドラを割り込み先として指定
するジャンプコードがセットされている。前述したよう
に、BIOS−ROM14には、IRTルーチン、SM
Iハンドラ、ハイバネーションルーチン、および複数の
BIOSドライバ群を含むシステムBIOSが格納され
ている。
【0044】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AM13AのCPUステート格納エリアにスタック形式
でセーブする。そして、CPU11は、SMMのスター
トアドレスのコード、つまりSMRAM13Aにセット
されているジャンプコードをフェッチし、そのジャンプ
コードで指定されるBIOS−ROM14のSMIハン
ドラを実行する。ここまでの処理は、CPU11自体つ
まりCPU11のマイクロプログラムによって実行され
るものである。
【0045】ジャンプコードの実行によって呼び出され
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る。この処理では、SMIステータスレジスタ124に
セットされているSMIステータス情報が参照される。
電源オフに起因するSMIであれば、SMIハンドラ
は、BIOS−ROM14のハイバネーションルーチン
の実行をリクエストする。これにより、ハイバネーショ
ンルーチンがSMMの中で実行される。
【0046】次に、図3を参照して、BIOSのハイバ
ネーションルーチン、オペレーティングシステム、高速
ハイバネーションソフトウェアドライバ間の関係につい
て説明する。
【0047】電源スイッチやサスペンドボタンの操作が
行われると、BIOSのハイバネーションルーチン10
1、あるいはパワーマネージメント制御用の他のBIO
Sドライバは、サスペンド要求をオペレーティングシス
テム102に発行する。オペレーティングシステム10
2は、実行中のプログラムによる処理に影響が及ぼされ
ないようにサスペンド処理移行のための準備を行い、サ
スペンド可能状態になるとサスペンドメッセージを発行
する。このサスペンドメッセージは、高速ハイバネーシ
ョンソフトウェアドライバ103によってフックされ
る。高速ハイバネーションソフトウェアドライバ103
は、まとまった空き領域を確保するために主メモリ13
上で空き領域の移動および廃棄可能領域の廃棄といった
メモリ整理を実行し、これによって得た空き領域をBI
OSのハイバネーションルーチン101に通知する。B
IOSのハイバネーションルーチン101は、高速ハイ
バネーションソフトウェアドライバ103から通知され
た空き領域以外の他の領域のみをHDD15のハイバネ
ーションエリアにセーブする。
【0048】次に、図4および図5を参照して、ハイバ
ネーション処理で行われるメモリ整理処理について説明
する。図4はメモリ整理処理の様子を示す原理図であ
る。ここでは、ハッチング部は空き領域を示し、またク
ロスハッチ部は、例えば終了されたプログラムのコード
部などの破棄可能領域や、プログラムのデータ部などの
スワップアウト可能領域を示している。
【0049】空きメモリ領域や破棄/スワップ可能領域
を一つにまとめるメモリ整理処理では、まず、空き領域
が他の空き領域や破棄/スワップ可能領域と連続するよ
うに空き領域の移動が行われる(ステップS101)。
次いで、破棄可能データを廃棄し、そしてスワップ可能
データをHDD15のスワップ領域にスワップアウトす
る(ステップS102,S103)。以上のステップS
101〜S103の処理により、セーブする必要がない
領域が一つの連続した領域にまとめられる。
【0050】次いで、セーブする必要がない領域を除く
他の領域(使用領域)のみがHDD15のハイバネーシ
ョンエリアにセーブされた後(ステップS105)、シ
ステムがパワーオフされる(ステップS105)。
【0051】電源再投入時に行われるレジューム処理で
は、図6に示されているように、システムBIOSによ
って、HDD15のハイバネーションエリアにセーブさ
れた内容が主メモリ13の元の位置にリストアされ、こ
れによって主メモリ13が電源オフ直前の状態に復元さ
れる(ステップS106)。そして、復元された主メモ
リ13の内容を元にCPU11のレジスタや他の各種ハ
ードウェアの状態が復元される(ステップS107)。
【0052】次に、図7を参照して、BIOSのハイバ
ネーションルーチンで実行されるデータセーブ処理の原
理を説明する。BIOSのハイバネーション処理では、
SMRAM13Aを含むメインメモリ13の使用領域と
VRAM191の内容とがHDD15のハイバネーショ
ンエリアにセーブされるが、この時、セーブ対象となる
メモリ空間は複数のメモリブロックに分割され、それら
ブロック単位でHDD15へのデータ転送が行われる。
【0053】図7においては、説明を簡単にするため
に、セーブ対象となるメモリ空間がメモリブロック#1
からメモリブロック#7の8個のメモリブロックに分割
されている場合が示されているが、実際には、HDD1
5の1トラックに相当するデータサイズ単位でメモリ空
間がブロック分けされる。
【0054】HDD15へのデータ転送処理は、メモリ
ブロック#1からメモリブロック#7の順番で実行され
る。1つのメモリブロックの転送が完了すると、次のメ
モリブロックのデータをHDD15に転送する処理を開
始する前に、ハードウェアステータスのチェックが行わ
れる。このハードウェアステータスのチェックは、ユー
ザから所定の入力イベントがハイバネーション処理期間
中に発生されたか否かを検出するものである。
【0055】所定の入力イベントの発生が検出されたと
きは、ハイバネーション処理はその時点で中断され、C
PU11および他のハードウェアはすべて電源オフ前の
状態に復元され、割り込みもとのプログラムに制御が戻
される。入力イベントとしては、キーボード171から
のキー入力、ポインティングデバイス172の操作、L
CDパネルユニットの開放などを利用できる。これら
は、それぞれキーボードコントローラ17のキーバッフ
ァをリードしたり、電源コントローラ18のステータス
レジスタをリードすることなどによって検知することが
できる。
【0056】一方、入力イベントの発生が検出されるこ
となく、すべてのメモリブロックの転送が完了した場合
には、最後に、ハイバネーション完了フラグがHDD1
5のハイバネーション完了フラグ設定エリアにセットさ
れる。
【0057】このように、ハイバネーション期間中に定
期的にハードウェアステータスをチェックすることによ
りユーザからの所定の入力イベントの有無を調べ、入力
イベントの発生が検出された時点でハイバネーション処
理を中断してシステムをハイバネーション開始前の作業
状態に復元することにより、ユーザは、一旦ハイバネー
ション処理が開始された後においても、キー入力などを
行うことにより、ハイバネーション処理の完了を待つこ
となく即座にそれまでの作業を継続することが可能とな
る。よって、高速ハイバネーションソフトウェアドライ
バによってハイバネーション処理の高速化が図れると共
に、その中断も可能となるので、十分な操作性を提供で
きるようになる。
【0058】次に、図8のフローチャートを参照して、
ハイバネーション処理時におけるOS、高速ハイバネー
ションソフトウェアドライバ、BIOSハイバネーショ
ンルーチンの動作を具体的に説明する。
【0059】ここでは、図4および図5で説明したメモ
リ整理処理をオペレーティングシステムの機能を用いて
実現する場合について説明する。すなわち、オペレーテ
ィングシステムはプログラムに対するメモリ割り当てを
管理する機能を有しており、メモリ領域が新たに要求さ
れると、要求されたサイズのメモリ領域を主メモリ13
上に確保するために、主メモリ13上の空き領域の移
動、廃棄可能データの廃棄、スワップ可能データのスワ
ップといった処理を行う。したがって、高速ハイバネー
ションソフトウェアドライバがオペレーティングシステ
ムに対して例えば実際の空き領域サイズよりも大きい所
定サイズのメモリ領域を要求することによって、結果的
にオペレーティングシステムにメモリ整理を実行させる
ことができる。この場合、要求したメモリ領域は実際に
は使用されない領域であるので、この領域以外の領域を
使用領域として認識し、それをHDD15にセーブすれ
ばよい。具体的な動作は以下の通りである。
【0060】オペレーティングシステムからサスペンド
メッセージが発行されると(ステップS201)、高速
ハイバネーションソフトウェアドライバはそのサスペン
ドメッセージに応答して、まず、オペレーティングシス
テムに対して現在のメモリ管理状態を示すメモリ管理情
報(ページインフォメーション)を要求する(ステップ
S202)。ページインフォメーションは、主メモリ1
3内に実在するページに対するプログラム(プロセス)
のマッピング状態を示すものであり、仮想記憶機構を実
現するためのデマンドページングを実行するためにオペ
レーティングシステムによって管理されている。
【0061】高速ハイバネーションソフトウェアドライ
バは、オペレーティングシステムからページインフォメ
ーションを受け取ると、そのページインフォメーション
が示す現在のメモリ使用状況に基づいて、オペレーティ
ングシステムに要求すべきメモリサイズを決定する(ス
テップS203,S204)。ここでは、まず、ページ
インフォメーションで管理されている全ページ数から主
メモリ13として実装されたメモリサイズが調べられ
る。ページサイズは通常4Kバイトであるので、実装さ
れたメモリサイズは、全ページ数・4Kバイトで求めら
れる。次に、空きメモリサイズが、空きページ数・4K
バイトで求められる。要求すべきメモリサイズM1は、
次の関係が成り立つ範囲で決定される。
【0062】空きページ数・4Kバイト < M1 <
全ページ数・4Kバイト本実施形態では、高速ハイバ
ネーションソフトウェアドライバの中に実装メモリサイ
ズと要求すべきメモリサイズとの関係が予め定義されて
おり、実際の空きメモリサイズとは関係なく、実装メモ
リサイズから、要求すべきメモリサイズが決定されるよ
うになっている。実装メモリサイズと要求すべきメモリ
サイズとの関係は、例えば次の通りである。
【0063】 実装メモリサイズ 要求すべきメモリサイズ 40MB 24MB 32MB 20MB 16MB 10MB 通常、アプリケーションプログラムには2GB乃至4G
Bの仮想記憶空間が割り当てられており、その内の一部
のプロセスが実メモリ上に存在され、それ以外の大半の
部分は2次記憶装置にスワップされている。したがっ
て、主メモリ13上に実在されるコードおよびデータの
全体サイズは、実装メモリサイズが大きいほど大きくな
るのが普通である。このように、コードおよびデータに
よって常時占有されるメモリサイズは実装メモリサイズ
によってほぼ決定されるので、実際の空き領域のサイズ
を検出する代わりに、オペレーティングシステムに要求
するメモリサイズを、実装メモリサイズから決定するこ
とができる。ここで、上記の数値は本発明者による実験
結果に基づいて決定されたものであるが、実装メモリサ
イズ全体を要求するのではなく、それよりも一定値以下
のサイズを要しているのは、メモリ常駐が必要なシステ
ムコードなどの領域を浸食するようなメモリサイズを要
求すると、メモリ割り当てエラーが発生してしまい、オ
ペレーティングシステムにメモリ整理処理を実行させら
れなくなるためである。
【0064】このようにして、要求すべきメモリサイズ
が決定すると、高速ハイバネーションソフトウェアドラ
イバは、そのメモリサイズ分のメモリをオペレーティン
グシステムに要求する(ステップS205)。このメモ
リ要求に応じて、オペレーティングシステムは、要求さ
れたサイズのメモリ領域を確保するために、図5および
図6で説明した空き領域の移動、破棄可能領域の破棄、
スワップ可能領域のスワップによるメモリ整理(メモリ
再配置)を実行する(ステップS206)。そして、要
求されたサイズのメモリが確保できると、オペレーティ
ングシステムは、その先頭アドレスを高速ハイバネーシ
ョンソフトウェアドライバに通知する(ステップS20
7)。
【0065】高速ハイバネーションソフトウェアドライ
バは、確保されたメモリ領域の先頭アドレスとサイズを
BIOSのハイバネーションルーチンに通知し、ハイバ
ネーション処理を実行させる(ステップS208)。B
IOSのハイバネーションルーチンは、通知されたメモ
リ領域を除く他のメモリ領域を、HDD15のハイバネ
ーションエリアにセーブする(ステップS209)。
【0066】電源再投入時におけるOS、高速ハイバネ
ーションソフトウェアドライバ、BIOSの動作を図9
に示す。システムBIOSは、HDD15のハイバネー
ションエリアにセーブされた内容を主メモリ13の元に
位置にリストアして、オペレーティングシステムに制御
を渡す(ステップS301)。オペレーティングシステ
ムは電源オフ直前の状態から処理を再開するための準備
を終えると、プロセス動作を再開させるためにレジュー
ムメッセージを送信する(ステップS302)。このレ
ジュームメッセージに応答して、高速ハイバネーション
ソフトウェアドライバは、図8のステップS205で要
求したメモリ領域を解放する(ステップS303)。
【0067】次に、図10乃至図12を参照して、高速
ハイバネーション処理に関係するBIOSの具体的な動
作について説明する。まず、図10のフローチャートを
参照して、システムパワーオン時にBIOSのIRTル
ーチンによって実行されるハイバネーションエリア確保
処理について説明する。
【0068】IRTルーチンは、ブートモード環境下に
おいては、システムパワーオン時にそのブートストラッ
プ処理に先だって、システム内のメモリおよびハードウ
ェアについてのテストおよび初期化を実行する(ステッ
プS401,S402)。これらテストおよび初期化処
理においては、メインメモリ13の物理サイズ、VRA
M191の物理サイズ、およびHDD15の構成(ヘッ
ド数、シリンダ数、セクタ数)が調べられる。そして、
メインメモリ13とVRAM191の合計メモリサイズ
に相当するハイバネーションエリアが、HDD15上に
確保される(ステップS403)。
【0069】この場合、実際には、HDD15の全記憶
サイズ(ヘッド数、シリンダ数、セクタ数によって決定
される)の中からメインメモリ13とVRAM191の
合計メモリサイズに相当するサイズがHDD15の記憶
エリアの最後尾側にハイバネーションエリア(ハイバネ
ーション完了フラグエリアを含む)として確保され、そ
のハイバネーションエリアのサイズを差し引いた残りの
記憶エリア(ヘッド数、シリンダ数、セクタ数)がHD
D15の構成としてOSに通知される。これにより、ハ
イバネーションエリアはハイバネーションルーチンによ
って排他的に使用され、OSによって使用されることは
ない。このことは、ハイバネーション処理の実行による
システムデータおよびユーザデータの破壊、およびハイ
バネーション処理でセーブされた内容の破壊を防止でき
ることを意味する。
【0070】また、本実施形態では、主メモリ13全体
の記憶領域ではなく、高速ハイバネーションソフトウェ
アドライバによって確保されたメモリ領域を除く他の領
域だけがセーブされるので、そのセーブされる領域のサ
イズ(実装メモリが40MBであれば16MB、実装メ
モリが32MBであれば12MB、実装メモリが16M
Bであれば6MB)とVRAM191のサイズとの合計
メモリサイズだけをハイバネーションエリアとして確保
するようすることも可能である。これにより、より多く
のディスクサイズをユーザに提供できるようになる。
【0071】次に、図11のフローチャートを参照し
て、BIOSハイバネーションルーチンの処理手順を説
明する。ハイバネーションルーチンは、まず、CPUス
テートおよびハードウェアステートをSMRAM13A
にセーブする(ステップS501)。次に、ハイバネー
ションルーチンは、ハイバネーション処理の中断要因と
して予め決められているユーザからの入力イベント(キ
ー入力、LCDパネルユニットの開放)の発生の有無を
調べるために、ポーリングによって該当する各ハードウ
ェアのレジスタをリードする(ステップS502)。そ
して、いずれかの入力イベントが発生しているか否かを
判断する(ステップS503)。
【0072】いずれの入力イベントも発生してない場合
には、ハイバネーションルーチンは、高速ハイバネーシ
ョンソフトウェアドライバによって確保されたメモリ領
域以外の他のメモリ領域の内容を、図7で説明したよう
にメモリブロック単位(HDD15のトラック単位)で
HDD15のハイバネーションエリアに転送する(ステ
ップS504)。1メモリブロック分の転送が完了する
と、全メモリブロック分の転送が完了したか否かが調べ
られ(ステップS505)、完了してない場合には、完
了するまでステップS502〜S504の処理が繰り返
し実行される。
【0073】ステップS503において入力イベントの
発生が検出されると、ハイバネーションルーチンはハイ
バネーション中断処理を開始し、SMRAM13AのC
PUステートおよびハードウェアステートをそれぞれC
PU11のレジスタおよび該当するハードウェアのレジ
スタにリストアする(ステップS506)。そして、復
帰命令RSMが実行され、電源オフ直前に実行されてい
たプログラムに制御が戻される。
【0074】一方、入力イベントが発生せずに全てのメ
モリブロックの転送が完了した場合には、ハイバネーシ
ョンルーチンは、ハイバネーション完了フラグをRTC
16のCMOS161およびHDD15にセットした後
(ステップS507,S508)、電源コントローラ1
8にパワーオフコマンドを送ってシステムをパワーオフ
させる(ステップS509)。
【0075】次に、図12のフローチャートを参照し
て、ハイバネーション処理でセーブされた内容を復元す
るレジューム処理におけるシステムBIOSの動作につ
いて説明する。
【0076】システムがパワーオンされると、システム
BIOSは、RTC16のCMOS161の設定情報を
リードし(ステップS601)、現在のパワーアップモ
ードがレジュームモードとブートモードのどちらに設定
されているかを判断する(ステップS602)。レジュ
ームモードであれば、CMOS161にハイバネーショ
ン完了フラグがセットされているか否かが調べられる
(ステップS603)。パワーアップモードがブートモ
ードの場合、あるいはレジュームモードであってもCM
OS161にハイバネーション完了フラグがセットされ
ていない場合には、図10のIRTルーチンが実行され
た後、OSを起動するブートストラップ処理が実行され
る(ステップS608)。
【0077】一方、CMOS161にハイバネーション
完了フラグがセットされていた場合には、HDD15の
ハイバネーション完了フラグエリアがリードされ、そこ
にハイバネーション完了フラグがセットされているか否
かが調べられる(ステップS604,S605)。HD
D15にハイバネーション完了フラグがセットされてな
いということは、そのHDD15のハイバネーションエ
リアの内容が無効であることを意味する。これは、例え
ば、ハイバネーション処理後の電源オフ中にHDD15
が別のHDDに交換されたことなどを意味する。この場
合、システムBIOSはエラーメッセージを画面表示し
た後(ステップS607)、そのメッセージに応答した
ユーザからの所定のキー入力操作などに応答してブート
ストラップ処理を起動する(ステップS608)。
【0078】HDD15にハイバネーション完了フラグ
がセットされている場合には、システムBIOSは、H
DD15のハイバネーションエリアの内容をそれぞれC
PU11、各種ハードウェア、メインメモリ13、VR
AM191にリストアしてハイバネーション処理を起動
し電源オフ直前の作業状態を復元し、その時のプログラ
ムに制御が戻される(ステップS606)。
【0079】以上のように、この実施形態においては、
主メモリ13として実装されたメモリ全てがセーブされ
るのではなく、空き領域および破棄/スワップ可能領域
などの保存不要な領域を除く、使用中領域のみがHDD
15にセーブされる。したがって、HDD15に対する
データ転送量を低減できるようになり、ハイバネーショ
ン処理の高速化を図ることが可能となる。
【0080】また、オペレーティングシステムに対して
空きメモリサイズよりも大きい所定のメモリサイズを要
求することによってメモリ整理処理をオペレーティング
システムに実行させ、これによって確保されたメモリ領
域以外の領域についてのみHDD15に保存しているの
で、複雑なメモリ管理のための仕組みを新たに用意する
ことなく、保存すべきデータ量を容易に低減することが
できる。
【0081】次に、図13および図14を参照して、本
実施形態のハイバネーション処理の第2の例について説
明する。ここでは、BIOSのハイバネーションルーチ
ンは使用されず、高速ハイバネーションソフトウェアド
ライバによってデータのセーブが直接行われる。これ
は、ハイバネーション対応のBIOSを持たないシステ
ムにおいても、高速ハイバネーション処理を実行可能に
すると共に、専用のハイバネーションエリアを確保する
必要性をなくすためである。
【0082】図13は高速ハイバネーションソフトウェ
アドライバによるデータ転送処理の様子を示している。
ハッチング部は空き領域を示し、またクロスハッチ部
は、例えば終了されたプログラムのコード部などの破棄
可能領域を示している。高速ハイバネーションソフトウ
ェアドライバは、空き領域および破棄可能領域を除く他
の領域のみを使用中メモリとして、HDD15のハイバ
ネーションエリアにセーブする。
【0083】この場合におけるOS、高速ハイバネーシ
ョンソフトウェアドライバ、BIOSの動作を図14に
示す。オペレーティングシステムからサスペンドメッセ
ージが発行されると(ステップS701)、高速ハイバ
ネーションソフトウェアドライバはそのサスペンドメッ
セージに応答して、まず、オペレーティングシステムに
対して現在のメモリ管理状態を示すメモリ管理情報(ペ
ージインフォメーション)を要求する(ステップS70
2)。ページインフォメーションは、前述したように主
メモリ13内に実在するページに対するプログラム(プ
ロセス)のマッピング状態を示すものであり、仮想記憶
機構を実現するためのデマンドページングを実行するた
めにオペレーティングシステムによって管理されてい
る。
【0084】高速ハイバネーションソフトウェアドライ
バは、オペレーティングシステムからページインフォメ
ーションを受け取ると、そのページインフォメーション
が示す現在のメモリ使用状況に基づいて、空きページお
よび破棄可能ページ以外の他のページについてその物理
メモリアドレスを調べ、そのメモリ内容をオペレーティ
ングシステムのファイルシステムを利用してHDD15
にセーブする(ステップと704,S705)。この場
合、メモリ内容は、ハイバネーション領域ではなく、O
Sによって管理可能なHDD15の通常領域にファイル
として保存される。これにより、専用のハイバネーショ
ンエリアをHDD15上に設ける必要がなくなり、ディ
スク領域の有効利用が可能となる。
【0085】セーブ処理が完了すると、高速ハイバネー
ションソフトウェアドライバは、BIOSに対してパワ
ーオフを指示し、これに応答して電源コントローラ18
にシステム電源をオフさせるパワーオフ処理がBIOS
によって実行される(ステップS706,S707)。
【0086】
【発明の効果】以上説明したように、この発明によれ
ば、実装メモリ全てをハードディスク装置に保存するの
ではなく、空き領域などの保存不要な領域を除外した残
りの領域のみを保存するようにしているので、ハイバネ
ーション処理に要する時間を大幅に低減することが可能
となる。特に、空きメモリ領域以上の所定のメモリサイ
ズをオペレーティングシステムに要求することによっ
て、空き領域をまとめるメモリ整理処理が結果的にオペ
レーティングシステムによって実行されるようにしてい
るので、複雑なメモリ管理のための仕組みを新たに用意
することなく、保存すべきデータ量を容易に低減するこ
とが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るコンピュータシス
テム全体の構成を示すブロック図。
【図2】同実施形態のシステムにおいてSMIの発生か
らハイバネーションルーチンが起動されるまでの一連の
動作の一例を説明するための図。
【図3】同実施形態のシステムで使用されるBIOS、
オペレーティングシステム、高速ハイバネーションソフ
トウェアドライバ間の関係について説明するための図。
【図4】同実施形態のシステムにおけるハイバネーショ
ン処理の原理を説明するための図。
【図5】同実施形態のシステムにおけるハイバネーショ
ン処理の手順を示すフローチャート。
【図6】同実施形態のシステムにおいてハイバネーショ
ン処理でセーブされた内容を復元するレジューム処理の
手順を示すフローチャート。
【図7】同実施形態のシステムにおけるメモリからHD
Dへのデータ転送動作を示す図。
【図8】同実施形態のシステムのハイバネーション処理
時におけるOS、高速ハイバネーションソフトウェアド
ライバ、BIOSハイバネーションルーチンの動作を具
体的に説明するフローチャート。
【図9】同実施形態のシステムにおいてハイバネーショ
ン処理でセーブされた内容を復元する時に実行されるO
S、高速ハイバネーションソフトウェアドライバ、BI
OSハイバネーションルーチンの動作を具体的に説明す
るフローチャート。
【図10】同実施形態のシステムのBIOSによって実
行されるハイバネーションエリア確保処理の手順を示す
フローチャート。
【図11】同実施形態のシステムのBIOSによって実
行されるデータセーブ処理の手順を示すフローチャー
ト。
【図12】同実施形態のシステムのBIOSによって実
行されるデータリストア処理の手順を示すフローチャー
ト。
【図13】同実施形態のシステムにおけるハイバネーシ
ョン処理の第2の例を説明するための図。
【図14】同実施形態のシステムにおけるハイバネーシ
ョン処理の第2の例を実行するときのOS、高速ハイバ
ネーションソフトウェアドライバ、BIOSハイバネー
ションルーチンの動作を具体的に説明するフローチャー
ト。
【符号の説明】
11…CPU 12…SMI制御回路 13…メインメモリ 13A…SMRAM 14…BIOS−ROM 15…HDD 16…RTC 17…キーボードコントローラ 18…電源コントローラ 19…VGAコントローラ 101…BIOS 102…オペレーティングシステム 103…高速ハイバネーションソフトウェアドライバ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−44418(JP,A) 特開 平7−84848(JP,A) 特開 平7−44437(JP,A) 特開 平8−328967(JP,A) 特開 平9−44417(JP,A) 特開 平8−305469(JP,A) 特開 平6−149661(JP,A) 特開 平4−205442(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G06F 12/02 G06F 1/30

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 電源オフ時にコンピュータシステムの主
    メモリの内容をそのシステムの2次記憶装置にセーブす
    る機能を有するコンピュータシステムにおいて、前記主メモリ上で空き領域の移動又は廃棄可能領域の廃
    棄を行うことで連続した空き領域を確保するためのメモ
    リ整理を実行するメモリ整理手段と、 このメモリ整理手段により確保された主メモリ上の空き
    領域以外の使用領域を、 前記2次記憶装置にセーブする
    手段とを具備することを特徴とするコンピュータシステ
    ム。
  2. 【請求項2】 前記メモリ整理手段は、 前記コンピュータシステムのオペレーティングシステム
    に対して所定サイズのメモリ領域を要求することによっ
    て、前記オペレーティングシステムに前記メモリ整理の
    ための処理を実行させる手段を含み、 前記セーブ手段は、 前記オペレーティングシステムによって前記メモリ整理
    手段に割り当てられたメモリ領域以外の他の領域を、前
    記使用中領域として前記2次記憶装置にセーブすること
    を特徴とする請求項1記載のコンピュータシステム。
  3. 【請求項3】 前記メモリ整理手段は、 前記コンピュータシステムのオペレーティングシステム
    に対して現在の空き領域よりも大きいサイズのメモリ領
    域を要求することを特徴とする請求項2記載のコンピュ
    ータシステム。
  4. 【請求項4】 前記メモリ整理手段は、 前記コンピュータシステムに実装されている主メモリの
    サイズを検出する手段と、 検出した前記主メモリサイズに応じて、前記オペレーテ
    ィングシステムに対して要求するメモリ領域のサイズを
    決定する手段とを含むことを特徴とする請求項2記載の
    コンピュータシステム。
  5. 【請求項5】 電源オフ時にコンピュータシステムの主
    メモリの内容をそのシステムの2次記憶装置にセーブす
    る機能を有するコンピュータシステムにおい て、 前記コンピュータシステムのオペレーティングシステム
    に対して所定サイズのメモリ領域を要求することによっ
    て、前記オペレーティングシステムに対して前記主メモ
    リ上で空き領域の移動又は廃棄可能領域の廃棄を行うこ
    とで連続した空き領域を確保するためのメモリ整理を実
    行させる要求を出す手段と、 この要求に基づいてメモリ整理された主メモリ上の空き
    領域以外の使用領域を、前記2次記憶装置にセーブする
    セーブ手段と を具備することを特徴とするコンピュータ
    システム。
  6. 【請求項6】 電源再投入時に前記2次記憶装置の内容
    を用いて前記主メモリの状態を復元する手段と、 前記要求に応じて前記コンピュータシステムのオペレー
    ティングシステムから割り当てられた前記メモリ領域を
    解放する手段とをさらに具備することを特徴とする請求
    項5記載のコンピュータシステム。
  7. 【請求項7】 前記セーブ手段は、前記オペレーティン
    グシステムから割り当てられたメモリ領域を除く前記主
    メモリ上の他の領域の内容を、前記2次記憶装置の通常
    領域にファイルとして書き込むことを特徴とする請求項
    5記載のコンピュータシステム。
  8. 【請求項8】 コンピュータシステムの電源オフ時にそ
    のコンピュータシステムの主メモリの内容をそのシステ
    ムの2次記憶装置にセーブするデータセーブ制御方法に
    おいて、 前記コンピュータシステムのオペレーティングシステム
    に対して所定サイズのメモリ領域を要求することによっ
    て、前記オペレーティングシステムに対して前記主メモ
    リ上で空き領域の移動又は廃棄可能領域の廃棄を行うこ
    とで連続した空き領域を確保するためのメモリ整理を実
    行させる要求を出し、 この要求に基づいてメモリ整理された主メモリ上の空き
    領域以外の使用領域を、前記2次記憶装置にセーブする
    セーブすることを特徴とするデータセーブ制御方法。
  9. 【請求項9】 電源再投入時に、前記2次記憶装置の内
    容を用いて前記主メモリの状態を復元し、 前記要求に応じて前記コンピュータシステムのオペレー
    ティングシステムから割り当てられた前記メモリ領域を
    解放することを特徴とする請求項8記載のデータセーブ
    制御方法。
JP14255497A 1997-05-30 1997-05-30 コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法 Expired - Fee Related JP3238097B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14255497A JP3238097B2 (ja) 1997-05-30 1997-05-30 コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14255497A JP3238097B2 (ja) 1997-05-30 1997-05-30 コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法

Publications (2)

Publication Number Publication Date
JPH10333997A JPH10333997A (ja) 1998-12-18
JP3238097B2 true JP3238097B2 (ja) 2001-12-10

Family

ID=15318049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14255497A Expired - Fee Related JP3238097B2 (ja) 1997-05-30 1997-05-30 コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法

Country Status (1)

Country Link
JP (1) JP3238097B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
WO2004059476A1 (ja) * 2002-12-24 2004-07-15 Fujitsu Limited メモリ・イメージの生成
CN100339798C (zh) * 2005-01-21 2007-09-26 宏碁股份有限公司 休眠方法及其装置
JP5445463B2 (ja) 2008-11-17 2014-03-19 日本電気株式会社 計算機システム、データ保存方法およびプログラム
JP4498456B1 (ja) * 2009-02-19 2010-07-07 株式会社東芝 データ記憶制御装置及びデータ記憶制御方法
JP5598144B2 (ja) * 2010-08-04 2014-10-01 ソニー株式会社 情報処理装置、電源制御方法、およびプログラム
JP5039221B2 (ja) * 2011-04-08 2012-10-03 株式会社東芝 情報処理装置および情報処理装置におけるデータ退避高速化方法
JP5687177B2 (ja) * 2011-11-30 2015-03-18 京セラドキュメントソリューションズ株式会社 再起動装置及び再起動方法
JP2015022494A (ja) * 2013-07-18 2015-02-02 京セラドキュメントソリューションズ株式会社 電子機器およびサスペンド制御プログラム

Also Published As

Publication number Publication date
JPH10333997A (ja) 1998-12-18

Similar Documents

Publication Publication Date Title
JP3253881B2 (ja) コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法
JP4434482B2 (ja) 仮想モードでのシステム管理モードサービスを実行する方法及び装置
US5696926A (en) Method and apparatus for transparently compressing data in a primary storage device
US5021983A (en) Suspend/resume apparatus and method for reducing power consumption in battery powered computers
JP4366012B2 (ja) 仮想記憶システムにおいてアプリケーションプログラムによってコードまたはデータをグループに分類して、物理メモリの割り振りの制御を行うアプリケーション・プログラミング・インターフェイス
US6938254B1 (en) Controlling memory usage in systems having limited physical memory
US5845134A (en) Suspend/resume control method and system
JP4580528B2 (ja) コンピュータシステムおよびそのレジューム処理方法
JPH04362717A (ja) システム再起動装置
EP0636981A1 (en) Information processing system
JPH086681A (ja) 省電力制御システム
HUP0004181A2 (en) Information handling system with suspend/resume operation
JPH07200112A (ja) 情報処理システム
KR970011216B1 (ko) 정보 처리 시스템
JP3238097B2 (ja) コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法
JP2974577B2 (ja) コンピュータシステム
JP2002099502A (ja) コンピュータシステムおよびデータ転送制御方法
EP0636983A1 (en) Information processing system
JPH0944418A (ja) 情報処理システム及びその制御方法
CN115993996A (zh) 一种基于rtos实现休眠模式的方法和系统
US20020156981A1 (en) Cacheable above one megabyte system management random access memory
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法
JPH11102238A (ja) コンピュータシステムおよびそのシステムにおけるサスペンド制御方法
JP2000172386A (ja) コンピュータシステムおよびメモリ電源管理方法
JP3018336B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees