JPS61267862A - File processing system - Google Patents
File processing systemInfo
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は複数のデータ処理装置により共用される少なく
とも1つのファイル装置を含むファイル処理システムに
関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a file processing system including at least one file device shared by a plurality of data processing devices.
少なくとも1つのファイル装置を複数のデータ処理装置
によシネットワークを介して共用するファイル処理シス
テムにおいては、データ処理装置側のタスクによるファ
イル装置内の記憶データの更新要求に対して適切な排他
制御を行なわないと、後に詳細に述べるように、タスク
の要求するような更新操作を正しく行なうことができな
い。In a file processing system in which at least one file device is shared by multiple data processing devices via a network, appropriate exclusive control is applied to requests to update data stored in the file device by tasks on the data processing device side. If this is not done, update operations required by the task cannot be performed correctly, as will be described in detail later.
上述のファイル装置として用いる仮想ディスク型のファ
イル装置は、そのファイル装置を共有する個々のデータ
処理装置が持っている個別のディスク装置をファイル装
置側でエミーレーションする機能を備えている。このよ
うな仮想ディスク型ファイル装置をネットワークに接続
することにより、データ処理装置側では、仮想ディスク
型ファイル装置をあたかも手元に接続され友ディスク装
置であるかのようにアクセスすることが可能になる。こ
のような機能を有する従来の仮想ディスク型ファイル装
置の一例が、1984年2月27日発行の日経エレクト
ロニクス誌、pp、179〜198に開示されている。The virtual disk type file device used as the file device described above has a function of emulating, on the file device side, individual disk devices owned by individual data processing devices that share the file device. By connecting such a virtual disk type file device to a network, the data processing device side can access the virtual disk type file device as if it were a friend disk device connected at hand. An example of a conventional virtual disk type file device having such a function is disclosed in Nikkei Electronics Magazine, February 27, 1984, pp. 179-198.
しかしながら、後に詳細に述べるように、従来のシステ
ムにおいては、タスクの実行が仮想ボリューム単位で逐
次化される九め、タスクの全体的な実行に長い時間を必
要とするという大きな欠点がある。However, as will be described in detail later, in the conventional system, task execution is serialized on a virtual volume basis, which has a major drawback in that it takes a long time to execute the task as a whole.
本発明のシステムは、それぞれ少なくとも1つのタスク
が存在する複数のデータ処理装置と、前記複数のデータ
処理装置に共用され複数の記憶領域を有する少なくとも
1つのファイル装置と、前記複数の記憶領域の前記タス
クへの割当状態を示す割当情報を格納した側車状態格納
手段と、前記複数の記憶領域のそれぞれを構成する複数
の記憶ブロックに対するロック情報を格納したロック情
報格納手段と、前記割当情報が排他的に割当てられてい
ないことを示している前記記憶領域内の前記ブロックの
内容を第1のタスクが更新するときにこのブロックに対
するこの第1のタスクの読出し動作および書込み動作が
終了するまでこのブロックへの少なくとも1つの他の第
2のタスクからのアクセスを禁止する几めにこのブロッ
クに対する前記ロック情報を登録および保持するととも
にこれらの動作の終了後にこのロック情報を前記ロック
情報格納手段から除去する処理手段とから構成される。The system of the present invention includes: a plurality of data processing devices each having at least one task; at least one file device shared by the plurality of data processing devices and having a plurality of storage areas; sidecar state storage means storing allocation information indicating an allocation state to a task; lock information storage means storing lock information for a plurality of storage blocks constituting each of the plurality of storage areas; When a first task updates the contents of the block in the storage area indicating that the block is not allocated, this block until the read and write operations of this first task to this block are completed. Registering and retaining the lock information for this block in order to prohibit access from at least one other second task to the block, and removing this lock information from the lock information storage means after these operations are completed. It consists of a processing means.
本発明の理解を容易にするために、まず、従来システム
について説明する。In order to facilitate understanding of the present invention, a conventional system will first be described.
第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を見
ると、結果的にタスク人によるレコード凡の更新操作が
無効になってしまっていることが判る。Referring to Figure 2, a general network system is
n (positive integer) data processing devices 1-1 to l-n, a virtual disk type file device 2 including a fixed disk device, and a bus to which these devices 1-1 to 1-n and 2 are commonly connected. It consists of 3. As the file device 2,
Virtual server VS100/2 manufactured by Compact Microelectronics and Minato Electronics
0°VS100/40. VS100/80t or vs1
00/160 can be used. For example, VS100/16
0 is LSI-11/23 manufactured by DEC as a CPU
- PLU8, a main memory unit with a storage capacity of 1 MB, a Winchester disk unit with a storage capacity of 160 MB, and two floppy disk units each with a storage capacity of 0.5 MB. The operating system used is EC's R8X-11M, which is capable of real-time multitasking. Now, as shown in FIG. 3, at timing tl to t6, the data processing device 1
-Task person on 1 and task B on data processing device 1-2
Storage record R of the disk in the Toyoshi file device 2
The update operation is performed in parallel for 9. In this case, the read operation for the same record by task B at time t2 is also performed in advance of the write operation for the same record R by task A at time t4. This is because, at time t2, the update operation for all records by task A has not been completed. If we look at time t4, which is the end point of the update operation of the record by task B, it can be seen that the update operation of the record by the task person has become invalid.
このような理由によって、°複数のタスクによシ同一レ
コードのデータが並行更新される場合には、データに対
する排他制御機能によって同一データに対する複数タス
クの更新操作が相互に重ならないように逐次化すること
が必要である。すなわち、タスクBによるレコード凡の
読出し動作をタスクAKよるレコードRへの書込み動作
の終了時点t4 まで遅らせればよい。For these reasons, when data in the same record is updated in parallel by multiple tasks, the exclusive control function for data is used to serialize the update operations of multiple tasks on the same data so that they do not overlap with each other. It is necessary. That is, the read operation of record R by task B may be delayed until the end time t4 of the write operation to record R by task AK.
ファイル装置2における従来の排他制御方式においては
、このファイル装置2は、このファイル装置2にアクセ
スをしtいユーザーのデータ処理装置からバス3を介し
て仮想ボリュームの割当要求を示すMOUNT指令を受
信する。この指令は、割当時の仮想ボリューム割当条件
に関する2つの情報を含む。その1つは、同一仮想ボリ
ュームを他タスクと同時に割当ててもらいこの仮想ポリ
s。In the conventional exclusive control method for the file device 2, the file device 2 receives a MOUNT command indicating a virtual volume allocation request via the bus 3 from the data processing device of the user who does not want to access the file device 2. do. This command includes two pieces of information regarding the virtual volume allocation conditions at the time of allocation. One of them is to allocate the same virtual volume to other tasks at the same time and use this virtual policy.
−ムを他タスクと共用(共用割当)するかま之は排他的
に割当(排他割当)ててもらいたいのかを指定する情報
であシ、この指定情報を共用モードの指定と言う。他の
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
を参照してその仮想ボリュームの割当状態と矛盾しない
割当要求であることが判かれば(他タスクに共用割当さ
れていて、この要求も共用割当、の場合)、この要求を
受は付ける。しかし、相互に矛盾するならば(他タスク
に共用割当されているとともに要求が排他割当の場合、
または、他タスクに排他割当されていて要求が共用割当
または排他割当の場合)、この要求を受は付けない。This is information that specifies whether you want the task to be shared (shared allocation) with other tasks or to be exclusively allocated (exclusive allocation), and this specification information is called a shared mode designation. The other is the read operation (after allocation to the virtual volume).
This information specifies whether to perform only reference allocation (reference allocation) or whether not only read operation but also write operation (update allocation) is to be performed. This specification information is called processing mode designation. Regarding the shared mode specification, in addition to the above-mentioned shared allocation and exclusive allocation, there is a second shared mode in which the same virtual volume can be allocated at the same time only to other tasks that request reference allocation. In some cases, it is possible to designate "assignment" (referred to as "assignment"), but for the sake of simplicity, we will limit the case here to the case where only shared assignment and exclusive assignment are designated as described above. The file device 2 not only has the function of receiving the above-mentioned mount commands and input/output execution commands, but also has the function of managing the state of allocation of each virtual volume to individual tasks. FIG. 4 shows an example of a management table (referred to as a volume allocation control table (VACT)) stored in the main storage device 22 used for this purpose. In this figure, virtual volumes 1, 2, 4, and 6 are not assigned to any task, and virtual volumes 3 and 5 are not assigned to any task.
is assigned to the task. For example, virtual volume 5 is simultaneously allocated to tasks A and B, respectively, with shared allocation/reference allocation. CPU in file device 2
Upon receiving a MOUNT command indicating a virtual volume allocation request from a task on the data processing device, 21 examines the shared mode designation information included in the command. CPU21
checks VACT in MM22, and if it detects that the virtual volume specified by this shared mode specification information is not allocated to any other task at that time (that is, unallocated), it will issue this allocation request. Acceptance is accepted, the allocation result is reflected in VACTK, and the virtual volume allocation operation is completed. However, if the requested virtual volume has already been assigned to another task, the CPU 21
If the allocation request is found to be consistent with the allocation state of the virtual volume (if it is shared with another task and this request is also shared allocation), the request will be accepted. However, if they are mutually contradictory (if the request is shared with other tasks and the request is exclusive assignment),
Or, if the task is exclusively assigned to another task and the request is for shared assignment or exclusive assignment), this request will not be accepted.
要求が認められた場合には、この結果がVCATに反映
されることは言うまでもない。このようにして、仮想ボ
リュームのタスクへの排他割当が可能になる。Needless to say, if the request is approved, this result will be reflected in VCAT. In this way, exclusive assignment of virtual volumes to tasks becomes possible.
さらに、ファイル装置2内のCPU21はタスクによる
入出力動作実行の要求指令(Read指令またはWri
te指令)を受信するごとに、第5図に示す処理フロー
に従って処理を行なう。ここでは、そのタスクによって
事前に仮想ボリュームの割当が正しくなされているか、
更には、仮想ボリュームが参照割当であるのにタスクが
書込み動作を行なおうとしてbるか否かが確実にチェッ
クされる。Furthermore, the CPU 21 in the file device 2 issues a request command (Read command or Write command) to execute an input/output operation by a task.
Each time a te command is received, processing is performed according to the processing flow shown in FIG. Here, check whether the virtual volume has been allocated correctly in advance by the task.
Furthermore, it is reliably checked whether a task attempts to perform a write operation even though the virtual volume is reference-allocated.
そして、最後に、タスクによる仮想ボリー−ムの割当が
不要になり、タスクから仮想ボリュームの割当解除を示
すDEMOUNT指令を受信すると、CPU21はVA
CTを修正して、そのタスクによるその仮想ボリューム
の割当状態を解除する。以上により、従来の排他制御方
式によるタスクのボリューム更新操作の逐次化が実現さ
れる。Finally, when the task no longer needs to allocate a virtual volume and receives a DEMOUNT command from the task to cancel the virtual volume allocation, the CPU 21
Modify the CT to unassign the virtual volume by that task. As described above, serialization of task volume update operations using the conventional exclusive control method is realized.
すなわち、第3図のように複数のタスクが同一し;−ド
に対して更新を行なうような場合には。That is, when multiple tasks update the same code as shown in FIG.
各タスクはMOUNT指令による仮想ボリュームの割当
要求の際の割当条件として、排他割当/更新割当を指定
することにより、各タスクの当該レコードの割当は1つ
ずつ順番に行われる。この結果、同一レコードに対する
更新操作が逐次化される。Each task specifies exclusive allocation/update allocation as an allocation condition when requesting virtual volume allocation using the MOUNT command, so that each task is sequentially allocated one record at a time. As a result, update operations for the same record are serialized.
このような従来の方式では、更新処理時には、更新対象
の仮想ボリュームを一時には1つのタスクにしか割当て
られない。従って、たとえば、この複数タスクの数をm
(正整数)とすると、全てのタスクによる同一仮想ボリ
ュームへの更新操作を行なうには、1つのタスクによる
更新操作のための所要時間のm倍という長い時間が必要
になる。In such conventional methods, during update processing, the virtual volume to be updated can be assigned to only one task at a time. Therefore, for example, if we define this number of multiple tasks as m
(a positive integer), it will take a long time, m times the time required for an update operation by one task, for all tasks to perform an update operation on the same virtual volume.
本発明の一実施例は第2図と同様の構成を有する。従っ
て、データ処理装置上のタスクが共用のファイル装置2
を使用する場合、まず、タスクは従来と同様に仮想ボリ
ューム割当要求のためのMOUNT指令をファイル装置
に対して発行する。One embodiment of the present invention has a configuration similar to that shown in FIG. Therefore, the task on the data processing device is the shared file device 2.
When using , the task first issues a MOUNT command for a virtual volume allocation request to the file device as in the conventional case.
本実施例における仮想ボリューム割当条件の指定の方法
は従来と同じである。さらに、本実施例におけるファイ
ル装置2も主記憶装置22内に従来と同様のVACTを
持ち、CPU21 はタスクによるMOUNT指令を
従来と全く同様の方法で処理する。すなわち、仮想ボリ
ュームの割当処理は従−米の方式と全く同様に行なわれ
る。The method of specifying virtual volume allocation conditions in this embodiment is the same as the conventional method. Furthermore, the file device 2 in this embodiment also has a VACT in the main storage device 22 similar to the conventional one, and the CPU 21 processes the MOUNT command by the task in exactly the same manner as the conventional one. That is, the virtual volume allocation process is performed in exactly the same way as in the conventional system.
その後、仮想ボリュームの割当に成功したタスりが仮想
ボリー−ムに対して入出力動作実行の要求をしてくる。Thereafter, the task that successfully allocated the virtual volume requests the virtual volume to perform an input/output operation.
この時、そのタスクによる仮想ボリュームの割当時の共
用モード指定が排他割当である場合には、CPU21は
従来と全く同様に第5図に示した処理フローに従って処
理を行なう。この結果、正常であれば入出力動作を実行
する。しかしながら、タスクによる仮想ボリュームの割
当時の共用モード指定が共用割当である場合には、同一
仮想ボリュームを同時に割当てられている更新タスクの
存在する可能性がある几め、CPU21は以下に述べる
ような方法でブロックレベルの自動的な排他制御を行な
う。At this time, if the shared mode designation at the time of virtual volume allocation by the task is exclusive allocation, the CPU 21 performs the processing according to the processing flow shown in FIG. 5 in exactly the same manner as before. If the result is normal, input/output operations are executed. However, if the shared mode specification at the time of virtual volume allocation by a task is shared allocation, there is a possibility that there are update tasks that are simultaneously allocated to the same virtual volume, so the CPU 21 performs the following process. This method performs block-level automatic exclusive control.
ブロックレベルの排他制御の実現法には種々のものがあ
るが、ここでは1番簡単表′°各仮想ボリュームは1つ
のタスクによって同時にはたかだか1ブロツクの排他使
用しか許さない”という原則に基づく実現法を説明する
。すなわち、本実施例においては、主記憶装置22内に
第7図に示すようなロック制御テーブル(LCT)を記
憶しておシ、CPU21はデータ処理装置上のタスクが
読み出し動作を実行するときに読み出し対象データブロ
ックを含むLCT のエンドvrtcロック情報を登録
し、このタスクが同じデータブロックに対して書込み動
作を実行したあとこのロック情報をLCT から除去す
る。第7図では、仮想ボリューム1.2.3.4および
6はどのブロックもロック(アクセス禁止)されていな
い。しかし、仮想ボリューム5では、第3番目のブロッ
クB3がタスクAによって、第4番目のブロックB4が
タスクBによってロックされている。There are various ways to implement block-level exclusive control, but the simplest one is based on the principle that each virtual volume allows exclusive use of at most one block at a time by one task. In other words, in this embodiment, a lock control table (LCT) as shown in FIG. When executing this task, end vrtc lock information of the LCT containing the data block to be read is registered, and this lock information is removed from the LCT after this task executes a write operation on the same data block.In FIG. None of the blocks in virtual volumes 1.2.3.4 and 6 are locked (access prohibited).However, in virtual volume 5, the third block B3 is locked by task A, and the fourth block B4 is locked by task A. Locked by B.
次にCPU21が入出力動作実行要求指令を受信したと
きのCPU21の実行する処理の詳細を第6図を参照し
て説明する。まず、ステップ61で、タスクによる仮想
ボリュームへの入出力動作実行の要求指令を受信すると
(ステップ61)、この指令によシ指定されたボリー−
ムがこのタスクに対して割当てられているか否かをVA
CTによりaべ(ステップ62)る。割当てられている
場合、それが共用割当であることがわかると(ステップ
63)、まず、その実行要求指令の内容が読出しく R
ead )動作なのか、書込み(Write)動作なの
かを判別する(ステップ64)。読出し動作である場合
には、まず、LCT を調べ、対象のボリューム内にそ
のタスクによってロックされている(ロック情報が登録
されている〕ブロックがあれば、それをアンロック(ロ
ック情報を除去)シ(ステップ65)、読出しの対象と
なっているブロックのロックを試みる(ステップ66)
。この試みはそのブロックが他タスクによってすでにロ
ックされていなり限シ成功する。成功しない場合には、
そのブロックが他タスクの処理でアンロックされ、ロッ
クが可能になるまで、このタスクを待たせる。ロックが
成功したときには、CPU21は当該ブロックの内容を
該当するディスクから読出し、読出し指令を発行したデ
ータ処理装置上のタスクにそのデータを送信する(ステ
ップ67)。Next, details of the process executed by the CPU 21 when the CPU 21 receives an input/output operation execution request command will be explained with reference to FIG. First, in step 61, when a task receives a command requesting execution of an input/output operation to a virtual volume (step 61), the volume specified by this command is
VA is assigned to this task.
A CT scan is performed (step 62). R
It is determined whether it is an (ead) operation or a write operation (step 64). If it is a read operation, first check the LCT, and if there is a block in the target volume that is locked (lock information is registered) by that task, it is unlocked (lock information is removed). (step 65), attempts to lock the block to be read (step 66)
. This attempt will succeed only if the block is already locked by another task. If not successful,
This task is made to wait until the block is unlocked by another task and can be locked. When the lock is successful, the CPU 21 reads the contents of the block from the corresponding disk and transmits the data to the task on the data processing device that issued the read command (step 67).
一方、タスクからの実行要求指令がデータ書込み指令で
ある場合には、VACTK−よシ対応するボリュームが
更新割当てされてbることが分かると(ステップ68)
、そのタスクによって当該ブロックがロックされている
ことをLCT によシ確認しくステップ69)、タスク
から当該ブロックへのデータの書込みを行なう(ステッ
プ70)。このあと、尚該ブロックのアンロックを行う
(ステップ71)。On the other hand, if the execution request command from the task is a data write command, it is found that the corresponding volume has been updated and allocated (step 68).
, confirms with the LCT that the block is locked by the task (step 69), and writes data from the task to the block (step 70). After this, the block is unlocked (step 71).
最後に、タスクから仮想ボリュームの割当解除のための
DEMOUNT 指令を受信すると、ファイル装置2内
のCPU21はそのタスクによってロックされているブ
ロックが残っているかどうかをLCT で調べ、残って
いれば、それをアンロックする。続いて、VACTの中
からこのタスクに関係する情報を全て削除することによ
り、このタスクへの仮想ボリュームの割当を解除する。Finally, upon receiving a DEMOUNT command for virtual volume deallocation from a task, the CPU 21 in the file device 2 uses the LCT to check whether there are any remaining blocks locked by that task, and if so, to unlock. Subsequently, by deleting all information related to this task from VACT, the assignment of the virtual volume to this task is released.
このように、本実施例では、複数のタスクに対して同一
の仮想ボリュームが同時に割当てられるにもかかわらず
、実際の入出力動作の際にはブロックレベルの更新操作
の逐次化が自動的に行なわれるため、複数タスクの全体
的な実行時間を長くすることがない。In this way, in this embodiment, even though the same virtual volume is allocated to multiple tasks at the same time, block-level update operations are automatically serialized during actual input/output operations. Therefore, the overall execution time of multiple tasks does not increase.
なお、以上の説明では、各仮想ボリュームは1つのタス
クによって同時にはたかだか1ブロツクの排他使用しか
許さないという前提のもとに簡単な実施例を説明した。In the above description, a simple embodiment has been described based on the premise that each virtual volume allows exclusive use of at most one block at a time by one task.
しかし、上記の実施例においては、各タスクが連続する
複数ブロックを仮想ボリューム当シ1箇所に限りロック
することができるという具合に拡張しても、基本的な排
他制御の実現法は変らないことを付は加える。更には、
各タスクは仮想ボリュームの複数ブロックないしは複数
箇所をロックすることができるという具合に拡張するこ
とも可能である。この場合には、ロックは必要になる都
度性ない、アンロックは仮想ボリュームの割当解除時に
まとめて行なうことができる。However, in the above embodiment, even if it is extended so that each task can lock multiple consecutive blocks to only one location on the virtual volume, the basic method of realizing exclusive control remains the same. Add . Furthermore,
It is also possible to extend this so that each task can lock multiple blocks or multiple locations in the virtual volume. In this case, locking is not required each time it is needed, and unlocking can be performed all at once when virtual volumes are deallocated.
以上の説明によシ明らかなように、本発明によれば、従
来の排他制御方式をとるファイル装置に、祈念に、ファ
イル装置内の各仮想ボリュームを構成するブロック単位
に各仮想ボリュームのスペースを個々のタスクが排他使
用する状態を管理する手段(ブロック制御テーブル)を
付加し、個々のタスクによる仮想ボリュームへの入出力
実行要求の際に、第6図の処理フローに従って必要に応
じて自動的なブロックレベルの排他制御を行なうことに
より、複数タスクによる同一データの並行更新操作を全
体的なタスク実行時間を長くすることなく、かつ更新の
そう失の危険性を伴なうことなく、実行することが可能
になシ、処理効率および信頼性の向上に対して得られる
効果は大き−0As is clear from the above description, according to the present invention, the space of each virtual volume is allocated to a file device that uses the conventional exclusive control method in units of blocks that constitute each virtual volume in the file device. A means (block control table) is added to manage the state of exclusive use by individual tasks, and when an individual task requests execution of input/output to a virtual volume, it is automatically executed according to the processing flow shown in Figure 6. By performing block-level exclusive control, multiple tasks can perform parallel update operations on the same data without increasing the overall task execution time and without running the risk of losing updates. The effect of improving processing efficiency and reliability is significant -0.
第1図は本発明の一実施例を示すブロック図、第2図は
ファイル装置の詳細を示すブロック図、第3図は従来技
術によシ複数のタスクが同一データを並行更新する場合
の更新操作のそう失が発生しうることを説明する図、第
4図は従来の排他制御方式および本発明による排他制御
方式のもとて各仮想ボリュームのタスクへの割当状態を
管理するために用いられる制御テーブルの構成例を示す
図、第5図は従来の排他制御方式のもとてファイル装置
が受信した入出力要求指令を処理する場合の処理フロー
の一例を示す図、第6図は本発明による排他制御方式の
もとてファイル装置が受信し九人出力要求指令を処理す
る場合の処理フローの一例を示す図、第7図は本発明に
よる排他制御方式のもとて各仮想ボリュームの構成ブロ
ックにおける各タスクによるロック状態を管理するため
に用いられ制御テーブルの構成例を示す図である。
図において、1−1〜1−n・・・・・・データ処理装
置、2・・・・・・ファイル装置、である。
代理人 弁理士 内 原 (晋
又−3
第5 図
茅 z TMFig. 1 is a block diagram showing an embodiment of the present invention, Fig. 2 is a block diagram showing details of a file device, and Fig. 3 is an update when multiple tasks update the same data in parallel according to the conventional technology. FIG. 4 is a diagram illustrating how a loss of operation can occur, and is used to manage the state of assignment of each virtual volume to a task under the conventional exclusive control method and the exclusive control method according to the present invention. FIG. 5 is a diagram showing an example of the configuration of a control table, FIG. 5 is a diagram showing an example of a processing flow when an input/output request command received by a file device is processed under the conventional exclusive control method, and FIG. 6 is a diagram showing an example of the processing flow according to the present invention. Figure 7 shows an example of the processing flow when a file device receives and processes a nine-person output request command under the exclusive control method according to the present invention. FIG. 3 is a diagram illustrating a configuration example of a control table used to manage lock states by each task in a block. In the figure, 1-1 to 1-n... data processing device, 2... file device. Agent Patent Attorney Uchihara (Shinmata-3 Figure 5 Kaya z TM
Claims (4)
のデータ処理装置と、 前記複数のデータ処理装置に共用され複数の記憶領域を
有する少なくとも1つのファイル装置と、 前記複数の記憶領域の前記タスクへの割当状態を示す割
当情報を格納した割当状態格納手段と、 前記複数の記憶領域のそれぞれを構成する複数の記憶ブ
ロックに対するロック情報を格納したロック情報格納手
段と、 前記割当情報が排他的に割当てられていないことを示し
ている前記記憶領域内の前記ブロックの内容を第1のタ
スクが更新するときにこのブロックに対するこの第1の
タスクの読出し動作および書込み動作が終了するまでこ
のブロックへの少なくとも1つの他の第2のタスクから
のアクセスを禁止するためにこのブロックに対する前記
ロック情報を登録および保持するとともにこれらの動作
の終了後にこのロック情報を前記ロック情報格納手段か
ら除去する処理手段とから構成したことを特徴とするフ
ァイル処理システム。(1) a plurality of data processing devices each having at least one task; at least one file device shared by the plurality of data processing devices and having a plurality of storage areas; allocation state storage means storing allocation information indicating an allocation state; lock information storage means storing lock information for a plurality of storage blocks constituting each of the plurality of storage areas; When a first task updates the contents of the block in the storage area indicating that the first task has not updated the contents of the block in the storage area, at least and processing means for registering and retaining the lock information for this block in order to prohibit access from other second tasks, and for removing this lock information from the lock information storage means after these operations are completed. A file processing system characterized by:
る割当要求に応答してこの割当要求が指定する前記記憶
領域の割当状態を前記割当状態格納手段を参照して調べ
前記第1のタスクに対してこの記憶領域を割当てるため
に前記割当情報を前記割当状態格納手段に格納するか否
かを判定する第1の処理を実行することを特徴とする特
許請求の範囲第(1)項記載のファイル処理システム。(2) The processing means, in response to an allocation request issued by the first task, checks the allocation state of the storage area specified by this allocation request with reference to the allocation state storage means, and Claim (1) characterized in that, in order to allocate this storage area to a task, a first process is executed to determine whether or not the allocation information is stored in the allocation state storage means. File processing system described.
前記記憶領域の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)
項記載のファイル処理システム。(3) The processing means receives a read request that is issued from the first task and includes first designation information that designates one of the storage areas and second designation information that designates at least one of the blocks; by referring to the allocation state storage means in response to fourth designation information including third designation information designating one of the storage areas and fourth designation information designating at least one of the blocks; Said first
or a second process for detecting whether the storage area specified by the third specification information is exclusively allocated to the first task; When it is detected that the block specified by the second specification information is not specified by the lock information storage means in response to the read request, the block specified by the second specification information is
a third task that detects whether lock information belonging to the task and at least one other second task is registered;
a fourth process of prohibiting a read operation for the first task in response to the detection of the lock information of the second task in the third process; When unregistered lock information belonging to the first and second tasks is detected, lock information for the first task is registered in the lock information storage means, and the file device specified by the second designation information is registered. a fifth process of reading out at least a part of the block for the first task; and in response to the write request when it is detected in the second process that the block is not exclusively allocated. a sixth process of writing data from the first task into at least a part of the block specified by the fourth specification information; and a sixth process of writing data from the first task to at least a part of the block specified by the fourth specification information, and a process for writing data to the corresponding block after the write operation in the sixth process is completed. Claim (1), characterized in that a seventh process of deleting the lock information is executed.
File processing system as described in Section.
る割当解除要求に応答してこの割当解除要求が指定する
前記記憶領域に対応する前記割当状態格納手段内の前記
第1のタスクの割当情報を除去するとともにこの記憶領
域に属するブロックに対応する前記第1のタスクのロッ
ク情報格納手段内の前記ロック情報を除去する第8の処
理を実行することを特徴とする特許請求の範囲第(2)
項記載のファイル処理システム。(4) The processing means, in response to an allocation release request issued from the first task, processes the first task in the allocation state storage means corresponding to the storage area specified by the allocation release request. Claim 8, characterized in that an eighth process is executed to remove the allocation information and also remove the lock information in the lock information storage means of the first task corresponding to the block belonging to this storage area. (2)
File processing system as described in Section.
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 (en) | 1986-11-27 |
Family
ID=16994283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60250094A Pending JPS61267862A (en) | 1984-11-10 | 1985-11-08 | File processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61267862A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175616A (en) * | 2010-02-24 | 2011-09-08 | Hitachi Ltd | Reduction of i/o latency for writable copy-on-write snapshot function |
-
1985
- 1985-11-08 JP JP60250094A patent/JPS61267862A/en active Pending
Non-Patent Citations (1)
Title |
---|
AFIPS CONFERECE PROCEEDINGS=1984 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175616A (en) * | 2010-02-24 | 2011-09-08 | Hitachi Ltd | Reduction of i/o latency for writable copy-on-write snapshot function |
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 (en) | Method for locking shared resources in a process in a computer system and computer system | |
US5669002A (en) | Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory | |
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 | |
US5721943A (en) | Negotiable locks for concurrent access of control data by multiple programs | |
US4480304A (en) | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment | |
JP3712922B2 (en) | Method for independent data copying in a data processing system | |
EP0381325A2 (en) | Synchronising and processing of memory access operations | |
JP2006099784A (en) | Computer backup system operable in opened state of file | |
KR20060009828A (en) | Managing locks and transactions | |
JP2002268933A (en) | Cluster system | |
JPH10510934A (en) | System for generating a universally unique object identification | |
US5432929A (en) | Storage subsystem having a modifiable key-lock | |
EP2237155B1 (en) | Information processing program, information processing device and information processing method | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
CN109947575A (en) | Locking, method for releasing and the related system of Read-Write Locks | |
JP2685530B2 (en) | How to manage shared data | |
JPH04155465A (en) | Method for using file in common | |
JPS61267862A (en) | File processing system | |
EP0049423B1 (en) | Multiprocessor system | |
JPS5848289A (en) | Buffer memory controlling system | |
JP2924786B2 (en) | Exclusive control system, exclusive control method, and medium for storing exclusive control program for shared file in loosely coupled multiple computer system | |
JPH0559463B2 (en) |