JPH0227465A - ネットワーク仮想共有メモリに対する排他制御方式 - Google Patents
ネットワーク仮想共有メモリに対する排他制御方式Info
- Publication number
- JPH0227465A JPH0227465A JP63177765A JP17776588A JPH0227465A JP H0227465 A JPH0227465 A JP H0227465A JP 63177765 A JP63177765 A JP 63177765A JP 17776588 A JP17776588 A JP 17776588A JP H0227465 A JPH0227465 A JP H0227465A
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- memory
- shared memory
- virtual
- processor
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
概要
産業上の利用分野
従来の技術と発明が解決しようとする課題課題を解決す
るための手段 作用 実施例 発明の効果 〔概要〕 物理的な共有メモリを持つことなく、互いに通信線によ
って結合されているマルチプロセッサシステム上で、仮
想共有メモリを提供するオペレーティングシステム(O
8)におけるネットワーク仮想共有メモリに対する排他
制御方式に関し、マルチプロセッサシステムの各プロセ
ンサにおいて実行されるプロセスからの仮想共有メモリ
に対するアクセス毎に、アクセス対象の仮想記憶領域に
割り当てられている実記憶が要求側のプロセスに転送さ
れてしまうことによる転送オーバヘッドを削減すること
を目的とし、 各プロセッサ上のオペレーティングシステム(O8)が
管理する仮想共有メモリの1単位毎に使用要求キュー、
例えば、セマフォキューを設け、実記憶を持つプロセッ
サ(1)が実行するプロセス(1)。
るための手段 作用 実施例 発明の効果 〔概要〕 物理的な共有メモリを持つことなく、互いに通信線によ
って結合されているマルチプロセッサシステム上で、仮
想共有メモリを提供するオペレーティングシステム(O
8)におけるネットワーク仮想共有メモリに対する排他
制御方式に関し、マルチプロセッサシステムの各プロセ
ンサにおいて実行されるプロセスからの仮想共有メモリ
に対するアクセス毎に、アクセス対象の仮想記憶領域に
割り当てられている実記憶が要求側のプロセスに転送さ
れてしまうことによる転送オーバヘッドを削減すること
を目的とし、 各プロセッサ上のオペレーティングシステム(O8)が
管理する仮想共有メモリの1単位毎に使用要求キュー、
例えば、セマフォキューを設け、実記憶を持つプロセッ
サ(1)が実行するプロセス(1)。
(2)−・−からのロック要求を、該プロセッサ(1)
上のオペレーティングシステムC05) (1)が上記
使用要求キューに登録し、該オペレーティングシステム
(OS) (1)に対する、他のオペレーティングシス
テム(OS) (2)からの実記憶転送要求■の実行を
、該要求仮想記憶領域に対応する上記使用要求キューが
1空き”になる迄待たせるように構成する。
上のオペレーティングシステムC05) (1)が上記
使用要求キューに登録し、該オペレーティングシステム
(OS) (1)に対する、他のオペレーティングシス
テム(OS) (2)からの実記憶転送要求■の実行を
、該要求仮想記憶領域に対応する上記使用要求キューが
1空き”になる迄待たせるように構成する。
本発明は、物理的な共有メモリを持つことなく、互いに
通信線によって結合されているマルチプロセッサシステ
ム上で、仮想共有メモリを提供するオペレーティングシ
ステム(OS)におけるネットワーク仮想共有メモリに
対する排他制御方式に関する。
通信線によって結合されているマルチプロセッサシステ
ム上で、仮想共有メモリを提供するオペレーティングシ
ステム(OS)におけるネットワーク仮想共有メモリに
対する排他制御方式に関する。
従来からマルチプロセッサシステムにおける、例えば、
プロセッサ間通信において、 ■)共有メモリを介して通信を行う 2)通信線を介してメソセージによって通信を行う 方法が知られている。
プロセッサ間通信において、 ■)共有メモリを介して通信を行う 2)通信線を介してメソセージによって通信を行う 方法が知られている。
1)共有メモリを介して行う通信:
a) マルチプロセフサシステムの共通バスの使用権を
獲得してから、該共有メモリに通信データをライト リ
ードする必要があり、該共有メモリに対するアクセスの
オーバへ・ノドが大きくなる問題がある。
獲得してから、該共有メモリに通信データをライト リ
ードする必要があり、該共有メモリに対するアクセスの
オーバへ・ノドが大きくなる問題がある。
b) ハードウェア障害、ソフトウェアの障害(暴走)
等によって、該共有メモリ上のデータが破壊されること
があり、安全性が低い。
等によって、該共有メモリ上のデータが破壊されること
があり、安全性が低い。
C) 互いに独立したマルチシステム(筐体)間の通信
を該共有メモリを介して行う場合には、該共有メモリの
設置場所上の問題がある。
を該共有メモリを介して行う場合には、該共有メモリの
設置場所上の問題がある。
2)メツセージ通信:
a)データ破壊の危険のある共有メモリを必要としない
ので安全性は高くなる。
ので安全性は高くなる。
b)然し、それぞれのプロセッサが持っているメモリ空
間に対して、実際にデータ転送を行うメモリ領域を決定
、確認するのにプロセッサ間で通信を行う必要があり、
通信オーバヘッドが大きくなる問題がある。
間に対して、実際にデータ転送を行うメモリ領域を決定
、確認するのにプロセッサ間で通信を行う必要があり、
通信オーバヘッドが大きくなる問題がある。
このような事情から、マルチプロセッサシステム上にネ
ットワーク仮想共有メモリを設け、該ネットワーク仮想
共有メモリを介してプロセッサ間の通信を行う方式が考
えられるようになってきた。
ットワーク仮想共有メモリを設け、該ネットワーク仮想
共有メモリを介してプロセッサ間の通信を行う方式が考
えられるようになってきた。
この場合、該仮想共有メモリに対して、効果的に排他制
御を行う必要がある。
御を行う必要がある。
〔従来の技術と発明が解決しようとする課題〕第2図は
従来のネットワーク仮想共有メモリにた対するアクセス
方式を説明する図である。
従来のネットワーク仮想共有メモリにた対するアクセス
方式を説明する図である。
従来から物理的な共有メモリを持たずに、互いに通信線
によって接続されるマルチプロセッサシステムの各プロ
セッサ(1)、(2) 10上のオペレーティングシス
テム(OS) 101において、該オペレーティングシ
ステム(OS) 101の配下の各ユーザのプロセス1
02に仮想的に共有メモリを持たせ、プロセス間の通信
を行う方法がある。
によって接続されるマルチプロセッサシステムの各プロ
セッサ(1)、(2) 10上のオペレーティングシス
テム(OS) 101において、該オペレーティングシ
ステム(OS) 101の配下の各ユーザのプロセス1
02に仮想的に共有メモリを持たせ、プロセス間の通信
を行う方法がある。
このようなオペレーティングシステム(O8)において
は、通常、以下のような通信方式が用いられる。
は、通常、以下のような通信方式が用いられる。
先ず、本図(a)の状態、即ち、プロセッサ(2)10
が仮想記憶領域100とその実記憶100aとを持ち、
プロセッサ(1) 10は仮想記憶領域100のみを持
ち、両プロセッサ(1)、(2) 10の持つ仮想記憶
領域100は同一の仮想アドレスを持っている状態にあ
る時、プロセス(2) 102はプロセッサ(2) 1
0が仮想記憶領域100と実記憶領域100aとを持つ
為、該仮想記憶領域100に対してリード/ライトが可
能である。
が仮想記憶領域100とその実記憶100aとを持ち、
プロセッサ(1) 10は仮想記憶領域100のみを持
ち、両プロセッサ(1)、(2) 10の持つ仮想記憶
領域100は同一の仮想アドレスを持っている状態にあ
る時、プロセス(2) 102はプロセッサ(2) 1
0が仮想記憶領域100と実記憶領域100aとを持つ
為、該仮想記憶領域100に対してリード/ライトが可
能である。
一方、プロセッサ(1) 10は仮想記憶領域100シ
か持た蛙いので、該プロセッサ(1) 10上で実行さ
れるプロセス(1) 102が仮想記憶領域100をア
クセス■した場合、該プロセス(1) 102はオペレ
ーティングシステム(OS)(1) 101により不在
メモリアクセス要因でトラップ■される。
か持た蛙いので、該プロセッサ(1) 10上で実行さ
れるプロセス(1) 102が仮想記憶領域100をア
クセス■した場合、該プロセス(1) 102はオペレ
ーティングシステム(OS)(1) 101により不在
メモリアクセス要因でトラップ■される。
そこで、該オペレーティングシステム(OS) (1)
101はオペレーティングシステム(OS)(2) 1
01に対して実記憶100aの転送を依頼■する。
101はオペレーティングシステム(OS)(2) 1
01に対して実記憶100aの転送を依頼■する。
該依頼を受けたオペレーティングシステム(OS)(2
) 101は対応する仮想記憶アドレスに割り当てられ
ている実記憶100aをプロセッサ(1) 10例の仮
想記憶領域100に転送■する。
) 101は対応する仮想記憶アドレスに割り当てられ
ている実記憶100aをプロセッサ(1) 10例の仮
想記憶領域100に転送■する。
該実記憶100aの転送を契機にオペレーティングシス
テム(OS)(1) 101はプロセス(1) 102
をトラップから解放することにより、該プロセス(1)
102はトラップされた命令より実行を再開し、以後該
仮想記憶領域100に対してリード/ライト■が可能に
なる。 ((b)図番照) このようなオペレーティングシステム(OS) 101
の配下で、該仮想記憶領域100に対して、「テスト&
セット命令」によって、プロセス(1)、又は、プロセ
ス(2) 102が論理的に特定領域をロックして排他
制御を行った場合、例えば、プロセス(1)102があ
る領域をロックしている間に、プロセス(2) 102
が該領域を上記「テスト&セット命令」によってチエツ
クすると、実記憶100aがない為、不在メモリアクセ
ス要因により、オペレーティングシステム(OS)(2
) 101にトラップされ、プロセッサ(1) 10か
らプロセッサ(2) 10に実記憶100aの転送が行
われる。
テム(OS)(1) 101はプロセス(1) 102
をトラップから解放することにより、該プロセス(1)
102はトラップされた命令より実行を再開し、以後該
仮想記憶領域100に対してリード/ライト■が可能に
なる。 ((b)図番照) このようなオペレーティングシステム(OS) 101
の配下で、該仮想記憶領域100に対して、「テスト&
セット命令」によって、プロセス(1)、又は、プロセ
ス(2) 102が論理的に特定領域をロックして排他
制御を行った場合、例えば、プロセス(1)102があ
る領域をロックしている間に、プロセス(2) 102
が該領域を上記「テスト&セット命令」によってチエツ
クすると、実記憶100aがない為、不在メモリアクセ
ス要因により、オペレーティングシステム(OS)(2
) 101にトラップされ、プロセッサ(1) 10か
らプロセッサ(2) 10に実記憶100aの転送が行
われる。
又、この状態でプロセス(1) 102が、自己がロッ
クした仮想記憶領域100に対してアクセスすると、実
記憶100aが転送された後であるので、同じようにし
てプロセッサ(2) 10からプロセッサ(1)10に
実記憶100aが転送されることになり、従来の排他制
御方式では、メモリ転送によるオーバヘッドがいたづら
に増加するという問題があった。
クした仮想記憶領域100に対してアクセスすると、実
記憶100aが転送された後であるので、同じようにし
てプロセッサ(2) 10からプロセッサ(1)10に
実記憶100aが転送されることになり、従来の排他制
御方式では、メモリ転送によるオーバヘッドがいたづら
に増加するという問題があった。
これらの問題点はオペレーティングシステム(OS)
iotが該仮想共有メモリに対する各プロセスからのア
クセスを個々に管理していない所に要因があった。
iotが該仮想共有メモリに対する各プロセスからのア
クセスを個々に管理していない所に要因があった。
本発明は上記従来の欠点に鑑み、物理的な共有メモリを
持つことなく、互いに通信線によって結合されているマ
ルチプロセッサシステム上で、仮想共有メモリを提供す
るオペレーティングシステム(OS)において、該ネッ
トワーク仮想共有メモリに対する排他制御を行う際に、
メモリ転送オーバヘッドを少なくすることができる排他
制御方式を提供することを目的とするものである。
持つことなく、互いに通信線によって結合されているマ
ルチプロセッサシステム上で、仮想共有メモリを提供す
るオペレーティングシステム(OS)において、該ネッ
トワーク仮想共有メモリに対する排他制御を行う際に、
メモリ転送オーバヘッドを少なくすることができる排他
制御方式を提供することを目的とするものである。
、例えば、セマフォキューを設け、
実記憶を持つプロセッサ(1) 10が実行するプロセ
ス(1) 、 (2) −・・102からのロック要求
を、該プロセッサ(1) 10上のオペレーティングシ
ステム(O8)(1) 101が上記使用要求キュー1
10に登録し、該オペレーティングシステム(OS)(
1) 101に対する、他のオペレーティングシステム
(OS)(2) 101からの実記憶転送要求■の実行
を、該要求仮想記憶領域100に対応する上記使用要求
キュー110が“空き”になる迄待たせるように制御す
る。
ス(1) 、 (2) −・・102からのロック要求
を、該プロセッサ(1) 10上のオペレーティングシ
ステム(O8)(1) 101が上記使用要求キュー1
10に登録し、該オペレーティングシステム(OS)(
1) 101に対する、他のオペレーティングシステム
(OS)(2) 101からの実記憶転送要求■の実行
を、該要求仮想記憶領域100に対応する上記使用要求
キュー110が“空き”になる迄待たせるように制御す
る。
上記の問題点は下記の如くに構成されたネットワーク仮
想共有メモリに対する排他制御方式によって解決される
。
想共有メモリに対する排他制御方式によって解決される
。
物理的な共有メモリを持つことなく、互いに通信線によ
って結合されているマルチプロセッサシステム上で、仮
想共有メモリを提供するオペレーティングシステム(O
S) 101において、該仮想共有メモリの1単位毎に
、使用要求キュ〔作用〕 即ち、本発明によれば、物理的な共有メモリを持つこと
なく、互いに通信線によって結合されているマルチプロ
セッサシステム上で、仮想共有メモリを提供するオペレ
ーティングシステム(OS)において、該ネットワーク
仮想共有メモリに対する排他制御を行うのに、該オペレ
ーティングシステム(OS)に、例えば、キューイング
セマフォーの機構を備え、同一領域、例えば、仮想メモ
リ空間の1ページに対して1つのセマフォーキューを具
備して、オペレーティングシステム(OS)が該仮想メ
モリ空間の管理を行うようにする。
って結合されているマルチプロセッサシステム上で、仮
想共有メモリを提供するオペレーティングシステム(O
S) 101において、該仮想共有メモリの1単位毎に
、使用要求キュ〔作用〕 即ち、本発明によれば、物理的な共有メモリを持つこと
なく、互いに通信線によって結合されているマルチプロ
セッサシステム上で、仮想共有メモリを提供するオペレ
ーティングシステム(OS)において、該ネットワーク
仮想共有メモリに対する排他制御を行うのに、該オペレ
ーティングシステム(OS)に、例えば、キューイング
セマフォーの機構を備え、同一領域、例えば、仮想メモ
リ空間の1ページに対して1つのセマフォーキューを具
備して、オペレーティングシステム(OS)が該仮想メ
モリ空間の管理を行うようにする。
従って、該マルチプロセッサシステムの各プロセッサ(
1) 、 (2)において実行されるプロセスからオペ
レーティングシステム(OS)に、特定の仮想記憶領域
のロック依頼があると、該オペレーティングシステム(
OS)は該ロック要求をセマフォーキュにキューイング
する。
1) 、 (2)において実行されるプロセスからオペ
レーティングシステム(OS)に、特定の仮想記憶領域
のロック依頼があると、該オペレーティングシステム(
OS)は該ロック要求をセマフォーキュにキューイング
する。
当該オペレーティングシステム(OS)は、該セマフォ
ーキューにキューイングされている要求があり、且つ該
仮想記憶領域に実記憶が割り当てられていると、特定の
順序で、対応するプロセスをディスバッチして起動する
。
ーキューにキューイングされている要求があり、且つ該
仮想記憶領域に実記憶が割り当てられていると、特定の
順序で、対応するプロセスをディスバッチして起動する
。
該起動を受けたプロセスは処理を実行して、該メモリ領
域に対するアクセスが完了すると、オペレーティングシ
ステム(O8)に対して、アンロックを依頼する。オペ
レーティングシステム(OS)は上記セマフォーキュー
から該当キューをアンロックする。
域に対するアクセスが完了すると、オペレーティングシ
ステム(O8)に対して、アンロックを依頼する。オペ
レーティングシステム(OS)は上記セマフォーキュー
から該当キューをアンロックする。
この動作を繰り返している途上において、他のプロセッ
サのオペレーティングシステム(OS)から実記憶の転
送依頼があっても、本発明においては、該実記憶が割り
当てられている当該仮想記憶領域に対応スるセマフォー
キューにロック依頼中のプロセスが登録されている間は
、該他のオペレーティングシステム(O8)からの実記
憶の転送依頼を保留(ベンディング)する。
サのオペレーティングシステム(OS)から実記憶の転
送依頼があっても、本発明においては、該実記憶が割り
当てられている当該仮想記憶領域に対応スるセマフォー
キューにロック依頼中のプロセスが登録されている間は
、該他のオペレーティングシステム(O8)からの実記
憶の転送依頼を保留(ベンディング)する。
そして、当該オペレーティングシステム(OS)におい
て、該特定の仮想記憶領域に対する全てのプロセスから
のロックが解除されていることを認識した場合に限り、
上記実記憶の転送依頼のあったオペレーティングシステ
ム(O8)に対して、該実記憶を転送する。
て、該特定の仮想記憶領域に対する全てのプロセスから
のロックが解除されていることを認識した場合に限り、
上記実記憶の転送依頼のあったオペレーティングシステ
ム(O8)に対して、該実記憶を転送する。
この結果、該他のオペレーティングシステム(O8)に
よってトラップされていたプロセスは、該トラップが解
除されて処理の再開を行い、上記転送されてきた実記憶
に対してアクセスすることができるようになる。
よってトラップされていたプロセスは、該トラップが解
除されて処理の再開を行い、上記転送されてきた実記憶
に対してアクセスすることができるようになる。
従って、それぞれのプロセッサのオペレーティングシス
テム(OS)は、特定の仮想記憶領域に対してロック依
頼がある間は他のオペレーティングシステム(OS)か
ら該当領域に対して実記憶の転送依頼があっても、該領
域に対するロック状態が完全に解除される迄ベンディン
グするように機能するので、実記憶の転送回数が減り、
転送オーバヘッドが削減される効果がある。
テム(OS)は、特定の仮想記憶領域に対してロック依
頼がある間は他のオペレーティングシステム(OS)か
ら該当領域に対して実記憶の転送依頼があっても、該領
域に対するロック状態が完全に解除される迄ベンディン
グするように機能するので、実記憶の転送回数が減り、
転送オーバヘッドが削減される効果がある。
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を模式的に示した図であり、
(a)はセマフォーキューが°LO(J’中の場合を示
し、(b)はセマフォーキューが“UNLOCK゛にな
った場合を示しており、該特定の仮想記憶領域(例えば
、1ページ)に対応して設けられているセマフォーキュ
ー(1)、(2) 110.及び、該セマフォーキュー
(1)、(2) 110が“LOCK’中は、他のオペ
レーティングシステム(OS”) 101からの実記憶
転送要求■をベンディングとする手段が本発明を実施す
るのに必要な手段である。尚、企図を通して同じ符号は
同じ対象物を示している。
(a)はセマフォーキューが°LO(J’中の場合を示
し、(b)はセマフォーキューが“UNLOCK゛にな
った場合を示しており、該特定の仮想記憶領域(例えば
、1ページ)に対応して設けられているセマフォーキュ
ー(1)、(2) 110.及び、該セマフォーキュー
(1)、(2) 110が“LOCK’中は、他のオペ
レーティングシステム(OS”) 101からの実記憶
転送要求■をベンディングとする手段が本発明を実施す
るのに必要な手段である。尚、企図を通して同じ符号は
同じ対象物を示している。
以下、第1図によって、本発明のネットワーク仮想共有
メモリに対する排他制御方式を説明する。
メモリに対する排他制御方式を説明する。
本実施例においては、2つのプロセッサ(1) 、 (
2)10間でのメツセージ通信を例にする。
2)10間でのメツセージ通信を例にする。
ここで、プロセッサ(1) 10はプロセス(1) 、
(2)102を持ち、プロセッサ(2) 10はプロ
セス(3) 102を持っているものとする。
(2)102を持ち、プロセッサ(2) 10はプロ
セス(3) 102を持っているものとする。
今、プロセッサ(1) 10が実記憶100aを持って
おり、プロセス(1) 102が該実記憶100aが割
り当られている仮想記憶領域100をロック状態にして
使用中■、■であとすると、該プロセス(1) 102
のロック依頼はセマフォーキュー(1) 110に、図
示されている如くに、「Pl」として登録されている。
おり、プロセス(1) 102が該実記憶100aが割
り当られている仮想記憶領域100をロック状態にして
使用中■、■であとすると、該プロセス(1) 102
のロック依頼はセマフォーキュー(1) 110に、図
示されている如くに、「Pl」として登録されている。
この時、上記プロセス(2) 102と、プロセス(3
) 102が同時に、それぞれのオペレーティングシス
テム(OS) (1) 、 (2) 101に対して、
該特定の仮想記憶領域100の[ロック(LOCK)
Jを依頼■、■する。
) 102が同時に、それぞれのオペレーティングシス
テム(OS) (1) 、 (2) 101に対して、
該特定の仮想記憶領域100の[ロック(LOCK)
Jを依頼■、■する。
プロセス(2) 102からのロック依鎖■は、オペレ
ーティングシステム(OS)(1) 100により、セ
マフォーキュー(1) 110に「P2」としてエント
リされ、待ち状態となる。
ーティングシステム(OS)(1) 100により、セ
マフォーキュー(1) 110に「P2」としてエント
リされ、待ち状態となる。
そして、プロセス(3) 102からのロック依輔■は
、オペレーティングシステム(OS)(2) 101に
よりセマフォー(2) 110に「P3」としてエント
リされると共に、実記憶を持たないので、不在メモリア
クセス要因により、該オペレーティングシステム(OS
)(2) 101によりトラップ■、■される。
、オペレーティングシステム(OS)(2) 101に
よりセマフォー(2) 110に「P3」としてエント
リされると共に、実記憶を持たないので、不在メモリア
クセス要因により、該オペレーティングシステム(OS
)(2) 101によりトラップ■、■される。
菖亥オペレーティングシステム(OS)(2) 101
はオペレーティングシステム(OS)(1) 101に
対して、実記憶の転送を要求■する。
はオペレーティングシステム(OS)(1) 101に
対して、実記憶の転送を要求■する。
この時、オペレーティングシステム(OS)(1) 1
01はプロセス(1) 102が動作中であり、プロセ
ス(2) 102が待ち状態であることを認識している
為、当該仮想記憶領域100に割り当てられている実記
憶の転送要求■をベンディングする。
01はプロセス(1) 102が動作中であり、プロセ
ス(2) 102が待ち状態であることを認識している
為、当該仮想記憶領域100に割り当てられている実記
憶の転送要求■をベンディングする。
この状態で、プロセス(1) 102がメモリアクセス
を終了して、該仮想記憶領域100の「アンロック(U
NLOCK) Jを依頼■すると、オペレーティングシ
ステム(OS)(1) 101は、セマフォーキュー(
1)110で待ち状態にあるプロセス(2) 102を
ディスパッチし起動■する。
を終了して、該仮想記憶領域100の「アンロック(U
NLOCK) Jを依頼■すると、オペレーティングシ
ステム(OS)(1) 101は、セマフォーキュー(
1)110で待ち状態にあるプロセス(2) 102を
ディスパッチし起動■する。
プロセス(2) 102がメモリアクセス[相]を終了
して、オペレーティングシステム(OS)(1) 10
1 ニ対して、該仮想記憶領域100の「アンロック(
UNLOCに)」を依鎖■すると、当該オペレーティン
グシステム(OS)(1) 101は当該仮想記憶領域
100に対する全てのプロセス(1) 、 (2)から
の「ロック(LOCK)」が解除されたことを認識し、
上記ベンディングしてあった実記憶の転送動作[相]を
実行する。
して、オペレーティングシステム(OS)(1) 10
1 ニ対して、該仮想記憶領域100の「アンロック(
UNLOCに)」を依鎖■すると、当該オペレーティン
グシステム(OS)(1) 101は当該仮想記憶領域
100に対する全てのプロセス(1) 、 (2)から
の「ロック(LOCK)」が解除されたことを認識し、
上記ベンディングしてあった実記憶の転送動作[相]を
実行する。
オペレーティングシステム(OS)(2) 101はオ
ペレーティングシステム(OS)(1) 101からの
実記憶の転送終了を待って、プロセス(3) 102に
対するトラップを解除◎する。
ペレーティングシステム(OS)(1) 101からの
実記憶の転送終了を待って、プロセス(3) 102に
対するトラップを解除◎する。
該トラップを解除0されたプロセス(3) 102は処
理を再開し、該実記憶に対してアクセス■することがで
きる。
理を再開し、該実記憶に対してアクセス■することがで
きる。
従って、本発明を実施した場合のメモリ転送は1回で事
足りることが判る。
足りることが判る。
このように、本発明は、物理的な共有メモリを持つこと
なく、互いに通信線によって結合されているマルチプロ
セッサシステム上で、仮想共有メモリを提供するオペレ
ーティングシステム(OS)において、ネットワーク仮
想共有メモリに対する排他制御を行うのに、各プロセッ
サに対応して、特定の仮想記憶領域毎に、例えば、セマ
フォーキューといった使用要求キューを設け、該プロセ
ッサ配下の各プロセスから使用要求(LOCK要求)が
あると、該セマフォーキューに登録し、該プロセスから
使用解除要求(UNLOCK要求)があると、該セマフ
ォーから登録の解除を行い、該セマフォーキューから全
てのプロセスからの使用要求が解除される迄、他のオペ
レーティングシステム(O8)から当該仮想記憶領域に
割り当てられている実記憶の転送要求があってもベンデ
ィングすることで、該仮想共有メモリに対する排他制御
を行うようにした所に特徴がある。
なく、互いに通信線によって結合されているマルチプロ
セッサシステム上で、仮想共有メモリを提供するオペレ
ーティングシステム(OS)において、ネットワーク仮
想共有メモリに対する排他制御を行うのに、各プロセッ
サに対応して、特定の仮想記憶領域毎に、例えば、セマ
フォーキューといった使用要求キューを設け、該プロセ
ッサ配下の各プロセスから使用要求(LOCK要求)が
あると、該セマフォーキューに登録し、該プロセスから
使用解除要求(UNLOCK要求)があると、該セマフ
ォーから登録の解除を行い、該セマフォーキューから全
てのプロセスからの使用要求が解除される迄、他のオペ
レーティングシステム(O8)から当該仮想記憶領域に
割り当てられている実記憶の転送要求があってもベンデ
ィングすることで、該仮想共有メモリに対する排他制御
を行うようにした所に特徴がある。
以上、詳細に説明したように、本発明のネットワーク仮
想共有メモリに対する排他制御方式は、物理的な共有メ
モリを持つことなく、互いに通信線によって結合されて
いるマルチプロセッサシステム上で、仮想共有メモリを
提供するオペレーティングシステム(O8)において、
各プロセッサ上のオペレーティングシステム(O8)が
管理する仮想共有メモリの1単位(例えば、1ページ)
毎に使用要求キュー、例えば、セマフォキューを設け、
実記憶を持つプロセッサ(1)が実行するプロセス(1
) 、 (2) −・からのロック要求を、該プロセッ
サ(1)上のオペレーティングシステム(OS) (1
)が上記使用要求キューに登録し、該オペレーティング
システム(OS) (1)に対する、他のオペレーティ
ングシステム(OS) (2)からの実記憶転送要求■
の実行を、該要求仮想記憶領域に対応する上記使用要求
キューが“空き”になる迄待たせるようにしたものであ
るので、それぞれのプロセッサのオペレーティングシス
テム(O8)は、特定の仮想記憶領域に対してロック依
願(使用要求)がある間は他のオペレーティングシステ
ム(O8)から8亥当領域に対して実記憶の転送依頼が
あっても、該領域に対するロック状態が完全に解除され
る迄ベンディングするように機能することになり、実記
憶の転送回数が減り、オペレーティングシステム(OS
)間での転送オーバヘッドが削減される効果がある。
想共有メモリに対する排他制御方式は、物理的な共有メ
モリを持つことなく、互いに通信線によって結合されて
いるマルチプロセッサシステム上で、仮想共有メモリを
提供するオペレーティングシステム(O8)において、
各プロセッサ上のオペレーティングシステム(O8)が
管理する仮想共有メモリの1単位(例えば、1ページ)
毎に使用要求キュー、例えば、セマフォキューを設け、
実記憶を持つプロセッサ(1)が実行するプロセス(1
) 、 (2) −・からのロック要求を、該プロセッ
サ(1)上のオペレーティングシステム(OS) (1
)が上記使用要求キューに登録し、該オペレーティング
システム(OS) (1)に対する、他のオペレーティ
ングシステム(OS) (2)からの実記憶転送要求■
の実行を、該要求仮想記憶領域に対応する上記使用要求
キューが“空き”になる迄待たせるようにしたものであ
るので、それぞれのプロセッサのオペレーティングシス
テム(O8)は、特定の仮想記憶領域に対してロック依
願(使用要求)がある間は他のオペレーティングシステ
ム(O8)から8亥当領域に対して実記憶の転送依頼が
あっても、該領域に対するロック状態が完全に解除され
る迄ベンディングするように機能することになり、実記
憶の転送回数が減り、オペレーティングシステム(OS
)間での転送オーバヘッドが削減される効果がある。
■〜[相]は各処理、又は動作。
をそれぞれ示す。
第1図は本発明の一実施例を模式的に示した図。
第2図は従来のネットワーク仮想共有メモリにだ対する
アクセス方式を説明する図。 である。 図面において、 IOはプロセッサ(1)、(2)、100は仮想記憶領
域。 101はオペレーティングシステム(OS) (1)
、 (2) 。 102はプロセス(1) 、 (2) 、 (3) 。 110は使用要求キュー、又はセマフォーキュー(1)
。 (2)。
アクセス方式を説明する図。 である。 図面において、 IOはプロセッサ(1)、(2)、100は仮想記憶領
域。 101はオペレーティングシステム(OS) (1)
、 (2) 。 102はプロセス(1) 、 (2) 、 (3) 。 110は使用要求キュー、又はセマフォーキュー(1)
。 (2)。
Claims (1)
- 【特許請求の範囲】 物理的な共有メモリを持つことなく、互いに通信線によ
って結合されているマルチプロセッサシステム上で、仮
想共有メモリ(100)を提供するオペレーティングシ
ステム(OS)(101)において、該仮想共有メモリ
の1単位毎に使用要求キュー(110)を設け、 実記憶を持つプロセッサ(1)(10)が実行するプロ
セス(1)、(2)・・・・(102)からのロック要
求を、該プロセッサ(1)(10)上のオペレーティン
グシステム(OS)(1)(101)が上記使用要求キ
ュー(110)に登録し、該オペレーティングシステム
(OS)(1)(101)に対する、他のオペレーティ
ングシステム(OS)(2)(101)からの実記憶転
送要求([7])の実行を、該要求仮想記憶領域(10
0)に対応する上記使用要求キュー(110)が“空き
”になる迄待たせるように制御することを特徴とするネ
ットワーク仮想共有メモリに対する排他制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63177765A JPH0227465A (ja) | 1988-07-15 | 1988-07-15 | ネットワーク仮想共有メモリに対する排他制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63177765A JPH0227465A (ja) | 1988-07-15 | 1988-07-15 | ネットワーク仮想共有メモリに対する排他制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0227465A true JPH0227465A (ja) | 1990-01-30 |
Family
ID=16036738
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63177765A Pending JPH0227465A (ja) | 1988-07-15 | 1988-07-15 | ネットワーク仮想共有メモリに対する排他制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0227465A (ja) |
-
1988
- 1988-07-15 JP JP63177765A patent/JPH0227465A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6292860B1 (en) | Method for preventing deadlock by suspending operation of processors, bridges, and devices | |
| EP3217285B1 (en) | Transmitting data | |
| EP0747815B1 (en) | Method and apparatus for avoiding dealocks by serializing multithreaded access to unsafe resources | |
| US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
| US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
| US5452459A (en) | Method and apparatus for allocating server access in a distributed computing environment | |
| EP0321723B1 (en) | Apparatus for a data processing system having a peer relationship among a plurality of central processing units | |
| JP3987162B2 (ja) | 読取り−共有トランザクションのための強化ブロッキング・メカニズムを含むマルチプロセス・システム | |
| EP0428006A2 (en) | Multilevel locking system and method | |
| JPH01200466A (ja) | データ処理システム | |
| JPH0522259B2 (ja) | ||
| JPH03196249A (ja) | 多重プロセッサシステム | |
| JP2539352B2 (ja) | 階層型多重計算機システム | |
| JPS63238634A (ja) | 分散多重処理トランザクション処理システム | |
| JPH06301657A (ja) | 並行管理方法 | |
| US7844782B2 (en) | Data processing system with memory access | |
| US6529933B1 (en) | Method and apparatus for locking and unlocking a semaphore | |
| JPH0227465A (ja) | ネットワーク仮想共有メモリに対する排他制御方式 | |
| US5900018A (en) | Processor-implemented method of controlling data access to shared resource via exclusive access control write-cache | |
| JP3093609B2 (ja) | キャッシュメモリの記憶一致制御装置及び方法 | |
| JPS6153747B2 (ja) | ||
| JPH02171952A (ja) | マルチプロセッサにおけるディスパッチ方式 | |
| JPH05257903A (ja) | マルチプロセッサシステム | |
| JPH03189757A (ja) | マルチプロセッサシステムにおけるデッドロック回避回路 | |
| KR20230174931A (ko) | 다중 운영 체제를 구비한 시스템 및 그 동작 방법 |