JP2829115B2 - ファイル共用方法 - Google Patents

ファイル共用方法

Info

Publication number
JP2829115B2
JP2829115B2 JP2279074A JP27907490A JP2829115B2 JP 2829115 B2 JP2829115 B2 JP 2829115B2 JP 2279074 A JP2279074 A JP 2279074A JP 27907490 A JP27907490 A JP 27907490A JP 2829115 B2 JP2829115 B2 JP 2829115B2
Authority
JP
Japan
Prior art keywords
file
page
external
program
storage device
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
JP2279074A
Other languages
English (en)
Other versions
JPH04155465A (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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2279074A priority Critical patent/JP2829115B2/ja
Publication of JPH04155465A publication Critical patent/JPH04155465A/ja
Priority to US08/368,765 priority patent/US5619691A/en
Application granted granted Critical
Publication of JP2829115B2 publication Critical patent/JP2829115B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおけるファイルアクセス方
法およびそのシステムに係わる。特にマルチプロセッサ
システムにおいてファイル共用する場合のアクセス方法
およびシステムに関する。
〔従来の技術〕
一般に計算機システムにおいては、ファイルが配置さ
れる外部記憶装置の構造をプログラムが意識せずに済む
ように、オペレーティングシステム(以下OSと略す)
は、アクセスマクロを提供している。
プログラムは、仮想領域に入出力バッファを配置して
おき、アクセスマクロ(GET/PUTマクロ)を発行するだ
けでよい。プログラムがアクセスマクロを発生するとOS
(第2図中、データ管理)に制御が移り、OSは外部記憶
装置の物理的特性に適したチャネルプログラムを作成す
る。またOS(第2図中、ハードウェア管理,メモリ管
理)は、入出力バッファやチャネルプログラムに割当て
た主記憶装置中のページが、他のプログラムに割当てら
れないようページを固定し、さらにチャネルプログラム
内の仮想アドレスを実アドレスに変換したのち、チャネ
ルを起動する。この方法は、鎌田肇著「多重仮想記憶オ
ペレーティングシステム」(オーム社)第81頁から第95
頁に記載されている。
一方、大規模システムでは、複数のプロセッサを結合
したマルチプロセッサ(以下、LCMP;Loossely Couples
Multi Processorと呼ぶ。)構成を採用する場合が多
い。LCMPシステムでは、複数のプロセッサ上のプログラ
ムによるファイルへのアクセスが競合することがある。
これを防止するためにプロセッサ間で排他制御をする必
要がある。
排他制御の方法は、特開昭62−145349に開示されてい
る。この方法を以下に説明する。あるプロセッサをロッ
クマネージャとしておき、他のプロセッサからは、資源
をアクセスする前にロックマネージャにアクセスの許可
を求める。アクセスの許可を求めたプロセッサは、ロッ
クマネージャからの応答に対応して処理を進める。
〔発明が解決しようとする課題〕
上記従来技術には、ファイルを、仮想領域を通してア
クセスする場合のオーバヘッドの増大という問題があっ
た。さらにLCMPシステムにおいては、排他制御が必要と
なり、それに対応する処理時間が、従来技術をそのまま
用いると、オーバーヘッドとして付加されることにな
る。
本発明の目的は、ファイルへのアクセスに伴うオーバ
ーヘッドを削減する方法およびシステムを提供すること
にある。
本発明の他の目的は、共用ファイルへのアクセスに伴
う競合制御を簡単化し、オーバーヘッドを削減する方法
およびシステムを提供することにある。
〔課題を解決するための手段〕
上記目的は以下のようにして達成される。
仮想記憶方式を採用する複数のプロセッサが、外部記
憶装置を共用するマルチプロセッサシステムにおいて、
ページが配置される外部記憶部装置上のアドレスを保持
する外部ページテーブルを各プロセッサの主記憶上に配
置し、プログラムからのファイルマップ要求発生時、外
部記憶装置上に配置されるファイルのアドレスを上記外
部ページテーブルに格納し、ページ例外発生時、上記外
部ページテーブルの外部記憶アドレスからファイルを主
記憶へ転送することにより、上記目的は達成される。
〔作用〕
上記により、ページが配置される外部記憶プロセッサ
からも均一にアクセス可能とする。これにより、ロック
マネジャ用のプロセッサにアクセスの度に、アクセス許
可を求める通信が不要になる。
また、外部ページは、各プロセッサの主記憶に配置す
ることにより、ページを読み込む時の処理オーバヘッド
を小さくする。
プログラムからの共用使要求発生時、排他制御管理テ
ーブルを参照し、上記ファイルが他プログラムに排他使
用されている場合には、前記他プログラムの排他使用が
解除されるまで上記プログラムの共用使用要求を待たせ
る。また、プログラムからの排他使用要求発生時、排他
制御管理テーブルを参照し、上記ファイルが他プログラ
ムに排他使用または共用使用されている場合には、前記
他プログラムの排他使用または共用使用が解除されるま
で上記プログラムの排他使用要求を待たせる。このよう
にすることにより、他プロセッサがファイルに書き込み
を行っている最中に、ファイルを読み込んでしまい不当
なデータを参照するような事態を防止する。
さらに、上記プログラムから排他使用解除要求発生
時、仮想記憶の内容を上記外部ページテーブルの外部記
憶アドレスに転送し、他プロセッサにページキャンセル
・メッセージを送信し、ページキャンセル・メッセージ
を受信したプロセッサは、該当ページテーブルを無効化
することにより、以前ファイルを参照した時に、主記憶
に取り込んだデータを捨て、次に参照するときには、ペ
ージ例外処理により最新のデータを読み込むことができ
る。
これにより、LCMPシステムにおいても、ファイルのア
クセスを高速かつ矛盾なくアクセスすることが可能にな
る。
外部記憶装置として、プロセッサとの同期転送が可能
な拡散記憶装置を用い、拡張記憶装置上に排他制御情報
を配置することにより、排他制御処理が高速化され、フ
ァイルアクセスがさらに高速化される。
〔実施例〕
以下、本発明の実施例を図面を用いて説明する。
第1図は、本発明を適用したLCMPシステムの構成図で
ある。第1図の構成は次の通りである。複数のプロセッ
サ1に、それぞれ主記憶装置2が接続されている。さら
に、複数のプロセッサ1が共用する外部記憶装置3が設
けられている。プロセッサ1は、他のプロセッサ1と信
号路6で接続されている。
主記憶装置2には、プロセッサ1で実行されるユーザ
プログラム100及びシステムプログラム(OS)4が格納
されている。OS内の各プログラムは後述する。さらに、
ページテーブル11および外部ページテーブル12が格納さ
れている。ページテーブル11は、仮想アドレスと主記憶
装置2の実アドレスとの対応関係を示す情報を格納して
いる。外部ページテーブル12は、仮想アドレスと外部記
憶装置3の実アドレスとの対応関係を示す情報を格納し
ている。ページテーブル11および外部ページテーブルの
詳細は後述する。なお、主記憶装置2および外部記憶装
置3の各記憶領域はページ単位で管理される。
外部記憶装置3には、ファイル20,ファイル20の管理
情報を格納するファイル管理テーブル8およびファイル
20へのアクセスの配置制御をするための排他制御用ファ
イル30が格納されている。
以上の構成における動作を説明する。
ユーザプログラム100は仮想記憶10の上で実行される
(仮想記憶はプログラムを実行する記憶空間であって、
プログラムそのものはプロセッサ1で実行される。)。
ユーザプログラム100は、OS4内のファイルマップ処理プ
ログラム110(以下、単にファイルマップ処理)を起動
し、ページテーブル11の仮想アドレスと主記憶装置2の
実アドレスとの対応関係を無効状態(invalid)にし、
外部ページテーブル12に仮想記憶10のアドレス(仮想ア
ドレス)と外部記憶装置3の実アドレスとの対応関係を
格納する。ここで、外部ページテーブル12は、ユーザプ
ログラム100の仮想記憶10に対応してページ単位に設け
られ、外部記憶装置3の実アドレス(ページ番号)を格
納する。外部記憶装置3の実アドレスは、ファイル20を
管理するファイル管理テーブル8を参照して求める。
以下の動作説明を簡単にするために、本実施例がとる
3種類のケースに分けて説明する。
第1に、ユーザプログラム100がファイルマップ処理1
10を実行した後、初めて(主記憶装置2にないページ
を)仮想記憶10をアクセスする場合である。
ユーザプログラム10が、主記憶装置2上にないページ
(ユーザプログラム100が出力した仮想アドレスに対応
するページが主記憶装置2上にない。)をアクセスする
と、ユーザプログラム100が出力した仮想アドレスに対
応するページが主記憶装置2上にあるか否かが、ページ
テーブル11を参照してチェックされる。このチェックは
プロセッサ1内のアドレス変換回路によって実行され
る。この場合、初めての仮想記憶10へのアクセスである
ので、対応するページは主記憶装置2上にはない。この
とき、アドレス変換回路は割込みを発生する。この割込
みをページ例外割込みと呼ぶ。ページ例外割込みの発生
に伴って、OS4内のページ例外処理プログラム120(以
下、単にページ例外処理と呼ぶ。)が起動される。ペー
ジ例外処理120では、外部ページテーブル12を参照し
て、ページ例外割込みが発生したページ(ユーザプログ
ラム100が出した仮想アドレスに対応するページ)に対
応する外部記憶装置3の実(ページ)アドレスを求め
る。求めた外部記憶装置3の実アドレスの内容をページ
単位に主記憶装置2の空き領域へ転送する。この転送に
伴って、ページテーブル11の実アドレス欄に、外部記憶
装置3からその内容が転送された主記憶装置2の実アド
レス(ページアドレス)を格納すると共に、対応する仮
想アドレスと実アドレスの対応関係を有効状態(vali
d)にする。以上でページ例外処理120を終了すると、ユ
ーザプログラム100の実行が再開される。ユーザプログ
ラム100からのアクセスは、ページテーブル11に格納さ
れた仮想アドレスと主記憶装置2上の実アドレスとの対
応関係を参照して、実行される。ページテーブル11を用
いたアドレス変換は、前述のアドレス変換回路で実行さ
れる。
第2に、ユーザプログラム100がアクセスする仮想記
憶10に対応する内容が、主記憶装置2上にある場合であ
る。
第1の場合の説明から明らかなように、ページテーブ
ル11を参照してアドレス変換回路によって、ユーザプロ
グラム100からのアクセスが実行される。
第3に、第1の場合におけるアクセスが、複数のプロ
セッサ1で別々に実行されるユーザプログラム100によ
って発生し、かつ外部記憶装置3の同一アトドレス(ペ
ージ)へのアクセスである場合である。プロセッサ1が
2台である場合を例に説明する。実際は、このような現
象が発生しないように次のように制御する。
ユーザプログラム100は、仮想記憶10へのアクセスに
先立って、OS4に対して排他制御を要求する。この要求
に対応して、OS4内の排他処理プログラム130(以下、単
に排他処理と呼ぶ。)が起動される。排他処理130は、
排他制御要求の内容に応じて、外部記憶装置3内の排他
制御用ファイル30を更新する。この後、ユーザプログラ
ム100は仮想記憶10へのアクセスをする。仮想記憶10へ
のアクセスが終了した後、ユーザプログラム100は、OS4
に対して排他制御の解除を要求する。この要求に対応し
て、排他処理130が起動され、外部記憶装置3内の排他
制御用ファイル30を更新する。この場合、必要に応じ
て、ページアウト処理プログラム150(以下、単にペー
ジアウト処理と呼ぶ。)および通信処理プログラム140
(以下、単に通信処理と呼ぶ。)を実行する。この詳細
は後述する。
排他制御用ファイル30は、説明を分かり易くするため
にファイル20とは別のものとして説明したが、ファイル
20と同様の一ファイルで良い。したがって、排他処理13
0からの排他制御用ファイル30へのアクセスも仮想記憶
へのアクセスと同じ処理として扱える。ただし、ファイ
ル20への複数プロセッサ1(ユーザプログラム100)か
らのアクセスの競合を制御するために排他制御用ファイ
ル30を設けてあるが、排他制御用ファイル30に対するア
クセスの競合を制御するためのファイルは設けていな
い。そのための情報として、排他制御用ファイル内にロ
ックワードを設ける。このロックワードは、排他制御の
要求や、排他制御の解除の要求に対応してセットされ、
それぞれの処理の終了時にクリアされる。なお、排他制
御用ファイル30とファイル20との関係は、(1)ファイ
ル20に対応して排他制御用ファイル30を設ける、(2)
複数のファイル20を一括して、一つの排他制御用ファイ
ル30を設ける、のいずれでも良い。(2)の場合、ロッ
クワードは、ファイル20対応に設けても良いし、排他制
御用ファイル30に一つ設けても良い。
ページアウト処理150は、ユーザプログラム100が内容
を更新したページを、主記憶装置2から外部記憶装置へ
書き戻す。この処理と共に、ページテーブル11の対応す
るページを無効状態にしても良い。ここで無効状態にす
ると、次に述べる通信処理140が不要となる。
通信処理140は、ユーザプログラム100が内容を更新し
たページを無効にするように、他のプロセッサ1へ通知
する処理をする。この通知は信号路6を介して行なわれ
る。この通知を受けとったプロセッサ1では、通信処理
140において、ページテーブル11内に対応するページが
あれば、それを無効状態にする。
以上で、本実施例の概要を説明したが、捕足的な説明
を以下に加える。
ユーザプログラム100は、あるページを主記憶装置2
に確保すると、同一ページ内のアドレスをアクセスする
命令が連続的に実行されるという性質を持つ。したがっ
て、1回の排他制御要求とその解除要求との間で、多く
のアクセス命令が実行されることになる。
本実施例では、排他制御の要求が、対応するページを
参照するためか、更新するためかによって、その処理を
変えるが、その詳細は後述する。
以下、本実施例をより詳細に説明する。
第3図は、本実施例におけるユーザプログラム100とO
S4との関連を示す。ユーザプログラム100は、自プログ
ラムの仮想記憶領域(10)にファイルをマップするため
のFILEMAPマクロを発行する。OS4は、ファイルマップ処
理(110)を実行し、仮想記憶(10)とファイル(20)
とのマッピングを行う。
マッピング完了後、ユーザプログラムは、マッピング
領域をアクセスする。
第1回目のアクセスでは、ページ例外割り込みが発生
する。このページ例外割り込みによって、OS4はファイ
ルの一部を主記憶装置へ転送する。これがページ例外処
理120の主な処理である。これにより、ユーザプログラ
ムはファイルのアクセスが可能になる。主記憶装置にフ
ァイルがある場合には、ページ例外割り込みは発生を伴
わず、ユーザプログラムはファイルへのアクセスが可能
である。
FILEMAPマクロの指定の仕方を第4図(a)に示す。
アクセスしようとするファイル名称をオペランドに指定
しマクロを実行すると、OS4は、ファイルをマッピング
した仮想記憶の先頭アドレスを返すので、ユーザはこの
アドレスとファイル内オフセットを加算したアドレスを
参照することにより、ファイルのいずれの領域もアクセ
ス可能である。
次に、本実施例の詳細を第5図,第6図、および第7
図から第9図を加えて説明する。
まず、ハードウェアのアドレス変換方法について簡単
に説明する。
第1図において、仮想記憶(10)および主記憶装置
(2)は、同じ大きさのページに分割される。主記憶装
置(2)上の、ファイルが格納されるエリアは図示して
いない。仮想記憶(10)から主記憶(2)へのマッピン
グ情報は、ページテーブル(11)に格納される。ページ
テーブル(11)の構造は、第5図に示すように主記憶ア
ドレスを格納するRPNフィールド(11b)と、RPNフィー
ルド(11b)が有効か否かを示すIビット(11a)からな
る。このようなページテーブル(11)は、仮想記憶空間
対応に作られる。
プログラムが仮想記憶を参照または更新する度に、ハ
ードウェア(アドレス変換回路)は参照または更新アド
レスに対応する、ページテーブル(11)のIビット(11
a)を参照し、Iビットが0ならばRPNフィールド(11
b)から主記憶アドレスを求める。Iビット(11a)が1
ならば、ハードウェアはページ例外割り込みを発生させ
OSに制御を渡す。
OSは、ページ例外割り込みが発生したアドレスに対応
する外部ページテーブル(12)に格納される外部記憶か
らページを主記憶装置2に読み込む。外部ページテーブ
ル(12)の構造は、第6図に示してある。このような外
部ページテーブル(12)は仮想記憶空間対応に作られ
る。
第8図は、ファイルマップ処理(110)を示す。
ファイルマップ処理(110)は、前述のように、ユー
ザプログラム(100)がFILEMAPマクロを発行することに
より、起動される。
外部記憶装置(3)上のファイル管理テーブル(8)
には、ファイル名称とファイルの配置アドレスが格納さ
れている。ファイルマップ処理(110)は、まず、FILEM
APマクロオペランドに指定されるファイル名をファイル
管理テーブル(8)から捜し、、ファイル配置アドレス
とファイルサイズとを求める(ステップ111)。求めた
ファイルサイズ以上の仮想記憶領域を確保する(ステッ
プ112)、確保した仮想記憶領域に対応する外部ページ
テーブル(12)にファイル配置アドレスをページ単位に
格納する(ステップ113)。FILEMAPマクロを発行したユ
ーザプログラムには、確保した仮想記憶領域の先頭アド
レスを渡す。
第9図は、ページ例外処理(120)の流れを示すもの
である。ページ例外割り込みが発生した場合、主記憶装
置2に実ページを確保する(ステップ121)。次に、ペ
ージ例外割り込みの発生の要因になったアドレスに対応
する外部ページテーブル(12)から外部記憶アドレスを
求める(ステップ122)。このアドレスは、上記ステッ
プ113で格納したアドレスである。このアドレスをチェ
ネルコマンドに指定し、ファイルの入力を起動する(ス
テップ123)。次に、ユーザプログラムWAITさせ(ステ
ップ124)、転送の終了を待つ(ステップ125)。転送終
了後、ページテーブルの該当エントリを有効にし(ステ
ップ126)、ユーザプログラムを再開させる(ステップ1
27)。
ページ例外処理の実行命令数は、従来のアクセスマク
ロによるファイルアクセス方法に比べ、削減できる。
次に、マルチプロセッサシステムにおいて、共用する
ファイルを更新する場合に、矛盾なくファイルのアクセ
スを行うための方法を用いて説明する。
第3図は、本実施例におけるユーザプログラムとOSと
の関連を示すものである。ユーザプログラム(100)
は、自プログラムの仮想記憶領域(10)にファイルをマ
ップするためのFILEMAPマクロを発行する。OSは、ファ
イルマップ処理(110)を実行し、仮想記憶(10)とフ
ァイル(20)とのマッピングを行なう。
ユーザプログラム(100)は、マッピング領域を更新
する前に、ACCESSマクロを発行し(第3図)、ファイル
(20)を更新する旨をOS4に通知する。通知を受けたOS4
は、排他制御処理(130)に制御を渡す。排他制御処理
(130)は、外部記憶装置(3)上の排他制御用ファイ
ル(30)を参照し、上記ファイル(20)を使用中のプロ
グラムがいないことを確認し、ユーザプログラム(10
0)に制御を渡す。ファイル(20)を使用中のプログラ
ムがある場合には、当該プログラム(100)を休止(WAI
T)状態にし、ファイル(20)を使用中のプログラムが
なくなるまで待たせる。
ACCESSマクロ処理が完了したユーザプログラム(10
0)は、初めてマッピング領域のアクセスが許される。
第1回目のアクセスでは、ページ例外割り込みが発生
するので、OSはファイル一部を主記憶へ転送する。これ
により、ユーザプログラムはファイルのアクセスが可能
である。主記憶にファイルがある場合には、ページ例外
は発生せず直ちにアクセスが可能である。
ファイルへのアクセスが完了したならば、ユーザプロ
グラム(100)は、ACCESSマクロを発行し、OSにファイ
ルへの更新が完了したことを通知する。OSは、排他制御
処理(130)を起動する。排他制御処理(130)は、外部
記憶装置上の排他制御用ファイル(30)を参照し、当該
ファイル(20)へのアクセスが待たされているプログラ
ムがあれば、他のプロセッサにアクセスが完了した旨を
伝える。
FILEMAPマクロの指定の仕方は第4図(a)に示して
ある。アクセスしようとするファイル名称をオペランド
に指定し本マクロを実行すると、OSは、ファイルをマッ
ピングした仮想記憶の先頭アドレスとOS内で一意に決ま
るfile−idを返すので、ユーザはこのアドレスとファイ
ル内オフセットを加算したアドレスを参照することによ
り、ファイルのいずれの領域もアクセス可能である。
第4図(b)は、ACCESSマクロの指定の仕方を示した
ものである。
file−idは、FILEMAPマクロの実行結果として発行元
に渡される番号である。OSはこの番号を元にファイルを
特定する。
ファイル内アドレスと長さは、プログラムが参照しよ
うとするファイル内の領域を指定するものである。
排他オプションとは、指定した領域を排他的に使用す
るか、共用的に使用するか、または、排他および共用使
用を解除するか、を指定するものである。ユーザプログ
ラム(100)は、ファイルを更新する場合には排他使用
要求を、参照の場合には共用使用要求を指定し、更新ま
たは参照が終了した場合には、解除要求を指定する。
次に、詳細を第11図から第16図を用いて説明する。
第10図は、排他制御用ファイル(30)に配置する排他
制御管理テーブルの構造を示したものである。31は資源
管理テーブル、34は資源要求テーブルである。
資源管理テーブル(31)は、ファイル名称と資源要求
テーブル(34)を指す2つのポインタからなる。第1の
ポインタは、ファイルを使用中の資源要求テーブル(3
4)を指す使用中キューポインタ(32)である。第2の
ポインタは、ファイルの使用待ちとなっている資源要求
テーブル(34)を指す資源待ちキューポインタ(33)で
ある。資源管理テーブル(31)は、LCMPシステム全体で
使用されているファイルの数だけ存在する。
資源要求テーブル(34)は、アクセスしようとするフ
ァイルのアドレス範囲と、、要求属性(共用または排
他)と要求プログラムとを格納するフィールドからな
る。要求プログラムとは、資源を使用しようとする、ま
たは使用中のプログラム名(またはタスク番号とアドレ
ス空間番号)およびOS名称(またはプロセッサ番号)を
連結したものである。
次に、処理の概要について説明する。
ファイルマップ処理(110),ページ例外処理(120)
は、それぞれ第8図,第9図に示してある。これについ
ては、既に説明済みなので省略する。
第11図は、排他制御処理(130)の流れである。
排他制御処理(130)は、ユーザプログラム(100)が
ACCESSマクロを発行することにより起動される。排他制
御処理(130)は、排他制御テーブルを他のプログラム
と同時に更新するのを避けるため、排他制御用ファイル
(30)をロックする(ステップ1301)。ロックの方法
は、一般のディスク装置の場合には、リザーブコマンド
をディスクに発行することによりディスク装置全体をロ
ックする。また、排他制御命令を有する拡張記憶装置の
場合には、排他制御用ファイルにロックワードを設け、
ロックワードの内容が0ならば未使用、それ以外ならば
使用中と決めておき、ロックワードが0ならば、ロック
ワードを排他制御命令を用いて書き換え、書き換えに成
功すれば次の処理を行い、ロックワードが0以外、また
は、書き換えに失敗したならばロックワードが0になる
まで待つ。
排他制御命令の仕様は、第14図のようになっており、
第3パラメタのレジスタ3に指定される拡張記憶アドレ
スの8バイトを主記憶上の第1パラメタ(8バイト)と
比較と、一致すれば主記憶上の第2パラメタ(8)を第
8パラメタに指定される拡張記憶アドレスに格納する。
比較の結果、不一致であれば、拡張記憶への格納は行わ
れず、不一致であったことが条件コードに反映される。
この一連の処理は、連続して行われるので他のプロセッ
サから同時に同じ拡張記憶アドレスを更新しようとして
も、どちらか一方が命令の完了まで待たされる。
また、ロックワードを資源管理テーブル(31)ごとに
設けることにより、ロックの衝突を削減することが可能
である。
このように、拡張記憶を外部記憶装置として共用する
ことにより、ロック範囲を狭くできるので、ロック処理
のオーバヘッドを大幅に削減可能である。
排他制御用フィアル(30)をロックしたのち、ユーザ
プログラム(100)の要求によって以下に述べる3つの
処理に振り分ける。ユーザプログラム(100)の要求と
は、ACCESSマクロの排他オプションに指定される排他要
求,共用要求、および解除要求である。
まず、排他オプションが排他要求の場合の処理につい
て述べる。
排他制御処理(130)は、排他制御用ファイル(30)
を参照し、資源管理テーブル(31)からアクセス要求の
あったファイル名を捜し、使用中キューポインタから資
源要求テーブル(34)をたどり、ACCESSマクロに指定さ
れるファイル領域を使用中のプログラムがあるかどうか
を調べる(ステップ1302)。当該領域を使用中のプログ
ラムがなければ、資源要求テーブル(34)を作成し、必
要事項を格納し、資源管理テーブル(31)の使用中キュ
ーポインタ(32)に上記資源要求テーブル(34)のアド
レスを格納する(ステップ1303)。そして、排他制御用
ファイルをアンロックし(ステップ1304)、ユーザプロ
グラム(100)に制御を戻す。
ステップ1302にて、使用中のプログラムが存在した場
合には、資源要求テーブル(34)を作成し必要事項を格
納し、資源管理テーブル(31)の待ちキューポインタ
(33)に上記資源要求テーブル(34)のアドレスを格納
する(ステップ1306)。
そして、排他制御用ファイル(30)をアンロックし
(ステップ1307)、現在ファイルを使用中のプログラム
が参照を完了するまで、ユーザプログラム(100)をWAI
Tさせる(ステップ1308)。
以上が排他要求時の処理である。次に、共用要求の場
合について説明する。
共用要求の場合、他のプログロムが共用使用している
場合にも、ファイルを使用することができる。他のプロ
グラムが排他的に使用している場合には、共用要求を待
たせる必要がある。そこで、ステップ1305にて、他のプ
ログラムが排他的に使用しているかをチェックする。他
プログラムが排他的に使用している場合には、要求を待
たせるために、ステップ1306以降を処理を実行する。ま
た、排他的に使用するプログラムがない場合には、、ス
テップ1303以降を実行し、ユーザプログラム(100)に
制御を戻す。
次に、解除要求の場合について述べる。
まず、排他制御用ファイル(30)を参照し、現在使用
中のファイルと同一名称を持つ資源管理テーブル(31)
を捜し、待ちキューポインタ(33)から現在要求元のユ
ーザプログラム(100)が使用している領域を含む資源
要求テーブル(34)を捜す(ステップ1309)。発見した
場合には、この資源要求テーブル(34)に格納されてい
る要求者に対して、POST通信を行い(ステップ1310)要
求者を起動する。
ステップ1309にて、資源管理テーブルを発見できなか
った場合、および、POST通信(1310)を行った場合、次
に、要求元のユーザプログラム(100)が排他制御中か
否かを調べる(ステップ1311)。
排他使用中の場合は、ページアウト(ステップ1312)
およびキャンセル通信(ステップ1313)を行い、自主記
憶上の更新ページをファイル(20)に書き戻し、他の主
記憶上にある同一ファイル領域の内容を捨て、各主記憶
に分散されたファイルの内容の一貫性を保証できる。ペ
ージアウト処理およびキャンセル通信処理の詳細は後で
述べる。
これらの処理を行った後、要求元の資源要求テーブル
(34)を資源管理テーブル(31)の使用中キューから削
除する(ステップ1314)。
そして、排他制御用ファイルをアンロックし(ステッ
プ1304)、ユーザプログラム(100)に制御を戻す。
次に、第12(a)図および第12(b)図を参照し、キ
ャンセル通信およびPOST通信を説明する。
キャンセル通信要求を受け付けた場合(第12(a)
図)、通信処理(140)は、キャンセルコマンドとファ
イル名、ファイル内のアドレス範囲をメッセージとして
組立て、プロセッサ間通信路(6)に対して出力要求を
送る。プロセッサ間通信路は、相手プロセッサに対して
割り込みをかけ、メッセージ内容を主記憶(2)に格納
する。
プロセッサ間通信路(6)から割り込みがかかると
(第12(b)図)、OSは、通信処理(受信)(140)が
起動する。通信処理(140)は、コマンドがキャンセル
であることから、メッセージからファイル名およびファ
イル内のアドレス範囲を取り出し、ファイルをマッピン
グしている仮想記憶のページテーブルエントリ(11)の
Iビット(11a)を0にする(ステップ141)。
これにより、キャンセルされた仮想記憶領域をプログ
ラムが参照するとページ例外が発生し、外部記憶からフ
ァイルを読み込むことになる。このときのファイルの内
容は、更新された最新のものになっている。
また、POST通信の処理(第12(a)図)は、POSTコマ
ンド,アドレス空間番号,タスク番号のどの相手プログ
ラムを特定する情報をメッセージに格納し、プロセッサ
間通信路(6)を起動する、キャンセル通信と同様に、
相手プロセッサに割り込みがかかり、通信処理(受信)
(140)(第12(b)図)が起動される。通信処理(受
信)は、コマンドがPOSTであることから、メッセージの
内容からプログラムを特定し、当該プログラムをPOSTす
る。POSTは、WAITにより待ち状態になっているプログラ
ムを起動する。
第13図は、ページアウト処理(150)である。この処
理は、更新されたページを外部ページテーブル(12)に
格納される外部記憶アドレスに転送する。
本実施例によれば、ファイルを共用する疎結合マルチ
プロセッサシステムにおいて、ファイルを更新する場合
にも、矛盾なく高速にファイルのアクセスを行うことが
できる。
第15図から第18図は、本発明の一実施例を示すもので
ある。
本実施例の特徴は、前記実施例において、排他制御処
理(130a)とページ例外処理(120a)を設けることによ
り、排他使用解除時のキャンセル通信を不要とし、実行
命令数を削減することにある。
第15図は、第1図における排他制御用ファイル(30)
上に配置する排他アクセス完了時刻テーブル(35)(図
中、(a))と第1図における各主記憶(2)に配置す
るページイン時刻テーブル(36)(図中、(b))の構
造を示すものである。
これらのテーブルは、仮想記憶(10)へマッピング中
のファイル(20)のページ数と同数のエントリを持つ。
排他アクセス完了時刻テーブル(35)には、排他使用
解除要求があったとき、更新ページごとに解除要求のあ
った時刻を記録する。
ページイン時刻テーブル(36)には、各プロセッサに
おいてファイルからページを読み込んだ時刻およびペー
ジをファイルに書き戻した時刻を記録する。
第16図は、本実施例における排他制御処理(130a)の
流れである。
第16図において、第11図と同じ参照番号は同じものを
さす。
ここでは、第11図と異なる処理のみを示す。
排他使用解除時、更新ページをファイルへ書き戻し
(ステップ1312)、排他制御用ファイル(30)上の俳他
アクセス完了時刻テーブル(35)と、ページイン時刻テ
ーブル(36)の対応するエントリに現在時刻を格納す
る。
ユーザからの排他または共用要求時、ファイルアクセ
スが可能であれば、排他制御用ファイル(30)上の排他
アクセス完了時刻テーブル(35)から排他アクセス完了
時刻(α)と主記憶上のページイン時刻テーブル(36)
からページイン時刻(β)を求める(ステップ1315
a)。α>βならば、即ち、主記憶の内容がファイル(2
0)よりも古ければ(ステップ1316a)、自プロセッサの
ページテーブル(11)のIビット(11a)を0にし(ス
テップ1317a)、当該ページを無効化する。
第17図は、ページ例外処理(120a)を示す。第9図の
ページ例外処理(120)と異なるのは、ページ入力の完
了時に、主記憶(2)上のページイン時刻テーブル(3
6)の現在時刻を格納する(ステップ122a)点である。
本実施例によれば、キャンセル通信が不要になり、CP
Uオーバヘッドが削減させるという効果がある。
第18図は、本発明の一実施例を示す。
第18図において、第1図と同一の参照番号は、同じも
のをさす。
第18図の150はウィンドウ、160はウィンドウ処理であ
る。
本実施例の特徴は、ファイル(20)よりも小さな仮想
記憶(10)上の領域であるウィンドウ(15)と、ウィン
ドウ処理(160)を設け、ユーザプログラム(100)がフ
ァイルを参照・更新する前に発行するACCESSマクロのオ
ペランドに指定されるファイル領域のみを仮想記憶(1
0)にマッピングすることにより、ユーザプログラム(1
00)がアクセスしないファイル領域を参照不可能とし、
ユーザプログラム(100)の不良によるファイル(20)
の破壊を防止するところにある。
本実施例の詳細を第19図および第20図を用いて説明す
る。
第19図は、ファイルマップ処理(110a)を示す。
ファイルマップ処理では、ファイルの配置情報を求め
(ステップ111a),仮想記憶(10)上にウィンドウ領域
を確保する(ステップ112a)だけであり、外部ページテ
ーブルへの更新は行わない。
ウィンドウ処理(130b)は、ユーザプログラム(10
0)がACCESSマクロを発行することにより、起動され
る。この処理は、第11図の排他制御処理(130)を行っ
たあと、ユーザが参照するファイル領域の配置アドレス
をウィンドウ(15)の外部ページテーブル(12)に格納
する。
本実施例によれば、ユーザプログラム(100)がアク
セス宣言したファイルの領域のみを仮想記憶(20)にマ
ッピングするので、宣言しないファイル領域は、ユーザ
プログラム(100)からは参照できない。従って、ユー
ザプログラム(100)の不良によるファイルの破壊を防
止できる。
第21図は、本発明の一実施例を示す。
第21図において、第1図と同一の参照番号は同じもの
をさす。第21図の、7は第1外部記憶装置、3は第2外
部記憶装置、21は第1外部記憶装置上のファイル、20は
第2外部記憶装置上のファイル、12は第1外部ページテ
ーブル、13は第2外部ページテーブルである。
本実施例の特徴は、第1外部記憶装置(7)上のファ
イル(21)を、第1外部記憶装置よりも高速な第2外部
記憶装置(3)上のファイル(20)に順次ページ単位に
配置することにより、排他制御時のページング処理を高
速に行うことにある。また、ファイル(21)への書き戻
しは、ユーザプログラム(100)からSAVEマクロが発行
された時点で行う。さらに、あるプロセッサが低速な記
憶装置上のファイル(21)のページを高速な記憶装置上
のファイル(20)に配置した場合に、他のプロセッサか
ら同一ページを参照するときには、必ず高速なファイル
(20)からページを読み込むことも特徴とする。
次に第6図,第7図、および第22図から第26図を参照
し、本実施例の詳細を説明する。
第1外部ページテーブル(12)の構造は、第6図に示
す外部ページテーブルと同一である。第7図は、第2外
部ページテーブル(13)の構造を示す。13bは外部記憶
アドレスを格納するフィールド、13aは、当該外部記憶
アドレスのフィールドが有効か否かを示すIビットであ
る。Iビット(13a)が0の場合、外部記憶アドレス(1
3b)が有効であることを示し、1の場合は無効であるこ
とを示す。
第22図は、ファイルマップ処理(110b)の流れであ
る。
ファイルマップ処理(110b)は、ユーザプログラム
(100)からFILEMAPマクロを発行することにより起動さ
れる点は他の実施例と同様である。ファイルマップ処理
(110b)は、まず、FILEMAPマクロのオペランドに指定
されるファイル名を求め、第1外部記憶装置(7)上の
ファイル管理テーブル(9)からファイル(21)の配置
情報を求める(ステップ111b)。次に、主記憶(2)上
の第1外部ページテーブル(12)にファイルのアドレス
を格納する(ステップ112b)。そして、第2外部記憶上
のファイル管理テーブル(8)にユーザプログラム(10
0)が指定したファイル名と同一名称のファイルが存在
するかを調べる(ステップ113b)。
同一ファイル名称が第2外部記憶装置(3)上になけ
れば、ファイル(21)と同一長で同一名称のファイル
(20)を第2外部記憶装置(3)上に作成する(ステッ
プ114b)。
同一ファイル名称が第2外部記憶装置(3)上にある
場合には、既に他のプロセッサにより上記のファイル
(20)の割当て処理は行われているため、ステツプ114b
はスキップする。
最後に、第2外部記憶装置(3)上のファイル(20)
の配置アドレスを第2外部ページテーブル(13)に格納
し、Iビット(13a)を1(無効化)にする(ステップ1
15b)。
第23図は、ページ例外処理(120b)である。
ページ例外処理(120b)は、ユーザプログラム(10
0)がファイルマッピング領域を参照したときに、ペー
ジが主記憶(2)にないとき、つまり、ページテーブル
(11)のIビット(11a)が1の時に発生する。
ページ例外処理(110a)は、まず、第2外部ページテ
ーブル(13)のIビット(13a)を参照し、第2外部ペ
ージテーブルの外部記憶アドレスが有効か否かを調べる
(ステップ121b)。有効、つまり、Iビットが0であれ
ば、第2外部ページテーブルの外部記憶アドレスからペ
ージインするアドレスを求める(ステップ122b)。
無効、つまり、Iビットが1であるならば、第1外部
ページテーブルの外部記憶アドレスからページインする
アドレスを求める(ステップ123b)。
ページイン動作完了後、第1外部ページテーブル(1
2)からページインアドレスを求めた場合(ステップ124
b)には、ページインしたページを第2外部記憶装置
(3)にページアウト(124b)し、第2外部ページテー
ブル(13)のIビット(13a)を0にすることにより、
第2外部ページテーブルを有効化する。
これにより、以降、自プロセッサ内で同一ページを参
照し、ページ例外が発生した場合には、より高速な第2
記憶装置(3)からページインすることになる。
他のプロセッサ上の同一ファイルを指す第2外部ペー
ジテーブル(13)のIビット(13a)を0にする処理
は、ページアウト処理(150a)と、通信処理(140a)に
より行う。
まず、ページアウト処理(150a)の処理を第24図を用
いて説明する。
ページアウト処理(150a)は、まず、第1外部記憶装
置(7)に対するページアウト要求か、または、第2外
部記憶装置(3)に対する要求かにより、処理を振り分
ける。ページ例外処理(120b)からの要求は、第2外部
記憶装置(3)に対してのみである。第2外部記憶装置
(3)に対するページアウトは、第2外部ページテーブ
ル(13)に格納される外部記憶アドレスを求め(151
a)、ページアウトする。
そして、他のプロセッサの第2外部ページテーブルを
有効化するために、VALID通信を起動する(ステップ152
a)。
VALID通信処理は、第25(a)および第25(b)図に
示してある。通信処理(140a)は、VALID通信要求を受
け取るとメッセージにVALEDコマンドとファイル名称,
アドレス範囲を格納し、プロセッサ間通信路(6)を起
動する。
メッセージを受け取ったプロセッサは、VALIDコマン
ドであることから、ステップ141aを実行する。即ち、メ
ッセージ内のファイルをマッピングしている仮想記憶の
第2外部ページテーブル(13)のIビットを0にして有
効化する。
これにより、他のプロセッサ上で、同一のファイル領
域を参照した場合にも、高速な外部記憶装置(3)から
ページインすることができる。
排他制御処理(130)については、第11図と同様であ
り、既に説明してあるので省略する。これらの処理によ
り、ファイル(21)が配置される第1外部記憶装置
(7)よりも高速な第2外部記憶装置(3)を用いて、
ファイルを更新する場合にも、矛盾なくかつ高速にファ
イルのアクセスが可能である。
この方式は、ファイルを更新した結果を元の第1外部
記憶装置(7)に書き戻さないため、不都合が起こるこ
とがある。
このため、SAVEマクロを設け、ファイルを第1外部記
憶装置(7)へ書き戻す方式をユーザプログラム(10
0)に提供する。
SAVEマクロの処理を第26図と第24図を用いて説明す
る。
第26図は、SAVE処理(160)の流れを示すものであ
る。
SAVE処理(160)は、ユーザプログラム(100)がSAVE
マクロを発行することにより、起動される。
SAVE処理(160)はまず、他のプロセッサがフアイル
を更新しないように、ファイルの全領域を共用アクセス
状態にする(ステップ161)。
そして、第1外部記憶装置(7)に対するページアウ
ト要求を発行する(ステップ162)。ページアウト完了
後、共用アクセス要求を解除する(ステツプ163)。
つぎに、ページアウト処理(150a)を第26図を用いて
説明する。
第1外部記憶装置(7)のページアウト要求の場合
は、ステップ153aが実行される。ステップ153aでは、第
1外部ページテーブル(12)から外部記憶アドレスを算
出するので、第1外部記憶装置(7)へページアウトす
ることになり、元のファイル(21)への書き戻しが可能
となる。
以上説明した実施例によれば、外部記憶装置上のファ
イルをページ単位に仮想記憶上に対応させ、ユーザプロ
グラムがファイルに対応付けられたページを参照したと
きに、ページ例外処理により外部記憶装置から主記憶へ
ファイルを転送することにより、従来のファイルアクセ
ス方法に比べ、高速にアクセスすることができる。
さらに、拡張記憶装置にファイルを配置することによ
り、従来のファイルアクセス方法に比べ、さらに高速に
アクセスすることができる。
また、疎結合マルチをプロセッサシステムにおいて
は、排他制御処理を各プロセッサ上に設け、排他アクセ
ス完了時、各プロセッサに更新したページを無効化する
メッセージを送り、メッセージを受け取ったプロセッサ
は、当該ページを無効化することにより、複数プロセッ
サ間で共用するファイルを更新する場合にも、矛盾なく
共用ファイルをアクセスすることができる。
仮想記憶へのファイルのマッピング範囲を、ユーザプ
ログラムが宣言した領域に限定することにより、ユーザ
プログラムの不良によるファイルの破壊を防止できる。
さらに、低速な外部記憶装置上のファイルのうち、参
照・更新された領域のみを高速な外部記憶装置に配置す
ることにより、共用ファイルのアクセスが高速化され
る。
〔発明の効果〕
本発明によれば、外部記憶装置上のファイルをページ
単位に仮想記憶上に対応させ、ユーザプログラムがファ
イルに対応付けられたページを参照したときに、ページ
例外処理により外部記憶装置から主記憶へファイルを転
送することにより、従来のファイルアクセス方法に比
べ、高速にアクセスすることができる。
【図面の簡単な説明】
第1図は、本発明によるファイル共用方法の実施例を示
す図。第2図は、従来技術を示す図。第3図は、ユーザ
プログラムとOSとの関連を示す図。第4図は本発明のユ
ーザインタフェースを示す図。第5図は、アドレス変換
を行うときのテーブル構造を示す図。第6図は、外部記
憶装置に配置されるページの配置アドレスを格納するテ
ーブル構造を示す図。第7図は、高速外部記憶装置に配
置されるページの配置アドレスを格納するテーブル構造
を示す図。第8図は、第1図におけるファイルマップ処
理を示す図。第9図は、第1図におけるページ例外を示
す図。第10図は第1図における排他制御用管理テーブル
の構造を示す図。 第11図は、第1図における排他制御処理を示す図。第12
(a)図および第12(b)図は、第1図における通信処
理を示す図。第13図は、第1図におけるページアウト処
理を示す図。第14図は、拡張記憶装置の排他制御命令の
仕様を示す図。第15図は、第1図における更新・参照時
刻を示す図。第16図は、第1図における他の排他制御処
理を示す図。第17図は、第1図における他のページ例外
処理を示す図。 第18図は、本発明によるファイル共用方法の他の実施例
を示す図。第19図は、第18図におけるファイルマップ処
理を示す図。第20図は、第18図におけるウインドウ処理
を示す図。 第21図は、本発明によるファイル共用方法の他の実施例
を示す図。第22図は、第21図におけるファイルマップ処
理を示す図。第23図は、第21図におけるページ例外処理
を示す図。第24図は、第21図におけるページアウト処理
を示す図。第25(a)および25(b)図は、第21図にお
ける通信処理を示す図。第26図は、第21図におけるSAVE
処理を示す図。 1……プロセッサ、2……主記憶、3……外部記憶装置
または拡張記憶、5……データ転送路、6……プロセッ
サ間通信路、7……第1外部記憶装置、8……ファイル
管理テーブル、9……第1外部記憶ファイル管理テーブ
ル、10……仮想記憶、20……ファイル、30……排他制御
用ファイル、100……ユーザプログラム、110……ファイ
ルマップ処理、120……ページ例外処理、130……排他制
御処理、140……通信処理、150……ページアウト処理。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新井 利明 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 吉澤 康文 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 大房 義隆 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウエア工場内 (72)発明者 上 政之 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株 式会社内 (56)参考文献 特開 平2−36458(JP,A) 特開 平1−144152(JP,A) 特開 昭57−33471(JP,A) 特開 昭51−16832(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想記憶方式を採用する複数のプロセッサ
    が、第1の外部記憶装置と第1の外部記憶装置よりも高
    速な第2の外部記憶装置を共用し、プロセッサ間通信装
    置により結合される疎結合マルチプロセッサシステムに
    おけるファイル共用方法であって、 ページが配置される第1の外部記憶装置上のアドレスを
    保持する第1外部ページテーブルと、第2の外部記憶装
    置上のアドレスを保持する第2外部ページテーブルを各
    プロセッサの主記憶上に配置し、 上記第2の外部記憶装置上に、排他制御管理テーブルを
    配置し、 プログラムからのファイルマップ要求発生時、上記第1
    の外部記憶装置上に配置されるファイルのアドレスを上
    記第1外部ページテーブルに格納し、前記第2の外部記
    憶装置上に上記ファイルと同一長のファイルを確保し、
    前記第2の外部記憶装置上のファイルのアドレスを上記
    第2外部ページテーブルに格納し、 ページ例外発生時、上記第2外部ページテーブルが有効
    であれば、第2外部記憶アドレスからファイルを主記憶
    へ転送し、第2外部ページテーブルが無効であれば、第
    1外部ページテーブルからファイルを主記憶へ転送し、
    他プロセッサにページ有効メッセージを送信し、ページ
    有効メッセージを受信した場合には該当第2外部ページ
    テーブルを有効にし、 上記プログラムからの共用使用要求発生時、上記排他制
    御管理テーブルを参照し、上記ファイルが他のプログラ
    ムに排他使用されている場合には、前記他プログラムの
    排他使用が解除されるまで上記プログラムの共用使用要
    求を待たせ、 上記プログラムからの排他使用要求発生時、上記排他制
    御管理テーブルを参照し、上記ファイルが他のプログラ
    ムに排他使用または共用使用されている場合には、前記
    他プログラムの排他使用または共用使用が解除されるま
    で上記プログラムの排他使用要求を待たせ、 上記プログラムからの排他使用解除要求発生時、仮想記
    憶の内容を上記第2外部ページテーブルの外部記憶アド
    レスに転送し、他プロセッサにページキャンセル・メッ
    セージを送信し、ページキャンセル・メッセージ受信時
    には、該当ページテーブルを無効化することを特徴とす
    るファイル共用方法。
  2. 【請求項2】仮想記憶方式を採用する複数のプロセッサ
    が、第1の外部記憶装置と第1の外部記憶装置よりも高
    速な第2の外部記憶装置を共用し、プロセッサ間通信装
    置により結合される疎結合マルチプロセッサシステムに
    おけるファイル共用方法であって、 ページが配置される第1の外部記憶装置上のアドレスを
    保持する第1外部ページテーブルと、第2の外部記憶装
    置上のアドレスを保持する第2外部ページテーブルと、
    ページイン時刻を格納するページイン時刻テーブルを各
    プロセッサの主記憶上に配置し、 上記第2の外部記憶装置上に、排他制御管理テーブルと
    排他使用が解除された時刻を記憶する排他使用完了時刻
    テーブルを配置し、 プログラムからのファイルマップ要求発生時、上記第1
    の外部記憶装置上に配置されるファイルのアドレスを上
    記第1外部ページテーブルに格納し、前記第2の外部記
    憶装置上に上記ファイルと同一長のファイルを確保し、
    前記第2の外部記憶装置上のファイルのアドレスを上記
    第2外部ページテーブルに格納し、 ページ例外発生時、上記第2外部ページテーブルが有効
    であれば、第2外部記憶アドレスからファイルを主記憶
    へ転送し、第2外部ページテーブルが無効であれば、第
    1外部ページテーブルからファイルを主記憶へ転送し、
    ページイン時刻を上記ページイン時刻テーブルに格納
    し、他プロセッサにページ有効メッセージを送信し、ペ
    ージ有効メッセージを受信した場合には該当第2外部ペ
    ージテーブルを有効にし、 上記プログラムの排他使用解除要求発生時、仮想記憶の
    内容を上記外部ページテーブルの外部記憶アドレスに転
    送し、上記排他使用完了時刻テーブルと上記ページイン
    時刻テーブルに現在時刻を格納し、 上記プログラムからの共用使用要求発生時、上記排他制
    御管理テーブルを参照し、上記ファイルが他プログラム
    に排他使用されている場合には、前記他プログラムの排
    他使用が解除されるまで上記プログラムの共用使用要求
    を待たせ、使用可能な場合には、上記排他使用完了時刻
    テーブルに格納される時刻がページイン時刻テーブルに
    格納される時刻より最近であれば、自プロセッサ内の該
    当ページテーブルを無効化し、 上記プログラムからの排他使用要求発生時、上記排他制
    御管理テーブルを参照し、上記ファイルが他プログラム
    に排他使用または共用使用されている場合には、前記他
    プログラムの排他使用または共用使用が解除されるまで
    上記プログラムの排他使用要求を待たせ、使用可能な場
    合には、上記排他使用完了時刻テーブルに格納される時
    刻がページイン時刻テーブルに格納される時刻より最近
    であれば、自プロセッサ内の該当ページテーブルを無効
    化することを特徴とするファイル共用方法。
  3. 【請求項3】プログラムからの共用使用または排他使用
    要求時、ファイル長よりも小さい仮想記憶領域であるウ
    インドウの外部ページテーブルにファイルのアドレスを
    格納することを特徴とする請求項1または2に記載のフ
    ァイル共用方法。
JP2279074A 1990-10-19 1990-10-19 ファイル共用方法 Expired - Fee Related JP2829115B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2279074A JP2829115B2 (ja) 1990-10-19 1990-10-19 ファイル共用方法
US08/368,765 US5619691A (en) 1990-10-19 1995-01-04 File sharing method and system for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2279074A JP2829115B2 (ja) 1990-10-19 1990-10-19 ファイル共用方法

Publications (2)

Publication Number Publication Date
JPH04155465A JPH04155465A (ja) 1992-05-28
JP2829115B2 true JP2829115B2 (ja) 1998-11-25

Family

ID=17606054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2279074A Expired - Fee Related JP2829115B2 (ja) 1990-10-19 1990-10-19 ファイル共用方法

Country Status (2)

Country Link
US (1) US5619691A (ja)
JP (1) JP2829115B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890156A (en) * 1996-05-02 1999-03-30 Alcatel Usa, Inc. Distributed redundant database
US6178429B1 (en) * 1997-11-26 2001-01-23 Cisco Technology, Inc. Mechanism for ensuring SCM database consistency on multi-part operation boundaries
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6480864B1 (en) 1999-06-15 2002-11-12 Cisco Technology, Inc. RAM based directory layer for a flash file system
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
US6606628B1 (en) 2000-02-14 2003-08-12 Cisco Technology, Inc. File system for nonvolatile memory
JP2003150424A (ja) * 2001-11-16 2003-05-23 Fujitsu Ltd ファイルシステム、制御方法及びプログラム
JP2005141672A (ja) * 2003-11-10 2005-06-02 Hitachi Ltd 共有リソースの使用の排他制御方式及び方法
JP4526337B2 (ja) * 2004-09-15 2010-08-18 株式会社日立製作所 データ管理システム及び方法
US7730258B1 (en) 2005-11-01 2010-06-01 Netapp, Inc. System and method for managing hard and soft lock state information in a distributed storage system environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
JPS62145349A (ja) * 1985-12-20 1987-06-29 Hitachi Ltd システム間デ−タベ−ス共用方式
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4823261A (en) * 1986-11-24 1989-04-18 International Business Machines Corp. Multiprocessor system for updating status information through flip-flopping read version and write version of checkpoint data
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
DE68927783T2 (de) * 1988-05-03 1997-09-25 Wang Laboratories Mikroprozessor mit äusserem steuerungsspeicher
US5095420A (en) * 1988-11-21 1992-03-10 International Business Machines Method and system for performing virtual address range mapping in a virtual storage data processing system
US5237668A (en) * 1989-10-20 1993-08-17 International Business Machines Corporation Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
JP3102495B2 (ja) * 1989-12-28 2000-10-23 株式会社日立製作所 仮想記憶管理方法

Also Published As

Publication number Publication date
JPH04155465A (ja) 1992-05-28
US5619691A (en) 1997-04-08

Similar Documents

Publication Publication Date Title
JP2603369B2 (ja) ローカルキャッシュに共通のページ間の一貫性を確保する方法
JP2575543B2 (ja) 同時アクセス管理方法
JP3102495B2 (ja) 仮想記憶管理方法
US7721068B2 (en) Relocation of active DMA pages
US6502170B2 (en) Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes
EP1960878B1 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
US5946711A (en) System for locking data in a shared cache
KR0170565B1 (ko) 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법
US7392352B2 (en) Computer architecture for shared memory access
EP0323013B1 (en) Method of operating a multiprocessor system employing a shared virtual memory
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JPH04268649A (ja) メモリへのデータブロックのエントリを制御する方法
JP2009245452A (ja) 仮想メモリを利用したトランザクショナルメモリ実行
JPH10105462A (ja) 分割フェーズ制御を用いる明示的コヒーレンス
JPH0776944B2 (ja) 仮想索引機構
JP2829115B2 (ja) ファイル共用方法
US7080213B2 (en) System and method for reducing shared memory write overhead in multiprocessor systems
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JPS6113261B2 (ja)
JP3052460B2 (ja) 協調処理型情報処理装置
JPH09190375A (ja) 共有メモリ管理方法
JPS6138504B2 (ja)
Berke A cache technique for synchronization variables in highly parallel, shared memory systems
CN116685958A (zh) 一种访问数据的方法和装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees