JPS61267862A - フアイル処理システム - Google Patents
フアイル処理システムInfo
- Publication number
- JPS61267862A JPS61267862A JP60250094A JP25009485A JPS61267862A JP S61267862 A JPS61267862 A JP S61267862A JP 60250094 A JP60250094 A JP 60250094A JP 25009485 A JP25009485 A JP 25009485A JP S61267862 A JPS61267862 A JP S61267862A
- Authority
- JP
- Japan
- Prior art keywords
- task
- information
- block
- allocation
- lock information
- 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
- 238000000034 method Methods 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000006732 Torreya nucifera Nutrition 0.000 description 1
- 244000111306 Torreya nucifera Species 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は複数のデータ処理装置により共用される少なく
とも1つのファイル装置を含むファイル処理システムに
関する。
とも1つのファイル装置を含むファイル処理システムに
関する。
少なくとも1つのファイル装置を複数のデータ処理装置
によシネットワークを介して共用するファイル処理シス
テムにおいては、データ処理装置側のタスクによるファ
イル装置内の記憶データの更新要求に対して適切な排他
制御を行なわないと、後に詳細に述べるように、タスク
の要求するような更新操作を正しく行なうことができな
い。
によシネットワークを介して共用するファイル処理シス
テムにおいては、データ処理装置側のタスクによるファ
イル装置内の記憶データの更新要求に対して適切な排他
制御を行なわないと、後に詳細に述べるように、タスク
の要求するような更新操作を正しく行なうことができな
い。
上述のファイル装置として用いる仮想ディスク型のファ
イル装置は、そのファイル装置を共有する個々のデータ
処理装置が持っている個別のディスク装置をファイル装
置側でエミーレーションする機能を備えている。このよ
うな仮想ディスク型ファイル装置をネットワークに接続
することにより、データ処理装置側では、仮想ディスク
型ファイル装置をあたかも手元に接続され友ディスク装
置であるかのようにアクセスすることが可能になる。こ
のような機能を有する従来の仮想ディスク型ファイル装
置の一例が、1984年2月27日発行の日経エレクト
ロニクス誌、pp、179〜198に開示されている。
イル装置は、そのファイル装置を共有する個々のデータ
処理装置が持っている個別のディスク装置をファイル装
置側でエミーレーションする機能を備えている。このよ
うな仮想ディスク型ファイル装置をネットワークに接続
することにより、データ処理装置側では、仮想ディスク
型ファイル装置をあたかも手元に接続され友ディスク装
置であるかのようにアクセスすることが可能になる。こ
のような機能を有する従来の仮想ディスク型ファイル装
置の一例が、1984年2月27日発行の日経エレクト
ロニクス誌、pp、179〜198に開示されている。
しかしながら、後に詳細に述べるように、従来のシステ
ムにおいては、タスクの実行が仮想ボリューム単位で逐
次化される九め、タスクの全体的な実行に長い時間を必
要とするという大きな欠点がある。
ムにおいては、タスクの実行が仮想ボリューム単位で逐
次化される九め、タスクの全体的な実行に長い時間を必
要とするという大きな欠点がある。
本発明のシステムは、それぞれ少なくとも1つのタスク
が存在する複数のデータ処理装置と、前記複数のデータ
処理装置に共用され複数の記憶領域を有する少なくとも
1つのファイル装置と、前記複数の記憶領域の前記タス
クへの割当状態を示す割当情報を格納した側車状態格納
手段と、前記複数の記憶領域のそれぞれを構成する複数
の記憶ブロックに対するロック情報を格納したロック情
報格納手段と、前記割当情報が排他的に割当てられてい
ないことを示している前記記憶領域内の前記ブロックの
内容を第1のタスクが更新するときにこのブロックに対
するこの第1のタスクの読出し動作および書込み動作が
終了するまでこのブロックへの少なくとも1つの他の第
2のタスクからのアクセスを禁止する几めにこのブロッ
クに対する前記ロック情報を登録および保持するととも
にこれらの動作の終了後にこのロック情報を前記ロック
情報格納手段から除去する処理手段とから構成される。
が存在する複数のデータ処理装置と、前記複数のデータ
処理装置に共用され複数の記憶領域を有する少なくとも
1つのファイル装置と、前記複数の記憶領域の前記タス
クへの割当状態を示す割当情報を格納した側車状態格納
手段と、前記複数の記憶領域のそれぞれを構成する複数
の記憶ブロックに対するロック情報を格納したロック情
報格納手段と、前記割当情報が排他的に割当てられてい
ないことを示している前記記憶領域内の前記ブロックの
内容を第1のタスクが更新するときにこのブロックに対
するこの第1のタスクの読出し動作および書込み動作が
終了するまでこのブロックへの少なくとも1つの他の第
2のタスクからのアクセスを禁止する几めにこのブロッ
クに対する前記ロック情報を登録および保持するととも
にこれらの動作の終了後にこのロック情報を前記ロック
情報格納手段から除去する処理手段とから構成される。
本発明の理解を容易にするために、まず、従来システム
について説明する。
について説明する。
第2図を参照すると、一般のネットワークシステムは、
n(正整数)個のデータ処理装置1−1〜l−nと、固
定ディスク装置を含む仮想ディスク型ファイル装置2と
、これら装置1−1〜1−nおよび2が共通に接続され
たバス3とから構成される。ファイル装置2としては、
コンパツクマイクロエレクトロニクス社およびミナトエ
レクトロニクス社製のバーチャルサーバVS100/2
0゜VS100/40.VS100/80tたはvs1
00/160を使用できる。例えば、VS100/16
0は、CPUとしてのDEC社製のLSI−11/23
−PLU8と、1メガバイトの記憶容量を有する主記憶
ユニットと、160メガバイトの記憶容量を有するウィ
ンチェスタ・ディスク・ユニットと、それぞれ0.5メ
ガバイトの記憶容量を有する2台のフロッピィディスク
拳ユニットとから構成されオペレーティング・システム
としてリアルタイム拳マルチタスク処理可能なりEC社
製のR8X−11Mを採用している。今、第3図に示す
ように、tl〜t6のタイミングで、データ処理装置1
−1上のタスク人とデータ処理装置1−2上のタスクB
とによシフアイル装置2内のディスクの記憶レコードR
に対して並行的に更新操作が行なわれ九とする。この場
合、時刻t2におけるタスクBによるレコード凡の読出
し動作が、時刻t4におけるタスクAによる同一レコー
ドRへの書込み動作よシも先行して行なわれる。それは
、時刻t2では、タスクAによるレコード凡の更新操作
が未完了であることによる。この九めに、タスクBによ
るレコード凡の更新操作の終了時点である時刻t4を見
ると、結果的にタスク人によるレコード凡の更新操作が
無効になってしまっていることが判る。
n(正整数)個のデータ処理装置1−1〜l−nと、固
定ディスク装置を含む仮想ディスク型ファイル装置2と
、これら装置1−1〜1−nおよび2が共通に接続され
たバス3とから構成される。ファイル装置2としては、
コンパツクマイクロエレクトロニクス社およびミナトエ
レクトロニクス社製のバーチャルサーバVS100/2
0゜VS100/40.VS100/80tたはvs1
00/160を使用できる。例えば、VS100/16
0は、CPUとしてのDEC社製のLSI−11/23
−PLU8と、1メガバイトの記憶容量を有する主記憶
ユニットと、160メガバイトの記憶容量を有するウィ
ンチェスタ・ディスク・ユニットと、それぞれ0.5メ
ガバイトの記憶容量を有する2台のフロッピィディスク
拳ユニットとから構成されオペレーティング・システム
としてリアルタイム拳マルチタスク処理可能なりEC社
製のR8X−11Mを採用している。今、第3図に示す
ように、tl〜t6のタイミングで、データ処理装置1
−1上のタスク人とデータ処理装置1−2上のタスクB
とによシフアイル装置2内のディスクの記憶レコードR
に対して並行的に更新操作が行なわれ九とする。この場
合、時刻t2におけるタスクBによるレコード凡の読出
し動作が、時刻t4におけるタスクAによる同一レコー
ドRへの書込み動作よシも先行して行なわれる。それは
、時刻t2では、タスクAによるレコード凡の更新操作
が未完了であることによる。この九めに、タスクBによ
るレコード凡の更新操作の終了時点である時刻t4を見
ると、結果的にタスク人によるレコード凡の更新操作が
無効になってしまっていることが判る。
このような理由によって、°複数のタスクによシ同一レ
コードのデータが並行更新される場合には、データに対
する排他制御機能によって同一データに対する複数タス
クの更新操作が相互に重ならないように逐次化すること
が必要である。すなわち、タスクBによるレコード凡の
読出し動作をタスクAKよるレコードRへの書込み動作
の終了時点t4 まで遅らせればよい。
コードのデータが並行更新される場合には、データに対
する排他制御機能によって同一データに対する複数タス
クの更新操作が相互に重ならないように逐次化すること
が必要である。すなわち、タスクBによるレコード凡の
読出し動作をタスクAKよるレコードRへの書込み動作
の終了時点t4 まで遅らせればよい。
ファイル装置2における従来の排他制御方式においては
、このファイル装置2は、このファイル装置2にアクセ
スをしtいユーザーのデータ処理装置からバス3を介し
て仮想ボリュームの割当要求を示すMOUNT指令を受
信する。この指令は、割当時の仮想ボリューム割当条件
に関する2つの情報を含む。その1つは、同一仮想ボリ
ュームを他タスクと同時に割当ててもらいこの仮想ポリ
s。
、このファイル装置2は、このファイル装置2にアクセ
スをしtいユーザーのデータ処理装置からバス3を介し
て仮想ボリュームの割当要求を示すMOUNT指令を受
信する。この指令は、割当時の仮想ボリューム割当条件
に関する2つの情報を含む。その1つは、同一仮想ボリ
ュームを他タスクと同時に割当ててもらいこの仮想ポリ
s。
−ムを他タスクと共用(共用割当)するかま之は排他的
に割当(排他割当)ててもらいたいのかを指定する情報
であシ、この指定情報を共用モードの指定と言う。他の
1つは、仮想ボリュームに対する割当後、読出し動作(
参照割当)しかしないのか読出し動作だけでなく書込み
動作(更新割当)もするのかを指定する情報であシ、こ
の指定情報を処理モードの指定と言う。なお、共用モー
ド指定については、上述の共用割当および排他割当のほ
かに、参照割当を要求する他タスクに限って同一仮想ボ
リュームを同時に割当ててもらっても構わないという第
2の共用モード(通常、保護割当という)の指定ができ
る場合もあるが、ここでは説明を簡単にするため上記の
ように共用割当および排他割当のみを指定する場合に限
定する。ファイル装置2は上述のマウント指令や入出力
実行指令などを受信する機能を持つばかりでなく、各仮
想ボリュームの個々のタスクへの割当状態を管理する機
能を持っている。この几めに用いる主記憶装置22内に
記憶された管理テーブル(ボリューム割当制御テーブル
(VACT)と呼ぶ)の−例を第4図に示す。この図で
は、仮想ボリー−ム1,2゜4および6はいずれのタス
クにも割当てられておらず、仮想ボリューム3および5
がタスクに割当てられている。たとえば、仮想ボリュー
ム5はタスクAおよびBにそれぞれ共用割轟/参照割当
で同時に割当てられている。ファイル装置2内のCPU
21は、データ処理装置上のタスクからめ仮想ボリュー
ム割当要求を示すMOUNT指令を受信すると、その指
令に含まれる共用モード指定情報を調べる。CPU21
はMM22内のVACTを調べ、この共用モード指定情
報の指定する仮想ボリュームがその時点で他のどのタス
クにも割当てられていない(すなわち非割尚中)ことを
検出したならば、この割当要求を受は付け、割当結果な
VACTK反映させ、仮想ボリュームの割当動作を終了
する。しかし、要求されt仮想ボリュームがすでに他タ
スクに割当てられているならば、CPU21はVACT
を参照してその仮想ボリュームの割当状態と矛盾しない
割当要求であることが判かれば(他タスクに共用割当さ
れていて、この要求も共用割当、の場合)、この要求を
受は付ける。しかし、相互に矛盾するならば(他タスク
に共用割当されているとともに要求が排他割当の場合、
または、他タスクに排他割当されていて要求が共用割当
または排他割当の場合)、この要求を受は付けない。
に割当(排他割当)ててもらいたいのかを指定する情報
であシ、この指定情報を共用モードの指定と言う。他の
1つは、仮想ボリュームに対する割当後、読出し動作(
参照割当)しかしないのか読出し動作だけでなく書込み
動作(更新割当)もするのかを指定する情報であシ、こ
の指定情報を処理モードの指定と言う。なお、共用モー
ド指定については、上述の共用割当および排他割当のほ
かに、参照割当を要求する他タスクに限って同一仮想ボ
リュームを同時に割当ててもらっても構わないという第
2の共用モード(通常、保護割当という)の指定ができ
る場合もあるが、ここでは説明を簡単にするため上記の
ように共用割当および排他割当のみを指定する場合に限
定する。ファイル装置2は上述のマウント指令や入出力
実行指令などを受信する機能を持つばかりでなく、各仮
想ボリュームの個々のタスクへの割当状態を管理する機
能を持っている。この几めに用いる主記憶装置22内に
記憶された管理テーブル(ボリューム割当制御テーブル
(VACT)と呼ぶ)の−例を第4図に示す。この図で
は、仮想ボリー−ム1,2゜4および6はいずれのタス
クにも割当てられておらず、仮想ボリューム3および5
がタスクに割当てられている。たとえば、仮想ボリュー
ム5はタスクAおよびBにそれぞれ共用割轟/参照割当
で同時に割当てられている。ファイル装置2内のCPU
21は、データ処理装置上のタスクからめ仮想ボリュー
ム割当要求を示すMOUNT指令を受信すると、その指
令に含まれる共用モード指定情報を調べる。CPU21
はMM22内のVACTを調べ、この共用モード指定情
報の指定する仮想ボリュームがその時点で他のどのタス
クにも割当てられていない(すなわち非割尚中)ことを
検出したならば、この割当要求を受は付け、割当結果な
VACTK反映させ、仮想ボリュームの割当動作を終了
する。しかし、要求されt仮想ボリュームがすでに他タ
スクに割当てられているならば、CPU21はVACT
を参照してその仮想ボリュームの割当状態と矛盾しない
割当要求であることが判かれば(他タスクに共用割当さ
れていて、この要求も共用割当、の場合)、この要求を
受は付ける。しかし、相互に矛盾するならば(他タスク
に共用割当されているとともに要求が排他割当の場合、
または、他タスクに排他割当されていて要求が共用割当
または排他割当の場合)、この要求を受は付けない。
要求が認められた場合には、この結果がVCATに反映
されることは言うまでもない。このようにして、仮想ボ
リュームのタスクへの排他割当が可能になる。
されることは言うまでもない。このようにして、仮想ボ
リュームのタスクへの排他割当が可能になる。
さらに、ファイル装置2内のCPU21はタスクによる
入出力動作実行の要求指令(Read指令またはWri
te指令)を受信するごとに、第5図に示す処理フロー
に従って処理を行なう。ここでは、そのタスクによって
事前に仮想ボリュームの割当が正しくなされているか、
更には、仮想ボリュームが参照割当であるのにタスクが
書込み動作を行なおうとしてbるか否かが確実にチェッ
クされる。
入出力動作実行の要求指令(Read指令またはWri
te指令)を受信するごとに、第5図に示す処理フロー
に従って処理を行なう。ここでは、そのタスクによって
事前に仮想ボリュームの割当が正しくなされているか、
更には、仮想ボリュームが参照割当であるのにタスクが
書込み動作を行なおうとしてbるか否かが確実にチェッ
クされる。
そして、最後に、タスクによる仮想ボリー−ムの割当が
不要になり、タスクから仮想ボリュームの割当解除を示
すDEMOUNT指令を受信すると、CPU21はVA
CTを修正して、そのタスクによるその仮想ボリューム
の割当状態を解除する。以上により、従来の排他制御方
式によるタスクのボリューム更新操作の逐次化が実現さ
れる。
不要になり、タスクから仮想ボリュームの割当解除を示
すDEMOUNT指令を受信すると、CPU21はVA
CTを修正して、そのタスクによるその仮想ボリューム
の割当状態を解除する。以上により、従来の排他制御方
式によるタスクのボリューム更新操作の逐次化が実現さ
れる。
すなわち、第3図のように複数のタスクが同一し;−ド
に対して更新を行なうような場合には。
に対して更新を行なうような場合には。
各タスクはMOUNT指令による仮想ボリュームの割当
要求の際の割当条件として、排他割当/更新割当を指定
することにより、各タスクの当該レコードの割当は1つ
ずつ順番に行われる。この結果、同一レコードに対する
更新操作が逐次化される。
要求の際の割当条件として、排他割当/更新割当を指定
することにより、各タスクの当該レコードの割当は1つ
ずつ順番に行われる。この結果、同一レコードに対する
更新操作が逐次化される。
このような従来の方式では、更新処理時には、更新対象
の仮想ボリュームを一時には1つのタスクにしか割当て
られない。従って、たとえば、この複数タスクの数をm
(正整数)とすると、全てのタスクによる同一仮想ボリ
ュームへの更新操作を行なうには、1つのタスクによる
更新操作のための所要時間のm倍という長い時間が必要
になる。
の仮想ボリュームを一時には1つのタスクにしか割当て
られない。従って、たとえば、この複数タスクの数をm
(正整数)とすると、全てのタスクによる同一仮想ボリ
ュームへの更新操作を行なうには、1つのタスクによる
更新操作のための所要時間のm倍という長い時間が必要
になる。
本発明の一実施例は第2図と同様の構成を有する。従っ
て、データ処理装置上のタスクが共用のファイル装置2
を使用する場合、まず、タスクは従来と同様に仮想ボリ
ューム割当要求のためのMOUNT指令をファイル装置
に対して発行する。
て、データ処理装置上のタスクが共用のファイル装置2
を使用する場合、まず、タスクは従来と同様に仮想ボリ
ューム割当要求のためのMOUNT指令をファイル装置
に対して発行する。
本実施例における仮想ボリューム割当条件の指定の方法
は従来と同じである。さらに、本実施例におけるファイ
ル装置2も主記憶装置22内に従来と同様のVACTを
持ち、CPU21 はタスクによるMOUNT指令を
従来と全く同様の方法で処理する。すなわち、仮想ボリ
ュームの割当処理は従−米の方式と全く同様に行なわれ
る。
は従来と同じである。さらに、本実施例におけるファイ
ル装置2も主記憶装置22内に従来と同様のVACTを
持ち、CPU21 はタスクによるMOUNT指令を
従来と全く同様の方法で処理する。すなわち、仮想ボリ
ュームの割当処理は従−米の方式と全く同様に行なわれ
る。
その後、仮想ボリュームの割当に成功したタスりが仮想
ボリー−ムに対して入出力動作実行の要求をしてくる。
ボリー−ムに対して入出力動作実行の要求をしてくる。
この時、そのタスクによる仮想ボリュームの割当時の共
用モード指定が排他割当である場合には、CPU21は
従来と全く同様に第5図に示した処理フローに従って処
理を行なう。この結果、正常であれば入出力動作を実行
する。しかしながら、タスクによる仮想ボリュームの割
当時の共用モード指定が共用割当である場合には、同一
仮想ボリュームを同時に割当てられている更新タスクの
存在する可能性がある几め、CPU21は以下に述べる
ような方法でブロックレベルの自動的な排他制御を行な
う。
用モード指定が排他割当である場合には、CPU21は
従来と全く同様に第5図に示した処理フローに従って処
理を行なう。この結果、正常であれば入出力動作を実行
する。しかしながら、タスクによる仮想ボリュームの割
当時の共用モード指定が共用割当である場合には、同一
仮想ボリュームを同時に割当てられている更新タスクの
存在する可能性がある几め、CPU21は以下に述べる
ような方法でブロックレベルの自動的な排他制御を行な
う。
ブロックレベルの排他制御の実現法には種々のものがあ
るが、ここでは1番簡単表′°各仮想ボリュームは1つ
のタスクによって同時にはたかだか1ブロツクの排他使
用しか許さない”という原則に基づく実現法を説明する
。すなわち、本実施例においては、主記憶装置22内に
第7図に示すようなロック制御テーブル(LCT)を記
憶しておシ、CPU21はデータ処理装置上のタスクが
読み出し動作を実行するときに読み出し対象データブロ
ックを含むLCT のエンドvrtcロック情報を登録
し、このタスクが同じデータブロックに対して書込み動
作を実行したあとこのロック情報をLCT から除去す
る。第7図では、仮想ボリューム1.2.3.4および
6はどのブロックもロック(アクセス禁止)されていな
い。しかし、仮想ボリューム5では、第3番目のブロッ
クB3がタスクAによって、第4番目のブロックB4が
タスクBによってロックされている。
るが、ここでは1番簡単表′°各仮想ボリュームは1つ
のタスクによって同時にはたかだか1ブロツクの排他使
用しか許さない”という原則に基づく実現法を説明する
。すなわち、本実施例においては、主記憶装置22内に
第7図に示すようなロック制御テーブル(LCT)を記
憶しておシ、CPU21はデータ処理装置上のタスクが
読み出し動作を実行するときに読み出し対象データブロ
ックを含むLCT のエンドvrtcロック情報を登録
し、このタスクが同じデータブロックに対して書込み動
作を実行したあとこのロック情報をLCT から除去す
る。第7図では、仮想ボリューム1.2.3.4および
6はどのブロックもロック(アクセス禁止)されていな
い。しかし、仮想ボリューム5では、第3番目のブロッ
クB3がタスクAによって、第4番目のブロックB4が
タスクBによってロックされている。
次にCPU21が入出力動作実行要求指令を受信したと
きのCPU21の実行する処理の詳細を第6図を参照し
て説明する。まず、ステップ61で、タスクによる仮想
ボリュームへの入出力動作実行の要求指令を受信すると
(ステップ61)、この指令によシ指定されたボリー−
ムがこのタスクに対して割当てられているか否かをVA
CTによりaべ(ステップ62)る。割当てられている
場合、それが共用割当であることがわかると(ステップ
63)、まず、その実行要求指令の内容が読出しく R
ead )動作なのか、書込み(Write)動作なの
かを判別する(ステップ64)。読出し動作である場合
には、まず、LCT を調べ、対象のボリューム内にそ
のタスクによってロックされている(ロック情報が登録
されている〕ブロックがあれば、それをアンロック(ロ
ック情報を除去)シ(ステップ65)、読出しの対象と
なっているブロックのロックを試みる(ステップ66)
。この試みはそのブロックが他タスクによってすでにロ
ックされていなり限シ成功する。成功しない場合には、
そのブロックが他タスクの処理でアンロックされ、ロッ
クが可能になるまで、このタスクを待たせる。ロックが
成功したときには、CPU21は当該ブロックの内容を
該当するディスクから読出し、読出し指令を発行したデ
ータ処理装置上のタスクにそのデータを送信する(ステ
ップ67)。
きのCPU21の実行する処理の詳細を第6図を参照し
て説明する。まず、ステップ61で、タスクによる仮想
ボリュームへの入出力動作実行の要求指令を受信すると
(ステップ61)、この指令によシ指定されたボリー−
ムがこのタスクに対して割当てられているか否かをVA
CTによりaべ(ステップ62)る。割当てられている
場合、それが共用割当であることがわかると(ステップ
63)、まず、その実行要求指令の内容が読出しく R
ead )動作なのか、書込み(Write)動作なの
かを判別する(ステップ64)。読出し動作である場合
には、まず、LCT を調べ、対象のボリューム内にそ
のタスクによってロックされている(ロック情報が登録
されている〕ブロックがあれば、それをアンロック(ロ
ック情報を除去)シ(ステップ65)、読出しの対象と
なっているブロックのロックを試みる(ステップ66)
。この試みはそのブロックが他タスクによってすでにロ
ックされていなり限シ成功する。成功しない場合には、
そのブロックが他タスクの処理でアンロックされ、ロッ
クが可能になるまで、このタスクを待たせる。ロックが
成功したときには、CPU21は当該ブロックの内容を
該当するディスクから読出し、読出し指令を発行したデ
ータ処理装置上のタスクにそのデータを送信する(ステ
ップ67)。
一方、タスクからの実行要求指令がデータ書込み指令で
ある場合には、VACTK−よシ対応するボリュームが
更新割当てされてbることが分かると(ステップ68)
、そのタスクによって当該ブロックがロックされている
ことをLCT によシ確認しくステップ69)、タスク
から当該ブロックへのデータの書込みを行なう(ステッ
プ70)。このあと、尚該ブロックのアンロックを行う
(ステップ71)。
ある場合には、VACTK−よシ対応するボリュームが
更新割当てされてbることが分かると(ステップ68)
、そのタスクによって当該ブロックがロックされている
ことをLCT によシ確認しくステップ69)、タスク
から当該ブロックへのデータの書込みを行なう(ステッ
プ70)。このあと、尚該ブロックのアンロックを行う
(ステップ71)。
最後に、タスクから仮想ボリュームの割当解除のための
DEMOUNT 指令を受信すると、ファイル装置2内
のCPU21はそのタスクによってロックされているブ
ロックが残っているかどうかをLCT で調べ、残って
いれば、それをアンロックする。続いて、VACTの中
からこのタスクに関係する情報を全て削除することによ
り、このタスクへの仮想ボリュームの割当を解除する。
DEMOUNT 指令を受信すると、ファイル装置2内
のCPU21はそのタスクによってロックされているブ
ロックが残っているかどうかをLCT で調べ、残って
いれば、それをアンロックする。続いて、VACTの中
からこのタスクに関係する情報を全て削除することによ
り、このタスクへの仮想ボリュームの割当を解除する。
このように、本実施例では、複数のタスクに対して同一
の仮想ボリュームが同時に割当てられるにもかかわらず
、実際の入出力動作の際にはブロックレベルの更新操作
の逐次化が自動的に行なわれるため、複数タスクの全体
的な実行時間を長くすることがない。
の仮想ボリュームが同時に割当てられるにもかかわらず
、実際の入出力動作の際にはブロックレベルの更新操作
の逐次化が自動的に行なわれるため、複数タスクの全体
的な実行時間を長くすることがない。
なお、以上の説明では、各仮想ボリュームは1つのタス
クによって同時にはたかだか1ブロツクの排他使用しか
許さないという前提のもとに簡単な実施例を説明した。
クによって同時にはたかだか1ブロツクの排他使用しか
許さないという前提のもとに簡単な実施例を説明した。
しかし、上記の実施例においては、各タスクが連続する
複数ブロックを仮想ボリューム当シ1箇所に限りロック
することができるという具合に拡張しても、基本的な排
他制御の実現法は変らないことを付は加える。更には、
各タスクは仮想ボリュームの複数ブロックないしは複数
箇所をロックすることができるという具合に拡張するこ
とも可能である。この場合には、ロックは必要になる都
度性ない、アンロックは仮想ボリュームの割当解除時に
まとめて行なうことができる。
複数ブロックを仮想ボリューム当シ1箇所に限りロック
することができるという具合に拡張しても、基本的な排
他制御の実現法は変らないことを付は加える。更には、
各タスクは仮想ボリュームの複数ブロックないしは複数
箇所をロックすることができるという具合に拡張するこ
とも可能である。この場合には、ロックは必要になる都
度性ない、アンロックは仮想ボリュームの割当解除時に
まとめて行なうことができる。
以上の説明によシ明らかなように、本発明によれば、従
来の排他制御方式をとるファイル装置に、祈念に、ファ
イル装置内の各仮想ボリュームを構成するブロック単位
に各仮想ボリュームのスペースを個々のタスクが排他使
用する状態を管理する手段(ブロック制御テーブル)を
付加し、個々のタスクによる仮想ボリュームへの入出力
実行要求の際に、第6図の処理フローに従って必要に応
じて自動的なブロックレベルの排他制御を行なうことに
より、複数タスクによる同一データの並行更新操作を全
体的なタスク実行時間を長くすることなく、かつ更新の
そう失の危険性を伴なうことなく、実行することが可能
になシ、処理効率および信頼性の向上に対して得られる
効果は大き−0
来の排他制御方式をとるファイル装置に、祈念に、ファ
イル装置内の各仮想ボリュームを構成するブロック単位
に各仮想ボリュームのスペースを個々のタスクが排他使
用する状態を管理する手段(ブロック制御テーブル)を
付加し、個々のタスクによる仮想ボリュームへの入出力
実行要求の際に、第6図の処理フローに従って必要に応
じて自動的なブロックレベルの排他制御を行なうことに
より、複数タスクによる同一データの並行更新操作を全
体的なタスク実行時間を長くすることなく、かつ更新の
そう失の危険性を伴なうことなく、実行することが可能
になシ、処理効率および信頼性の向上に対して得られる
効果は大き−0
第1図は本発明の一実施例を示すブロック図、第2図は
ファイル装置の詳細を示すブロック図、第3図は従来技
術によシ複数のタスクが同一データを並行更新する場合
の更新操作のそう失が発生しうることを説明する図、第
4図は従来の排他制御方式および本発明による排他制御
方式のもとて各仮想ボリュームのタスクへの割当状態を
管理するために用いられる制御テーブルの構成例を示す
図、第5図は従来の排他制御方式のもとてファイル装置
が受信した入出力要求指令を処理する場合の処理フロー
の一例を示す図、第6図は本発明による排他制御方式の
もとてファイル装置が受信し九人出力要求指令を処理す
る場合の処理フローの一例を示す図、第7図は本発明に
よる排他制御方式のもとて各仮想ボリュームの構成ブロ
ックにおける各タスクによるロック状態を管理するため
に用いられ制御テーブルの構成例を示す図である。 図において、1−1〜1−n・・・・・・データ処理装
置、2・・・・・・ファイル装置、である。 代理人 弁理士 内 原 (晋 又−3 第5 図 茅 z TM
ファイル装置の詳細を示すブロック図、第3図は従来技
術によシ複数のタスクが同一データを並行更新する場合
の更新操作のそう失が発生しうることを説明する図、第
4図は従来の排他制御方式および本発明による排他制御
方式のもとて各仮想ボリュームのタスクへの割当状態を
管理するために用いられる制御テーブルの構成例を示す
図、第5図は従来の排他制御方式のもとてファイル装置
が受信した入出力要求指令を処理する場合の処理フロー
の一例を示す図、第6図は本発明による排他制御方式の
もとてファイル装置が受信し九人出力要求指令を処理す
る場合の処理フローの一例を示す図、第7図は本発明に
よる排他制御方式のもとて各仮想ボリュームの構成ブロ
ックにおける各タスクによるロック状態を管理するため
に用いられ制御テーブルの構成例を示す図である。 図において、1−1〜1−n・・・・・・データ処理装
置、2・・・・・・ファイル装置、である。 代理人 弁理士 内 原 (晋 又−3 第5 図 茅 z TM
Claims (4)
- (1)それぞれ少なくとも1つのタスクが存在する複数
のデータ処理装置と、 前記複数のデータ処理装置に共用され複数の記憶領域を
有する少なくとも1つのファイル装置と、 前記複数の記憶領域の前記タスクへの割当状態を示す割
当情報を格納した割当状態格納手段と、 前記複数の記憶領域のそれぞれを構成する複数の記憶ブ
ロックに対するロック情報を格納したロック情報格納手
段と、 前記割当情報が排他的に割当てられていないことを示し
ている前記記憶領域内の前記ブロックの内容を第1のタ
スクが更新するときにこのブロックに対するこの第1の
タスクの読出し動作および書込み動作が終了するまでこ
のブロックへの少なくとも1つの他の第2のタスクから
のアクセスを禁止するためにこのブロックに対する前記
ロック情報を登録および保持するとともにこれらの動作
の終了後にこのロック情報を前記ロック情報格納手段か
ら除去する処理手段とから構成したことを特徴とするフ
ァイル処理システム。 - (2)前記処理手段は、前記第1のタスクから発行され
る割当要求に応答してこの割当要求が指定する前記記憶
領域の割当状態を前記割当状態格納手段を参照して調べ
前記第1のタスクに対してこの記憶領域を割当てるため
に前記割当情報を前記割当状態格納手段に格納するか否
かを判定する第1の処理を実行することを特徴とする特
許請求の範囲第(1)項記載のファイル処理システム。 - (3)前記処理手段は、前記第1のタスクから発行され
前記記憶領域の1つを指定する第1の指定情報および前
記ブロックの少なくとも1つを指定する第2の指定情報
を含む読出し要求または前記記憶領域の1つを指定する
第3の指定情報および前記ブロックの少なくとも1つを
指定する第4の指定情報を含む第4の指定情報に応答し
て前記割当状態格納手段を参照することにより前記第1
または第3の指定情報が指定する前記記憶領域が前記第
1のタスクに対して排他的に割当てられているか否かを
検出する第2の処理と、該第2の処理で排他的に割当て
られていないことが検出されたとき前記読出し要求に応
答して前記ロック情報格納手段を参照することにより前
記第2の指定情報が指定するブロックに対して前記第1
のタスクおよび少なくとも1つの他の第2のタスクに属
するロック情報が登録されているか否かを検出する第3
の処理と、該第3の処理での前記第2のタスクの前記ロ
ック情報の検出に応答して前記第1のタスクに対する読
出し動作を禁止する第4の処理と、前記第3の処理で前
記第1および前記第2のタスクに属するロック情報の未
登録が検出されたとき前記第1のタスクに対するロック
情報を前記ロック情報格納手段に登録し前記第2の指定
情報が指定する前記ファイル装置内の前記ブロックの少
なくとも1部を前記第1のタスクに対して読出す第5の
処理と、前記第2の処理で排他的に割当てられていない
ことが検出されたとき前記書込み要求に応答して前記第
4の指定情報が指定する前記ブロックの少なくとも1部
に前記第1のタスクからのデータを書込む第6の処理と
、該第6の処理での書込み動作の完了後に対応する前記
ブロックに対する前記ロック情報を抹消する第7の処理
とを実行することを特徴とする特許請求の範囲第(1)
項記載のファイル処理システム。 - (4)前記処理手段は、前記第1のタスクから発行され
る割当解除要求に応答してこの割当解除要求が指定する
前記記憶領域に対応する前記割当状態格納手段内の前記
第1のタスクの割当情報を除去するとともにこの記憶領
域に属するブロックに対応する前記第1のタスクのロッ
ク情報格納手段内の前記ロック情報を除去する第8の処
理を実行することを特徴とする特許請求の範囲第(2)
項記載のファイル処理システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59-235998 | 1984-11-10 | ||
| JP23599884 | 1984-11-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61267862A true JPS61267862A (ja) | 1986-11-27 |
Family
ID=16994283
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60250094A Pending JPS61267862A (ja) | 1984-11-10 | 1985-11-08 | フアイル処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61267862A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011175616A (ja) * | 2010-02-24 | 2011-09-08 | Hitachi Ltd | 書込み可能コピーオンライト・スナップショット機能のためのi/oレイテンシーの削減 |
-
1985
- 1985-11-08 JP JP60250094A patent/JPS61267862A/ja active Pending
Non-Patent Citations (1)
| Title |
|---|
| AFIPS CONFERECE PROCEEDINGS=1984 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011175616A (ja) * | 2010-02-24 | 2011-09-08 | Hitachi Ltd | 書込み可能コピーオンライト・スナップショット機能のためのi/oレイテンシーの削減 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6105085A (en) | Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion | |
| JP2574991B2 (ja) | コンピュータ・システムにおける共用資源のプロセス内ロッキング方法及びコンピュータ・システム | |
| US5845147A (en) | Single lock command for an I/O storage system that performs both locking and I/O data operation | |
| US4823261A (en) | Multiprocessor system for updating status information through flip-flopping read version and write version of checkpoint data | |
| US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
| JP3704573B2 (ja) | クラスタシステム | |
| JP2006099784A (ja) | ファイルを開いた状態で作動可能なコンピュータバックアップシステム | |
| JPH10510934A (ja) | 包括的に唯一のオブジェクト識別を生成するためのシステム | |
| US5432929A (en) | Storage subsystem having a modifiable key-lock | |
| US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
| EP2237155B1 (en) | Information processing program, information processing device and information processing method | |
| CN101198937A (zh) | 安全存储管理系统和方法 | |
| JPH04155465A (ja) | ファイル共用方法 | |
| JPS61267862A (ja) | フアイル処理システム | |
| EP0049423B1 (en) | Multiprocessor system | |
| JPS5848289A (ja) | バツフアメモリ制御方式 | |
| JPH08129492A (ja) | 資源排他チェックシステム及び資源排他チェック方法 | |
| JP2924786B2 (ja) | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 | |
| JPH0559463B2 (ja) | ||
| JPS5827255A (ja) | 複数電子計算機間共用フアイルの制御方式 | |
| JP3342597B2 (ja) | ディスクサブシステムおよび共有資源の排他制御方法 | |
| WO1993003436A1 (fr) | Procede et appareil servant a reduire la periode de verrouillage d'un tampon partage | |
| JPWO1993003436A1 (ja) | 共用バッファのロック期間短縮処理方法及び装置 | |
| JPH06187201A (ja) | ファイルシステム | |
| JP3381652B2 (ja) | ロック制御方式 |