JP2000267937A - 仮想記憶制御システム - Google Patents
仮想記憶制御システムInfo
- Publication number
- JP2000267937A JP2000267937A JP11073068A JP7306899A JP2000267937A JP 2000267937 A JP2000267937 A JP 2000267937A JP 11073068 A JP11073068 A JP 11073068A JP 7306899 A JP7306899 A JP 7306899A JP 2000267937 A JP2000267937 A JP 2000267937A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- page
- network
- virtual
- server
- 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
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】電子機器内で動作する組み込みプログラムに対
し、外部からネットワークを介して仮想的に大量のメモ
リが供給可能なようにする。 【解決手段】仮想記憶を用いた組み込みプログラム12
2を実行するCPU121を内蔵したノード12と、仮
想記憶のメモリページの実体が記憶される外部記憶装置
140、ページ管理機構141及びページ退避/復帰部
142を備えたメモリサーバ14とをネットワーク11
により相互接続し、組み込みプログラム(クライアン
ト)122から仮想記億のメモリページの退避または復
帰の要求が発生した場合に、その要求をネットワーク1
1経由でメモリサーバ14に通知して、要求されたメモ
リページの退避または復帰処理を当該メモリサーバ14
のページ退避/復帰部142により外部記憶装置140
を用いて行う構成とする。
し、外部からネットワークを介して仮想的に大量のメモ
リが供給可能なようにする。 【解決手段】仮想記憶を用いた組み込みプログラム12
2を実行するCPU121を内蔵したノード12と、仮
想記憶のメモリページの実体が記憶される外部記憶装置
140、ページ管理機構141及びページ退避/復帰部
142を備えたメモリサーバ14とをネットワーク11
により相互接続し、組み込みプログラム(クライアン
ト)122から仮想記億のメモリページの退避または復
帰の要求が発生した場合に、その要求をネットワーク1
1経由でメモリサーバ14に通知して、要求されたメモ
リページの退避または復帰処理を当該メモリサーバ14
のページ退避/復帰部142により外部記憶装置140
を用いて行う構成とする。
Description
【0001】
【発明の属する技術分野】本発明は、組み込みプログラ
ムが動作する電子機器を備えたシステムに係り、特に当
該機器で大量に仮想的なメモリを利用可能な仮想記憶制
御システムに関する。
ムが動作する電子機器を備えたシステムに係り、特に当
該機器で大量に仮想的なメモリを利用可能な仮想記憶制
御システムに関する。
【0002】
【従来の技術】一般に、制御機器などに組み込まれたC
PUが実行する組み込みプログラム、即ち組み込みOS
(オペレーティングシステム)及び当該OSの管理下で
動作するプログラムでは、利用できるハードウェア資源
がパーソナルコンピュータ等に比べて乏しくなってい
る。その理由は、製造コストが極力抑えられることや、
ハードウェアが動作する環境が(温度や振動などの点
で)苛酷であることなどにある。
PUが実行する組み込みプログラム、即ち組み込みOS
(オペレーティングシステム)及び当該OSの管理下で
動作するプログラムでは、利用できるハードウェア資源
がパーソナルコンピュータ等に比べて乏しくなってい
る。その理由は、製造コストが極力抑えられることや、
ハードウェアが動作する環境が(温度や振動などの点
で)苛酷であることなどにある。
【0003】このような条件から、組み込みプログラム
が使えるメモリの量にも厳しい制限がある。したがっ
て、パーソナルコンピュータ等で一般的なOSが快適に
動作できるだけの容量のメモリを、組み込みプログラム
が動作する制御機器(組み込み機器)で確保できる場合
は稀である。また、機器にはハードディスク等の外部記
憶装置は付いていない場合が多いので、仮想記億も利用
できない。
が使えるメモリの量にも厳しい制限がある。したがっ
て、パーソナルコンピュータ等で一般的なOSが快適に
動作できるだけの容量のメモリを、組み込みプログラム
が動作する制御機器(組み込み機器)で確保できる場合
は稀である。また、機器にはハードディスク等の外部記
憶装置は付いていない場合が多いので、仮想記億も利用
できない。
【0004】このようなメモリ量の制約から、従来の組
み込み機器における組み込みプログラムはアセンブラ
(或いは、せいぜいC言語)で記述され、メモリ操作は
絶対アドレスを直接指定して行っていた。
み込み機器における組み込みプログラムはアセンブラ
(或いは、せいぜいC言語)で記述され、メモリ操作は
絶対アドレスを直接指定して行っていた。
【0005】
【発明が解決しようとする課題】近時、組み込みプログ
ラムに求められる機能が高度化してきている。また、そ
れに伴ってプログラムが複雑化することから、プログラ
ムの保守性の高さやプログラム部品の再利用のしやすさ
などが求められるようになっている。
ラムに求められる機能が高度化してきている。また、そ
れに伴ってプログラムが複雑化することから、プログラ
ムの保守性の高さやプログラム部品の再利用のしやすさ
などが求められるようになっている。
【0006】高度なプログラムにはそれなりに大量のメ
モリが必要であり、また保守性や再利用性の高いプログ
ラムが記述可能な言語(米国サン・マイクロシステムズ
社が開発したJavaなど)を使うためにも、やはり大
量のメモリや、高度なメモリ管理機構(仮想記憶など)
が必要となる。
モリが必要であり、また保守性や再利用性の高いプログ
ラムが記述可能な言語(米国サン・マイクロシステムズ
社が開発したJavaなど)を使うためにも、やはり大
量のメモリや、高度なメモリ管理機構(仮想記憶など)
が必要となる。
【0007】ところが、組み込みプログラムが動作する
従来の制御機器等の電子機器(組み込み機器)には、前
記したように製造コスト等の関係で使えるメモリの量に
厳しい制限があった。したがって、この種の従来の電子
機器では、高度な組み込みプログラムを適用することは
困難であった。
従来の制御機器等の電子機器(組み込み機器)には、前
記したように製造コスト等の関係で使えるメモリの量に
厳しい制限があった。したがって、この種の従来の電子
機器では、高度な組み込みプログラムを適用することは
困難であった。
【0008】本発明は上記事情を考慮してなされたもの
でその目的は、電子機器内で動作する組み込みプログラ
ムに対し、外部からネットワークを介して仮想的に大量
のメモリを供給することができ、これにより高度な組み
込みプログラムの適用を可能とする仮想記憶システム。
でその目的は、電子機器内で動作する組み込みプログラ
ムに対し、外部からネットワークを介して仮想的に大量
のメモリを供給することができ、これにより高度な組み
込みプログラムの適用を可能とする仮想記憶システム。
【0009】
【課題を解決するための手段】本発明は、仮想記憶を用
いた組み込みプログラムを実行するCPUを内蔵した第
1の機器と、仮想記憶のメモリページの実体が記憶され
る大容量の記憶装置、及び前記各メモリページを管理す
るページ管理手段を備えた第2の機器とをネットワーク
により相互接続し、上記第1の機器には、当該機器内で
動作する組み込みプログラムから仮想記億のメモリペー
ジの退避または復帰の要求が発生した場合に、そのメモ
リページの退避または復帰要求をネットワーク経由で上
記第2の機器に送出するページ退避/復帰要求手段を設
ける一方、上記第2の機器には、上記第1の機器のペー
ジ退避/復帰要求手段からの要求に応じて、要求された
メモリページの退避または復帰処理を上記記憶装置を用
いて行うページ退避/復帰手段を設けたことを特徴とす
る。
いた組み込みプログラムを実行するCPUを内蔵した第
1の機器と、仮想記憶のメモリページの実体が記憶され
る大容量の記憶装置、及び前記各メモリページを管理す
るページ管理手段を備えた第2の機器とをネットワーク
により相互接続し、上記第1の機器には、当該機器内で
動作する組み込みプログラムから仮想記億のメモリペー
ジの退避または復帰の要求が発生した場合に、そのメモ
リページの退避または復帰要求をネットワーク経由で上
記第2の機器に送出するページ退避/復帰要求手段を設
ける一方、上記第2の機器には、上記第1の機器のペー
ジ退避/復帰要求手段からの要求に応じて、要求された
メモリページの退避または復帰処理を上記記憶装置を用
いて行うページ退避/復帰手段を設けたことを特徴とす
る。
【0010】このような構成において、組み込みプログ
ラムを実行するCPUを内蔵した第1の機器、つまり組
み込み機器(ノード)は、仮想記憶のメモリページの退
避(または復帰)を、ネットワークを介して第2の機器
(メモリサーバ)へ(または第2の機器から)行うこと
ができるため、ハードディスク等の外部記憶装置を設け
なくても、仮想記憶により大量のメモリを利用すること
が可能となる。
ラムを実行するCPUを内蔵した第1の機器、つまり組
み込み機器(ノード)は、仮想記憶のメモリページの退
避(または復帰)を、ネットワークを介して第2の機器
(メモリサーバ)へ(または第2の機器から)行うこと
ができるため、ハードディスク等の外部記憶装置を設け
なくても、仮想記憶により大量のメモリを利用すること
が可能となる。
【0011】ここで、上記第1の機器内で複数のプロセ
スが並列動作可能な構成では、各プロセス毎にそれぞれ
仮想アドレス空間(仮想メモリ)を持つことから、上記
第2の機器のページ管理手段では、各メモリページを、
当該ページを利用するプロセスの識別情報と共に管理す
るとよい。
スが並列動作可能な構成では、各プロセス毎にそれぞれ
仮想アドレス空間(仮想メモリ)を持つことから、上記
第2の機器のページ管理手段では、各メモリページを、
当該ページを利用するプロセスの識別情報と共に管理す
るとよい。
【0012】また、上記ネットワークに接続される第1
の機器が複数存在する構成では、上記各メモリページ
を、当該ページを利用する第1の機器の識別情報と共に
管理するとよい。
の機器が複数存在する構成では、上記各メモリページ
を、当該ページを利用する第1の機器の識別情報と共に
管理するとよい。
【0013】また本発明は、上記ネットワークに接続さ
れる第2の機器が複数存在するシステムにおいて、上記
第1の機器内に、メモリページの退避または復帰が必要
な場合に、メモりページの退避先または復帰元を要求し
ていることを、一斉同報によりネットワーク上の全ての
第2の機器に通知して、その通知に対する応答に基づい
て、メモりページの退避先または復帰元を決定するペー
ジ退避先/復帰元決定手段を設けたことを特徴とする。
れる第2の機器が複数存在するシステムにおいて、上記
第1の機器内に、メモリページの退避または復帰が必要
な場合に、メモりページの退避先または復帰元を要求し
ていることを、一斉同報によりネットワーク上の全ての
第2の機器に通知して、その通知に対する応答に基づい
て、メモりページの退避先または復帰元を決定するペー
ジ退避先/復帰元決定手段を設けたことを特徴とする。
【0014】このような構成においては、一斉同報通信
を利用した要求通知により、メモりページの退避先また
は復帰元となる第2の機器を容易に決定することができ
る。ここでは、第1の機器からの一斉同報通信を利用し
た要求通知により決定した退避先を、その第1の機器に
固有のメモリページ退避先として固定する方法、つまり
退避先となる第2の機器を第1の機器毎に予め決定して
おく方法、またはメモリページの退避が必要となる度
に、一斉同報通信を利用した要求通知により退避先とな
る第2の機器を動的に決定する方法が適用可能である。
を利用した要求通知により、メモりページの退避先また
は復帰元となる第2の機器を容易に決定することができ
る。ここでは、第1の機器からの一斉同報通信を利用し
た要求通知により決定した退避先を、その第1の機器に
固有のメモリページ退避先として固定する方法、つまり
退避先となる第2の機器を第1の機器毎に予め決定して
おく方法、またはメモリページの退避が必要となる度
に、一斉同報通信を利用した要求通知により退避先とな
る第2の機器を動的に決定する方法が適用可能である。
【0015】また復帰元についても、必ず退避先の第2
の機器とする方法、または上記した退避先を決定するの
と同様の一斉同報通信を利用した要求通知により決定す
る方法が適用可能である。退避先と復帰元とを異なるよ
うにした場合、つまりメモリページを第2の機器間で移
動させた場合、第2の機器間の負荷分散を図ることがで
きる。
の機器とする方法、または上記した退避先を決定するの
と同様の一斉同報通信を利用した要求通知により決定す
る方法が適用可能である。退避先と復帰元とを異なるよ
うにした場合、つまりメモリページを第2の機器間で移
動させた場合、第2の機器間の負荷分散を図ることがで
きる。
【0016】この他に、第1の機器からのメモリページ
の退避先または第1の機器に対するメモリページの復帰
元を決定するための特定の機器である第3の機器(アー
ビトレイタ)を上記ネットワークに接続し、第1の機器
から当該第3の機器に問い合わせをすることで、メモり
ページの退避先または復帰元を決定することも可能であ
る。
の退避先または第1の機器に対するメモリページの復帰
元を決定するための特定の機器である第3の機器(アー
ビトレイタ)を上記ネットワークに接続し、第1の機器
から当該第3の機器に問い合わせをすることで、メモり
ページの退避先または復帰元を決定することも可能であ
る。
【0017】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。
図面を参照して説明する。
【0018】[第1の実施形態]図1は本発明の第1の
実施形態に係る仮想記憶制御システムの構成を示すブロ
ック図である。同図において、イーサネット、ATM
(Asyncronous Transfar Mode)、ファイバーチャネル
などの高速なネットワーク11には、CPU121が組
み込まれた電子機器(組み込み機器)、例えば制御機器
(以下、ノードと称する)12が接続されている。ノー
ド12には、入出力インタフェース装置13を介して各
種制御対象(図示せず)が接続されている。
実施形態に係る仮想記憶制御システムの構成を示すブロ
ック図である。同図において、イーサネット、ATM
(Asyncronous Transfar Mode)、ファイバーチャネル
などの高速なネットワーク11には、CPU121が組
み込まれた電子機器(組み込み機器)、例えば制御機器
(以下、ノードと称する)12が接続されている。ノー
ド12には、入出力インタフェース装置13を介して各
種制御対象(図示せず)が接続されている。
【0019】ノード12内では、CPU121が、仮想
記憶を用いた(組み込みOS及び当該OSの管理下で動
作するプログラムからなる)組み込みプログラム122
を実行する。ノード12には、小容量の物理メモリ(実
メモリ)123が内蔵されている。またノード12に
は、組み込みプログラム122から見ることができる大
容量の仮想的なメモリ(仮想メモリ)124が等価的に
存在する。この仮想メモリ124は、次に述べるメモリ
サーバ14により提供される。ノード12内で処理対象
となる仮想メモリ124のメモリページのデータ(実ペ
ージデータ)は、ノード12にてCPU121により処
理可能なように、実メモリ123上の任意の領域に配置
される。
記憶を用いた(組み込みOS及び当該OSの管理下で動
作するプログラムからなる)組み込みプログラム122
を実行する。ノード12には、小容量の物理メモリ(実
メモリ)123が内蔵されている。またノード12に
は、組み込みプログラム122から見ることができる大
容量の仮想的なメモリ(仮想メモリ)124が等価的に
存在する。この仮想メモリ124は、次に述べるメモリ
サーバ14により提供される。ノード12内で処理対象
となる仮想メモリ124のメモリページのデータ(実ペ
ージデータ)は、ノード12にてCPU121により処
理可能なように、実メモリ123上の任意の領域に配置
される。
【0020】ネットワーク11にはまた、パーソナルコ
ンピュータ、ワークステーション等の情報処理機器によ
り実現されるメモリサーバ(メモリサーバ機器)14が
接続されている。メモリサーバ14は、ノード12上の
組み込みプログラム122に対して仮想メモリ124
(上のページ)を提供するものであり、その仮想メモリ
124上のページの実体が記憶される大容量の外部記憶
装置140を備えている。この外部記憶装置140は、
図1の例のようにハードディスクを用いたディスクアレ
イにより実現される他、半導体ディスク、DVD−RA
Mなどによっても実現可能である。メモリサーバ14
は、外部記憶装置140に記憶(退避)されているメモ
リページの管理と、ノード12上の組み込みプログラム
122に提供(復帰)したメモリページの管理を行うペ
ージ管理機構141、及びページ管理機構141の管理
のもとで、ノード12内の組み込みプログラム122か
ら要求されたメモリページの退避または復帰処理を外部
記憶装置140を用いて実行するページ退避/復帰部1
42を有する。
ンピュータ、ワークステーション等の情報処理機器によ
り実現されるメモリサーバ(メモリサーバ機器)14が
接続されている。メモリサーバ14は、ノード12上の
組み込みプログラム122に対して仮想メモリ124
(上のページ)を提供するものであり、その仮想メモリ
124上のページの実体が記憶される大容量の外部記憶
装置140を備えている。この外部記憶装置140は、
図1の例のようにハードディスクを用いたディスクアレ
イにより実現される他、半導体ディスク、DVD−RA
Mなどによっても実現可能である。メモリサーバ14
は、外部記憶装置140に記憶(退避)されているメモ
リページの管理と、ノード12上の組み込みプログラム
122に提供(復帰)したメモリページの管理を行うペ
ージ管理機構141、及びページ管理機構141の管理
のもとで、ノード12内の組み込みプログラム122か
ら要求されたメモリページの退避または復帰処理を外部
記憶装置140を用いて実行するページ退避/復帰部1
42を有する。
【0021】次に、図1の構成のシステムにおける動作
を説明する。ノード12上の組み込みプログラム122
の動作によって、仮想メモリ124上のページ(仮想記
憶のメモリページ)の退避/復帰が必要になったとす
る。一般の、仮想記憶方式を適用するパーソナルコンピ
ュータ等の情報処理機器であれば、ハードディスクや半
導体ディスクなどの大容量記憶装置を機器の一部として
備えているため、当該記憶装置を対象としてメモリぺ一
ジの退避/復帰を行う。ところが、本実施形態における
組み込み機器としてのノード12は、大容量記憶装置を
備えていないため、上記一般の情報処理機器のようなメ
モリぺ一ジの退避/復帰は行えない。
を説明する。ノード12上の組み込みプログラム122
の動作によって、仮想メモリ124上のページ(仮想記
憶のメモリページ)の退避/復帰が必要になったとす
る。一般の、仮想記憶方式を適用するパーソナルコンピ
ュータ等の情報処理機器であれば、ハードディスクや半
導体ディスクなどの大容量記憶装置を機器の一部として
備えているため、当該記憶装置を対象としてメモリぺ一
ジの退避/復帰を行う。ところが、本実施形態における
組み込み機器としてのノード12は、大容量記憶装置を
備えていないため、上記一般の情報処理機器のようなメ
モリぺ一ジの退避/復帰は行えない。
【0022】そこで本実施形態では、ノード12内で動
作する組み込みプログラム122は、メモリぺ一ジの退
避/復帰を外部のメモリサーバ14に要求して行う。つ
まり組み込みプログラム122はメモリぺ一ジの退避/
復帰の要求機能を有する。そこで以後、ノード12内の
組み込みプログラム122をクライアント122と呼
ぶ。
作する組み込みプログラム122は、メモリぺ一ジの退
避/復帰を外部のメモリサーバ14に要求して行う。つ
まり組み込みプログラム122はメモリぺ一ジの退避/
復帰の要求機能を有する。そこで以後、ノード12内の
組み込みプログラム122をクライアント122と呼
ぶ。
【0023】クライアント122側では、メモリページ
を例えば退避する場合、図2に示すような構造のメモリ
ページ情報、即ち退避したいぺ一ジの内容(実ページデ
ータ)21及び当該ページの仮想メモリ124上のアド
レス(仮想アドレス)VAを含むページ管理情報22か
らなるメモリページ情報を、ノード12からネットワー
ク11を介してメモリサーバ14へ送信する。メモリサ
ーバ14側では、受信したメモリページ情報をページ退
避/復帰部142により外部記憶装置140に保存す
る。なお、外部記憶装置140にはメモリページ情報中
の実ページデータ21のみを記憶し、ページ管理情報2
2についてはページ管理機構141で保持管理するよう
にしても構わない。
を例えば退避する場合、図2に示すような構造のメモリ
ページ情報、即ち退避したいぺ一ジの内容(実ページデ
ータ)21及び当該ページの仮想メモリ124上のアド
レス(仮想アドレス)VAを含むページ管理情報22か
らなるメモリページ情報を、ノード12からネットワー
ク11を介してメモリサーバ14へ送信する。メモリサ
ーバ14側では、受信したメモリページ情報をページ退
避/復帰部142により外部記憶装置140に保存す
る。なお、外部記憶装置140にはメモリページ情報中
の実ページデータ21のみを記憶し、ページ管理情報2
2についてはページ管理機構141で保持管理するよう
にしても構わない。
【0024】次に、メモリページを復帰する場合、クラ
イアント122側では、復帰したいぺ一ジの仮想アドレ
スVAをノード12からネットワーク11を介してメモ
リサーバ14に対して送信し、ぺ一ジの内容を送るよう
要求する。
イアント122側では、復帰したいぺ一ジの仮想アドレ
スVAをノード12からネットワーク11を介してメモ
リサーバ14に対して送信し、ぺ一ジの内容を送るよう
要求する。
【0025】メモリサーバ14は、クライアント122
側から送られた仮想アドレスVAに基づき、当該クライ
アント122から要求されたメモリページをページ管理
機構141により特定する。そしてメモリサーバ14
は、要求されたメモリページの情報をページ退避/復帰
部142により外部記憶装置140から取り出し、ネッ
トワーク11を介して要求元のクライアント122ヘ送
信する。クライアント122は、メモリサーバ14から
送られた自身の要求したメモリページの情報を、ノード
12内でCPU121により処理可能なように実メモリ
123上の任意の領域に配置する。これによりノード1
2における、メモリサーバ14との協調動作によるメモ
リページの復帰処理が終了する。
側から送られた仮想アドレスVAに基づき、当該クライ
アント122から要求されたメモリページをページ管理
機構141により特定する。そしてメモリサーバ14
は、要求されたメモリページの情報をページ退避/復帰
部142により外部記憶装置140から取り出し、ネッ
トワーク11を介して要求元のクライアント122ヘ送
信する。クライアント122は、メモリサーバ14から
送られた自身の要求したメモリページの情報を、ノード
12内でCPU121により処理可能なように実メモリ
123上の任意の領域に配置する。これによりノード1
2における、メモリサーバ14との協調動作によるメモ
リページの復帰処理が終了する。
【0026】ところで、クライアント122が複数のプ
ロセスを並列実行する機能を有している場合、ノード1
2上では、各プロセスがそれぞれの仮想メモリ(仮想空
間)124を持つ。この場合、メモリサーバ14との間
で授受されるメモリページの情報には、図2中のページ
管理情報22に代えて、図3に示すようなプロセスを識
別するための情報(プロセスID)が追加されたページ
管理情報32を持たせればよい。
ロセスを並列実行する機能を有している場合、ノード1
2上では、各プロセスがそれぞれの仮想メモリ(仮想空
間)124を持つ。この場合、メモリサーバ14との間
で授受されるメモリページの情報には、図2中のページ
管理情報22に代えて、図3に示すようなプロセスを識
別するための情報(プロセスID)が追加されたページ
管理情報32を持たせればよい。
【0027】[第2の実施形態]前記第1の実施形態
は、メモリサーバとクライアントがそれぞれ1つずつ存
在するシステムの例であるが、本発明はメモリサーバと
クライアントがそれぞれ複数個存在するシステムにも応
用可能である。そこで、本発明をメモリサーバとクライ
アントがそれぞれ複数個存在する仮想記憶制御システム
に適用した第2の実施形態について図面を参照して説明
する。
は、メモリサーバとクライアントがそれぞれ1つずつ存
在するシステムの例であるが、本発明はメモリサーバと
クライアントがそれぞれ複数個存在するシステムにも応
用可能である。そこで、本発明をメモリサーバとクライ
アントがそれぞれ複数個存在する仮想記憶制御システム
に適用した第2の実施形態について図面を参照して説明
する。
【0028】図4は本発明の第2の実施形態に係る仮想
記憶制御システムの構成を示すブロック図である。同図
において、(図1中のネットワーク11に相当する)ネ
ットワーク41には、複数の組み込み機器、例えば2つ
の組み込み機器(ノード)42-1,42-2と、複数のメ
モリサーバ、例えば2つのメモリサーバ44-1,44-2
とが、それぞれ接続されている。
記憶制御システムの構成を示すブロック図である。同図
において、(図1中のネットワーク11に相当する)ネ
ットワーク41には、複数の組み込み機器、例えば2つ
の組み込み機器(ノード)42-1,42-2と、複数のメ
モリサーバ、例えば2つのメモリサーバ44-1,44-2
とが、それぞれ接続されている。
【0029】ノード42-1,42-2には、CPU421
-1,421-2、組み込みプログラム(クライアント)4
22-1,422-2、及び小容量の実メモリ423-1,4
23-2が組み込まれている。またノード42-1,42-2
には、クライアント422-1,422-2から見ることが
できる仮想メモリ424-1,424-2がクライアント4
22-1,422-2で並列に実行し得るプロセス数分等価
的に存在する。この仮想メモリ424-1,424-2は、
メモリサーバ44-1または44-2により提供される。
-1,421-2、組み込みプログラム(クライアント)4
22-1,422-2、及び小容量の実メモリ423-1,4
23-2が組み込まれている。またノード42-1,42-2
には、クライアント422-1,422-2から見ることが
できる仮想メモリ424-1,424-2がクライアント4
22-1,422-2で並列に実行し得るプロセス数分等価
的に存在する。この仮想メモリ424-1,424-2は、
メモリサーバ44-1または44-2により提供される。
【0030】さて、図4のシステムでは、クライアント
が複数存在(ここでは、ノード42-1のクライアント4
22-1とノード42-2のクライアント422-2の2つが
存在)するので、メモリサーバ44-1,44-2との間で
授受するメモリページ情報には、ノード(クライアン
ト)を識別するための情報(ノードID)も必要とな
る。しかも図4のシステムでは、ノード42-1,42-2
上で、各プロセスがそれぞれの仮想メモリ(仮想空間)
424-1,424-2を持つことから、図3と同様にプロ
セスを識別するための情報(プロセスID)も必要とな
る。そこで本実施形態では、図3中のページ管理情報3
2に代えて、図5に示すようなノードIDが追加された
ページ管理情報52を持たせればよい。
が複数存在(ここでは、ノード42-1のクライアント4
22-1とノード42-2のクライアント422-2の2つが
存在)するので、メモリサーバ44-1,44-2との間で
授受するメモリページ情報には、ノード(クライアン
ト)を識別するための情報(ノードID)も必要とな
る。しかも図4のシステムでは、ノード42-1,42-2
上で、各プロセスがそれぞれの仮想メモリ(仮想空間)
424-1,424-2を持つことから、図3と同様にプロ
セスを識別するための情報(プロセスID)も必要とな
る。そこで本実施形態では、図3中のページ管理情報3
2に代えて、図5に示すようなノードIDが追加された
ページ管理情報52を持たせればよい。
【0031】また、図4のシステムでは、メモリサーバ
が複数存在(ここでは、メモリサーバ44-1及び44-2
の2つが存在)するため、当該システムには、あるクラ
イアントからのメモリページ退避先をどのサーバにする
かを決定する機構が必要となる。このメモリページ退避
先の決定には、退避先となるメモリサーバを、クライア
ント毎にそれぞれ1つ予め定めておく第1の退避先決定
方法と、退避先となるメモリサーバを退避の度に動的に
決定する第2の退避先決定方法のいずれかが適用可能で
ある。
が複数存在(ここでは、メモリサーバ44-1及び44-2
の2つが存在)するため、当該システムには、あるクラ
イアントからのメモリページ退避先をどのサーバにする
かを決定する機構が必要となる。このメモリページ退避
先の決定には、退避先となるメモリサーバを、クライア
ント毎にそれぞれ1つ予め定めておく第1の退避先決定
方法と、退避先となるメモリサーバを退避の度に動的に
決定する第2の退避先決定方法のいずれかが適用可能で
ある。
【0032】ここで、上記第1の退避先決定方法の手順
について、ノード42-1のクライアント422-1からの
メモリページ退避先を決定する場合を例に、図6のシー
ケンスチャートを参照して説明する。
について、ノード42-1のクライアント422-1からの
メモリページ退避先を決定する場合を例に、図6のシー
ケンスチャートを参照して説明する。
【0033】まずクライアント422-1は、メモりペー
ジの退避先となるメモリサーバを要求していることを、
ネットワーク41上の全てのメモリサーバに同時に通知
する(ステップS1)。この通知は、ネットワーク41
が例えイーサネットでIP(Internet Protocol)と呼ば
れるプロトコルを適用しているならぱ、broadca
st(一斉同報)という仕組みを使えば、容易に実現で
きる。
ジの退避先となるメモリサーバを要求していることを、
ネットワーク41上の全てのメモリサーバに同時に通知
する(ステップS1)。この通知は、ネットワーク41
が例えイーサネットでIP(Internet Protocol)と呼ば
れるプロトコルを適用しているならぱ、broadca
st(一斉同報)という仕組みを使えば、容易に実現で
きる。
【0034】各メモリサーバ44-1,44-2は、それぞ
れの状況に応じた応答(退避先サーバ通知または非退避
先サーバ通知)をクライアント422-1に返す。ここで
は、メモリサーバ44-2からは自身がクライアント42
2-2からのメモりページの退避先のサーバとなることを
通知する退避先サーバ通知が返されて(ステップS
2)、メモリサーバ44-1からは自身がクライアント4
22-2からのメモりページの退避先のサーバとならない
ことを通知する非退避先サーバ通知が返されるものとす
る(ステップS3)。
れの状況に応じた応答(退避先サーバ通知または非退避
先サーバ通知)をクライアント422-1に返す。ここで
は、メモリサーバ44-2からは自身がクライアント42
2-2からのメモりページの退避先のサーバとなることを
通知する退避先サーバ通知が返されて(ステップS
2)、メモリサーバ44-1からは自身がクライアント4
22-2からのメモりページの退避先のサーバとならない
ことを通知する非退避先サーバ通知が返されるものとす
る(ステップS3)。
【0035】これを受けてクライアント422-1は、メ
モリページの退避先のメモリサーバを選ぶ。ここでは、
メモリサーバ44-2が退避先サーバとして選ばれる。以
後、クライアント422-1は、メモリページを退避する
必要が発生する都度、図5に示すような構造のメモリペ
ージ情報を、ノード42-1からメモリサーバ44-2へ送
信して、対応するメモリページの退避を要求する。
モリページの退避先のメモリサーバを選ぶ。ここでは、
メモリサーバ44-2が退避先サーバとして選ばれる。以
後、クライアント422-1は、メモリページを退避する
必要が発生する都度、図5に示すような構造のメモリペ
ージ情報を、ノード42-1からメモリサーバ44-2へ送
信して、対応するメモリページの退避を要求する。
【0036】以上の説明では、メモりページの退避先と
なるメモリサーバは勿論、退避先とならないメモリサー
バも応答を返すものとしているが、退避先とならないメ
モリサーバからは応答を返さない構成であっても構わな
い。
なるメモリサーバは勿論、退避先とならないメモリサー
バも応答を返すものとしているが、退避先とならないメ
モリサーバからは応答を返さない構成であっても構わな
い。
【0037】次に上記第2の退避先決定方法について説
明する。この第2の退避先決定方法では、上記第1の退
避先決定方法で適用した、クライアント422-1から各
サーバへの一斉同報による退避先メモリサーバ要求を、
予めではなくて、メモリページの退避が必要となる都度
送出する。したがって、第2の退避先決定方法では、メ
モリページの退避の度に退避先のメモリサーバが決定さ
れることになる。
明する。この第2の退避先決定方法では、上記第1の退
避先決定方法で適用した、クライアント422-1から各
サーバへの一斉同報による退避先メモリサーバ要求を、
予めではなくて、メモリページの退避が必要となる都度
送出する。したがって、第2の退避先決定方法では、メ
モリページの退避の度に退避先のメモリサーバが決定さ
れることになる。
【0038】なお、図4のシステムに、図7に示すよう
に、メモリページの退避元(または復帰先)となるクラ
イアントと退避先(または復帰元)となるメモリサーバ
の組を決定する機能を有する特別なサーバであるアービ
トレイタ70を追加して、各クライアント422-1,4
22-2から当該アービトレイタ70に対してメモリペー
ジの退避先(または復帰元)となるメモリサーバを問い
合わせる構成とすることも可能である。
に、メモリページの退避元(または復帰先)となるクラ
イアントと退避先(または復帰元)となるメモリサーバ
の組を決定する機能を有する特別なサーバであるアービ
トレイタ70を追加して、各クライアント422-1,4
22-2から当該アービトレイタ70に対してメモリペー
ジの退避先(または復帰元)となるメモリサーバを問い
合わせる構成とすることも可能である。
【0039】この図6のシステムでも、前記第1の退避
先決定方法と同様の手法、即ち予めクライアントからア
ービトレイタ70に要求して退避先メモリサーバを決定
しておく手法と、前記第2の退避先決定方法と同様の手
法、即ちメモリページの退避が必要となる都度クライア
ントからアービトレイタ70に要求して退避先メモリサ
ーバを動的に決定する手法のいずれも適用可能である。
先決定方法と同様の手法、即ち予めクライアントからア
ービトレイタ70に要求して退避先メモリサーバを決定
しておく手法と、前記第2の退避先決定方法と同様の手
法、即ちメモリページの退避が必要となる都度クライア
ントからアービトレイタ70に要求して退避先メモリサ
ーバを動的に決定する手法のいずれも適用可能である。
【0040】次に、図4または図6のシステムにおける
メモリページの復帰について、クライアント422-2が
メモリページを復帰したい場合を例に説明する。
メモリページの復帰について、クライアント422-2が
メモリページを復帰したい場合を例に説明する。
【0041】まず、図4または図6のシステムでは、メ
モリサーバが複数存在するため、クライアント422-1
がメモリページを復帰したい場合にも、先の退避先のメ
モリサーバを決定するのと同様に、どのサーバから復帰
すればよいのか、つまり復帰元メモリサーバを決定する
必要がある。このメモリページの復帰元メモリサーバの
決定には、必ず退避先サーバから復帰すると定めておく
第1の復帰元決定方法と、メモリページの復帰が必要と
なる都度、復帰元となるメモリサーバを動的に決定する
第2の復帰元決定方法のいずれかが適用可能である。
モリサーバが複数存在するため、クライアント422-1
がメモリページを復帰したい場合にも、先の退避先のメ
モリサーバを決定するのと同様に、どのサーバから復帰
すればよいのか、つまり復帰元メモリサーバを決定する
必要がある。このメモリページの復帰元メモリサーバの
決定には、必ず退避先サーバから復帰すると定めておく
第1の復帰元決定方法と、メモリページの復帰が必要と
なる都度、復帰元となるメモリサーバを動的に決定する
第2の復帰元決定方法のいずれかが適用可能である。
【0042】上記第1の復帰元決定方法は最も処理が単
純となるもので、クライアント422-1は単に退避先と
なったメモリサーバを記憶しておくだけでよい。但し、
この手法を適用した場合、システムの状況によっては、
特定のメモリサーバに大きな負荷がかかるという不具合
がある。
純となるもので、クライアント422-1は単に退避先と
なったメモリサーバを記憶しておくだけでよい。但し、
この手法を適用した場合、システムの状況によっては、
特定のメモリサーバに大きな負荷がかかるという不具合
がある。
【0043】上記第2の復帰元決定方法は、この第1の
復帰元決定方法の不具合を解決するものであり、メモリ
サーバ間で負荷分散を図るため、その負荷状況等に応じ
てメモリページがメモリサーバ間で移動すること、つま
り退避先メモリサーバと復帰元メモリサーバとが必ずし
も一致しないことを前提としている。
復帰元決定方法の不具合を解決するものであり、メモリ
サーバ間で負荷分散を図るため、その負荷状況等に応じ
てメモリページがメモリサーバ間で移動すること、つま
り退避先メモリサーバと復帰元メモリサーバとが必ずし
も一致しないことを前提としている。
【0044】この第2の復帰元決定方法を図4のシステ
ムに適用した場合には、前記第2の退避先決定方法と同
様の手法により、メモリページの復帰が必要となる都
度、ネットワーク41上の全てのメモリサーバ(44-
1,44-2)に一斉同報により復帰元メモリサーバ要求
を送出して、その応答から復帰元メモリサーバを決定す
ればよい。
ムに適用した場合には、前記第2の退避先決定方法と同
様の手法により、メモリページの復帰が必要となる都
度、ネットワーク41上の全てのメモリサーバ(44-
1,44-2)に一斉同報により復帰元メモリサーバ要求
を送出して、その応答から復帰元メモリサーバを決定す
ればよい。
【0045】また、図6のシステムに上記第2の復帰元
決定方法を適用した場合には、メモリページの復帰が必
要となる都度、アービトレイタ70に復帰元メモリサー
バを問い合わせ、その応答から復帰元メモリサーバを決
定すればよい。
決定方法を適用した場合には、メモリページの復帰が必
要となる都度、アービトレイタ70に復帰元メモリサー
バを問い合わせ、その応答から復帰元メモリサーバを決
定すればよい。
【0046】
【発明の効果】以上詳述したように本発明によれば、組
み込み機器において、ハードディスク等の外部記憶装置
を設けることなく、仮想記憶により大量のメモリを利用
できるようになる。
み込み機器において、ハードディスク等の外部記憶装置
を設けることなく、仮想記憶により大量のメモリを利用
できるようになる。
【図1】本発明の第1の実施形態に係る仮想記憶制御シ
ステムの構成を示すブロック図。
ステムの構成を示すブロック図。
【図2】同実施形態で適用されるメモリページ情報のデ
ータ構造例を示す図。
ータ構造例を示す図。
【図3】クライアント(組み込みプログラム)が複数の
プロセスを並列実行する場合のメモリページ情報のデー
タ構造例を示す図。
プロセスを並列実行する場合のメモリページ情報のデー
タ構造例を示す図。
【図4】本発明の第2の実施形態に係る仮想記憶制御シ
ステムの構成を示すブロック図。
ステムの構成を示すブロック図。
【図5】同実施形態で適用されるメモリページ情報のデ
ータ構造例を示す図。
ータ構造例を示す図。
【図6】同実施形態で適用される第1の退避先決定方法
の手順について、ノード42-1のクライアント422-1
からのメモリページ退避先を決定する場合を例に説明す
るためのシーケンスチャート。
の手順について、ノード42-1のクライアント422-1
からのメモリページ退避先を決定する場合を例に説明す
るためのシーケンスチャート。
【図7】図4の構成の変形例を示すブロック図。
11,41…ネットワーク 12,42-1,42-2…ノード(組み込み機器、第1の
機器) 14,44-1,44-2…メモリサーバ(第2の機器) 22,32,52…ページ管理情報 70…アービトレイタ(第3の機器) 121,421-1,421-2…CPU 122,422-1,422-2…組み込みプログラム(ク
ライアント、ページ退避/復帰要求手段、ページ退避先
/復帰元決定手段) 123,423-1,423-2…実メモリ 124,424-1,424-2…仮想メモリ 141…ページ管理機構 142…ページ退避/復帰部
機器) 14,44-1,44-2…メモリサーバ(第2の機器) 22,32,52…ページ管理情報 70…アービトレイタ(第3の機器) 121,421-1,421-2…CPU 122,422-1,422-2…組み込みプログラム(ク
ライアント、ページ退避/復帰要求手段、ページ退避先
/復帰元決定手段) 123,423-1,423-2…実メモリ 124,424-1,424-2…仮想メモリ 141…ページ管理機構 142…ページ退避/復帰部
Claims (5)
- 【請求項1】 仮想記憶を用いた組み込みプログラムを
実行するCPUを内蔵した第1の機器と、 仮想記憶のメモリページの実体が記憶される大容量の記
憶装置、及び前記各メモリページを管理するページ管理
手段を備えた第2の機器と、 前記第1及び第2の機器が接続されたネットワークとを
具備し、 前記第1の機器は、当該機器内で動作する前記組み込み
プログラムから仮想記億のメモリページの退避または復
帰の要求が発生した場合に、そのメモリページの退避ま
たは復帰要求を前記ネットワーク経由で前記第2の機器
に送出するページ退避/復帰要求手段を備えると共に、 前記第2の機器は、前記第1の機器の前記ページ退避/
復帰要求手段からの要求に応じて、要求されたメモリペ
ージの退避または復帰処理を前記記憶装置を用いて行う
ページ退避/復帰手段を備えていることを特徴とする仮
想記憶制御システム。 - 【請求項2】 前記第1の機器は、複数のプロセスが並
列動作可能なように構成されており、 前記第2の機器の前記ページ管理手段は、前記各メモリ
ページを、当該ページを利用する前記プロセスの識別情
報と共に管理することを特徴とする請求項1記載の仮想
記憶制御システム。 - 【請求項3】 前記ネットワークには前記第1の機器が
複数接続されており、 前記第2の機器の前記ページ管理手段は、前記各メモリ
ページを、当該ページを利用する前記第1の機器の識別
情報と共に管理することを特徴とする請求項1または請
求項2記載の仮想記憶制御システム。 - 【請求項4】 前記ネットワークには前記第2の機器が
複数接続されており、 前記第1の機器は、メモリページの退避先または復帰元
を決定するために、メモりページの退避先または復帰元
を要求していることを、一斉同報により前記ネットワー
ク上の全ての前記第2の機器に通知して、その通知に対
する応答に基づいて、メモりページの退避先または復帰
元を決定するページ退避先/復帰元決定手段を更に備え
ていることを特徴とする請求項1または請求項2記載の
仮想記憶制御システム。 - 【請求項5】 前記ネットワークには前記第2の機器が
複数接続されると共に、前記複数の第2の機器の中から
メモリページの退避先または復帰元となる機器を決定す
る第3の機器が接続されており、 前記第1の機器は、メモリページの退避先または復帰元
を決定する必要がある場合、前記第3の機器に前記ネッ
トワークを介して問い合わせて、その問い合わせに対す
る応答に基づいて、メモりページの退避先または復帰元
を決定するページ退避先/復帰元決定手段を更に備えて
いることを特徴とする請求項1または請求項2記載の仮
想記憶制御システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11073068A JP2000267937A (ja) | 1999-03-18 | 1999-03-18 | 仮想記憶制御システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11073068A JP2000267937A (ja) | 1999-03-18 | 1999-03-18 | 仮想記憶制御システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000267937A true JP2000267937A (ja) | 2000-09-29 |
Family
ID=13507663
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11073068A Pending JP2000267937A (ja) | 1999-03-18 | 1999-03-18 | 仮想記憶制御システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000267937A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7275064B2 (en) | 2003-05-07 | 2007-09-25 | Fujitsu Limited | Apparatus for managing virtualized-information |
-
1999
- 1999-03-18 JP JP11073068A patent/JP2000267937A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7275064B2 (en) | 2003-05-07 | 2007-09-25 | Fujitsu Limited | Apparatus for managing virtualized-information |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100612059B1 (ko) | 분할 처리 환경에서의 자원 조절을 위한 방법, 컴퓨팅 시스템 및 그에 관한 기록 매체 | |
| JP3730563B2 (ja) | セッション管理装置およびセッション管理方法およびプログラムおよび記録媒体 | |
| US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
| US5526492A (en) | System having arbitrary master computer for selecting server and switching server to another server when selected processor malfunctions based upon priority order in connection request | |
| US9787780B1 (en) | Method and apparatus for web based storage on-demand | |
| US7451071B2 (en) | Data model for automated server configuration | |
| US6421769B1 (en) | Efficient memory management for channel drivers in next generation I/O system | |
| JP2004227127A (ja) | 複数の環境情報を持つプログラムおよびこのプログラムを持つ情報処理装置 | |
| US20040225805A1 (en) | Network based intra-system communications architecture | |
| JP2003131924A (ja) | リモートアクセスプログラム、リモートアクセス要求処理プログラム、およびクライアントコンピュータ | |
| EP0956687A1 (en) | Web request broker controlling multiple processes | |
| JP2003046569A (ja) | 負荷テスト実行装置及びシステム、及びその方法、及びそのプログラム | |
| CN114546976B (zh) | 用户态分布式文件系统访问方法、装置和设备 | |
| CN110532106B (zh) | 进程间的通讯方法、装置、设备和存储介质 | |
| US12452331B1 (en) | File-sharing method, apparatus and system, electronic device, and storage medium | |
| CN114615263A (zh) | 集群在线迁移方法、装置、设备及存储介质 | |
| CN113079098A (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
| US5968138A (en) | Method and apparatus for peripheral system management, using multiple object interfaces | |
| CN118193479A (zh) | 一种存储空间的分配方法及服务器 | |
| US20030115243A1 (en) | Distributed process execution system and method | |
| CN114945023B (zh) | 一种网络连接复用方法、装置、设备及介质 | |
| CN111385334B (zh) | 一种数据配送方法、装置、设备及存储介质 | |
| CN100429904C (zh) | 一种实现网络客户端应用动态部署的方法 | |
| JP2001331398A (ja) | サーバ管理システム | |
| JP2001318905A (ja) | ディスク共有型分散サーバシステム |