JPH09330240A - Exclusive resource control system - Google Patents
Exclusive resource control systemInfo
- Publication number
- JPH09330240A JPH09330240A JP8170659A JP17065996A JPH09330240A JP H09330240 A JPH09330240 A JP H09330240A JP 8170659 A JP8170659 A JP 8170659A JP 17065996 A JP17065996 A JP 17065996A JP H09330240 A JPH09330240 A JP H09330240A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- exclusive
- management table
- acquisition
- name
- 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
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は資源排他制御方式に
関し、特に複数のプロセス間で共有される資源を有する
計算機システムにおける資源排他制御方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a resource exclusive control system, and more particularly to a resource exclusive control system in a computer system having resources shared by a plurality of processes.
【0002】[0002]
【従来の技術】従来より、この種の資源排他制御方式
は、複数のプロセス間で共有される資源をあるプロセス
が占有して使用する必要がある場合に、他のプロセスと
の資源の競合を防止するために用いられている。2. Description of the Related Art Conventionally, this type of resource exclusion control system has a method of competing for resources with other processes when a process needs to occupy and use a resource shared by a plurality of processes. Used to prevent.
【0003】従来の資源排他制御方式の一例が、特開平
4−539号公報に記載されている(特に、当該公報の
第1図,第5図,および第6図参照)。An example of a conventional resource exclusive control system is described in Japanese Patent Application Laid-Open No. 4-539 (see, in particular, FIGS. 1, 5, and 6 of the publication).
【0004】この公報に記載された資源排他制御方式
(この公報に係る発明の名称は「排他制御方式」であ
る)は、複数のプロセス間で資源が共有される計算機シ
ステムで、複雑な排他制御を容易に行うことが可能とな
る方式である。The resource exclusive control method described in this publication (the title of the invention of this publication is "exclusive control method") is a computer system in which resources are shared among a plurality of processes, and complicated exclusive control is performed. Is a method that can be easily performed.
【0005】この資源排他制御方式は、共有資源がロッ
ク制御されている状態をデータベースとして記憶管理す
る手段(記憶管理手段)と、共有資源のロック御御要求
を受け付ける手段(要求受付け手段)と、要求された共
有資源に関するロック制御の状態をデータベースに問い
合わせる手段(問い合わせ手段)と、問い合わせ結果を
ロック制御の要求元に通知する手段(結果通知手段)
と、要求されたロック制御を問い合わせ結果に応じて行
う手段(ロック制御手段)とから構成されている。In this resource exclusive control system, means for storing and managing a state in which a shared resource is locked as a database (storage managing means), means for receiving a lock control request for the shared resource (request accepting means), Means for inquiring the database about the lock control status related to the requested shared resource (inquiry means), and means for notifying the requester of the lock control of the inquiry result (result notifying means)
And a means (lock control means) for performing the requested lock control according to the inquiry result.
【0006】この資源排他制御方式では、以下に示すよ
うな処理が行われる。In this resource exclusive control method, the following processing is performed.
【0007】共有資源とそのロック制御状態の履歴と
が、記憶管理手段により、データベースに登録される。
共有資源の獲得要求や解放要求は、データベース式とし
て表され、要求受付け手段で受け付けられる。問い合わ
せ手段は、データベースに、受け付けられたデータベー
ス式で問い合わせを行う。問い合わせ結果により、資源
が獲得できる場合には、ロック制御手段が資源のロック
を行う。資源が獲得できない場合には、結果通知手段に
より、要求元に資源獲得失敗が通知される。The shared resource and the history of its lock control state are registered in the database by the storage management means.
The request for acquiring or releasing the shared resource is represented as a database type and is accepted by the request accepting means. The inquiry means makes an inquiry to the database using the accepted database formula. If the resource can be obtained from the inquiry result, the lock control means locks the resource. When the resource cannot be acquired, the result notifying unit notifies the request source of the resource acquisition failure.
【0008】また、従来の資源排他制御方式の他の一例
が、特開平5−250188号公報に記載されている
(特に、当該公報の図1参照)。Another example of the conventional resource exclusive control system is described in Japanese Patent Application Laid-Open No. 5-250188 (in particular, refer to FIG. 1 of the publication).
【0009】この公報に記載された資源排他制御方式
(この公報に係る発明の名称は「プロセスのプライオリ
ティ制御方式」である)は、プロセス間の資源排他制御
部にセマフォを用いている。The resource exclusion control system described in this publication (the title of the invention relating to this publication is "process priority control system") uses a semaphore as a resource exclusion control unit between processes.
【0010】プロセス間の資源排他制御部は、資源獲得
時に、セマフォの値を1減算する。その減算の結果、セ
マフォが負とならなければ現プロセスを実行可能状態と
し、もし負となればシステムコールにより現プロセスを
停止状態にしセマフォにおけるプロセス待ち行列につけ
る。資源解放時には、セマフォの値を1加算する。その
加算の結果がもし正でないならば、セマフォにおけるプ
ロセス待ち行列から1つのプロセスを選び実行可能とす
る。The inter-process resource exclusive control unit subtracts 1 from the value of the semaphore when acquiring the resource. If the semaphore does not become negative as a result of the subtraction, the current process is made ready to execute, and if it becomes negative, the current process is stopped by a system call and placed in the process queue of the semaphore. When releasing resources, the semaphore value is incremented by 1. If the result of the addition is not positive, a process is selected from the process queues in the semaphore and is ready for execution.
【0011】[0011]
【発明が解決しようとする課題】上述した従来の資源排
他制御方式には、以下に示すような問題点があった。The above-mentioned conventional resource exclusive control system has the following problems.
【0012】第1の問題点は、排他制御の対象となる資
源(排他資源)を利用者から指定することの困難さであ
る。The first problem is that it is difficult for a user to specify a resource (exclusive resource) to be subject to exclusive control.
【0013】その理由は、排他制御を行うために指定す
る資源をデータベース式またはセマフォとして表現する
必要があるので、利用者が容易に認識できる形式で指定
できないことによる。The reason is that the resource specified for performing exclusive control needs to be expressed as a database expression or a semaphore, and therefore cannot be specified in a format easily recognized by the user.
【0014】第2の問題点は、排他資源の解放もれが生
じ、排他資源が使用不可になるおそれがあるということ
である。The second problem is that the exclusive resource may be missed and the exclusive resource may become unusable.
【0015】その理由は、既に資源獲得中のプロセスが
終了する前に資源の解放を行わなかった場合の考慮や、
資源獲得中のプロセスが異常終了した場合の考慮が、な
されていないためである。The reason is to consider the case where the resources are not released before the process that is already acquiring the resources is terminated,
This is because no consideration has been given to the case where the process of resource acquisition terminates abnormally.
【0016】本発明の目的は、上述の点に鑑み、競合す
る資源(排他資源)に任意の名前(資源名)を設定し、
その名前を指定して排他資源を獲得・解放することがで
きる資源排他制御方式を提供することにある。In view of the above points, an object of the present invention is to set an arbitrary name (resource name) to a competing resource (exclusive resource),
The purpose is to provide a resource exclusion control method that can acquire and release exclusive resources by specifying the name.
【0017】本発明の他の目的は、排他資源を獲得中の
プロセスが当該排他資源を解放せずに終了した場合に
も、終了したプロセスにより獲得されたままの状態の排
他資源の解放を行い、他のプロセスからその排他資源を
使用することができるようにする資源排他制御方式を提
供することにある。Another object of the present invention is to release the exclusive resource in the state still acquired by the terminated process even when the process which is acquiring the exclusive resource ends without releasing the exclusive resource. The purpose is to provide a resource exclusion control method that enables other processes to use the exclusive resource.
【0018】以上の目的を達成することにより、本発明
の資源排他制御方式は、計算機システムの操作性の向上
および信頼性の向上を図っている。By achieving the above object, the resource exclusive control system of the present invention improves the operability and reliability of the computer system.
【0019】[0019]
【課題を解決するための手段】本発明の資源排他制御方
式は、資源を排他的に使用するプロセスの集合であるプ
ロセス群と、排他資源毎に、排他資源の名前を示す「資
源名」,排他資源の獲得状態を管理する「資源獲得状
態」,排他資源を獲得中のプロセスのプロセスIDを示
す「資源獲得プロセスID」,および排他資源を待ち合
わせているプロセスを管理する「資源待ち合わせプロセ
ス管理情報」を有する記憶装置内の排他資源管理テーブ
ルと、生成されたプロセスのプロセスIDを記憶する記
憶装置内のプロセス管理テーブルと、前記プロセス群中
のプロセスから任意の資源名が指定されて通知される排
他資源の登録要求を受け付け、当該プロセスにその登録
要求に対する資源登録成功通知/資源登録失敗通知を返
却する資源登録手段と、前記資源登録手段からの通知に
より前記排他資源管理テーブルにアクセスし登録要求に
係る排他資源の資源名を前記排他資源管理テーブルに登
録する資源登録制御手段と、前記資源登録制御手段によ
って登録された資源名が指定されて前記プロセス群中の
プロセスから通知された排他資源の獲得要求を受け付
け、当該プロセスにその獲得要求に対する資源獲得成功
通知/資源獲得失敗通知を返却する資源獲得手段と、前
記資源登録制御手段によって登録された資源名が指定さ
れて前記プロセス群中のプロセスから通知された排他資
源の解放要求を受け付け、当該プロセスにその解放要求
に対する資源解放成功通知/資源解放失敗通知を返却す
る資源解放手段と、前記資源獲得手段および前記資源解
放手段からの通知により前記排他資源管理テーブルにア
クセスし、指定された資源名を持つ排他資源に対する排
他制御を実現する資源排他制御手段と、プロセスの生成
時に当該プロセスに対する前記プロセス管理テーブルを
作成し、前記プロセス管理テーブルによってプロセスの
管理を行うプロセス管理手段とを有する。The resource exclusion control method of the present invention includes a process group which is a set of processes that exclusively use a resource, a "resource name" indicating the name of the exclusive resource for each exclusive resource, "Resource acquisition status" that manages the acquisition status of exclusive resources, "Resource acquisition process ID" that indicates the process ID of the process that is acquiring the exclusive resources, and "Resource waiting process management information" that manages the process waiting for exclusive resources , An exclusive resource management table in the storage device, a process management table in the storage device that stores the process ID of the generated process, and an arbitrary resource name is designated and notified from the process in the process group. Resource registration means for receiving a registration request for exclusive resources and returning a resource registration success notification / resource registration failure notification for the registration request to the process , Resource registration control means for accessing the exclusive resource management table by the notification from the resource registration means, and registering the resource name of the exclusive resource relating to the registration request in the exclusive resource management table, and the resource registration control means Resource acquisition means for accepting an exclusive resource acquisition request notified from a process in the process group with a resource name specified, and returning a resource acquisition success notification / resource acquisition failure notification to the acquisition request to the process; The exclusive resource release request notified from the process in the process group with the resource name registered by the registration control means specified is accepted, and a resource release success notification / resource release failure notification for the release request is returned to the process. Resource releasing means, and the exclusive resource management by notification from the resource acquiring means and the resource releasing means. A resource exclusive control means for accessing the table and realizing exclusive control for an exclusive resource having a specified resource name, and creating the process management table for the process when the process is created, and managing the process by the process management table. And a process management means for performing the process.
【0020】[0020]
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described in detail with reference to the drawings.
【0021】(1) 第1の実施例 図1は、本発明の資源排他制御方式の第1の実施例の構
成を示すブロック図である。(1) First Embodiment FIG. 1 is a block diagram showing the configuration of the first embodiment of the resource exclusive control system of the present invention.
【0022】本実施例の資源排他制御方式は、プロセス
群10と、資源の排他を制御する排他制御装置20と、
情報を記憶する記憶装置30と、OS(Operati
ngSystem)基本部40とを含んで構成されてい
る。The resource exclusion control system of this embodiment comprises a process group 10, an exclusion controller 20 for controlling resource exclusion,
A storage device 30 that stores information and an OS (Operating)
ngSystem) basic unit 40 and.
【0023】プロセス群10は、排他制御装置20に対
して排他制御が必要な資源名を指定することにより排他
資源に対する制御を要求するプロセスを複数含んでいる
(これらのプロセスの中の任意の1つのプロセスを「プ
ロセス11」とする)。The process group 10 includes a plurality of processes that request control of the exclusive resource by designating a resource name requiring exclusive control to the exclusive control device 20 (any one of these processes). The two processes are called "process 11").
【0024】排他制御装置20は、資源名が指定された
排他資源の登録要求を受け付けて資源登録成功通知また
は資源登録失敗通知を返却する資源登録手段21と、資
源名が指定された排他資源の獲得要求を受け付けて資源
獲得成功通知または資源獲得失敗通知を返却する資源獲
得手段22と、資源名が指定された排他資源の解放要求
を受け付けて資源解放成功通知または資源解放失敗通知
を返却する資源解放手段23と、排他資源の登録に関す
る情報を記憶装置30に登録する資源登録制御手段24
と、排他資源の獲得および解放に関する情報を記憶装置
30に登録することにより排他制御を実現する資源排他
制御手段25とを含んで構成されている。The exclusive control device 20 receives a request for registration of an exclusive resource with a resource name specified and returns a resource registration success notification or a resource registration failure notification, and an exclusive resource with a resource name specified. A resource acquisition unit 22 that receives an acquisition request and returns a resource acquisition success notification or a resource acquisition failure notification, and a resource that receives a release request of an exclusive resource with a resource name specified and returns a resource release success notification or a resource release failure notification Release means 23 and resource registration control means 24 for registering information regarding registration of exclusive resources in the storage device 30.
And a resource exclusion control unit 25 that realizes exclusion control by registering information regarding acquisition and release of exclusion resources in the storage device 30.
【0025】記憶装置30は、排他資源に関する情報を
管理する排他資源管理テーブル31と、排他資源の待ち
合わせを管理する資源待ち合わせ管理テーブル32と、
プロセス群11中の各プロセスを管理するプロセス管理
テーブル33を含む。The storage device 30 includes an exclusive resource management table 31 for managing information on exclusive resources, a resource queuing management table 32 for managing queuing of exclusive resources,
It includes a process management table 33 that manages each process in the process group 11.
【0026】排他資源管理テーブル31は、各エントリ
の項目として、利用者が排他資源に対して設定した「資
源名」と、「資源獲得状態」と、資源獲得中のプロセス
を示す「プロセスID(IDentificatio
n)」と、資源待ち合わせ管理テーブル32をキューイ
ングしている資源待ち合わせキューを管理している「資
源待ち合わせプロセス管理情報」とを有している。The exclusive resource management table 31 includes, as the items of each entry, a "resource name" set by the user for the exclusive resource, a "resource acquisition state", and a "process ID ( IDenticatio
n) ”and“ resource queuing process management information ”that manages the resource queuing queue queuing the resource queuing management table 32.
【0027】資源待ち合わせ管理テーブル32は、排他
資源を待ち合わせ中のプロセスを示す「プロセスID」
と、資源待ち合わせキューにおける次の資源待ち合わせ
管理テーブル32のアドレスを示す「ネクストポイン
タ」とから構成されている(資源待ち合わせキューを形
成する資源待ち合わせ管理テーブル32は待ち合わせ中
のプロセスの数だけ存在する)。The resource queuing management table 32 has a "process ID" indicating a process waiting for an exclusive resource.
And a "next pointer" indicating the address of the next resource queuing management table 32 in the resource queuing queue (the resource queuing management tables 32 forming the resource queuing queue exist for the number of waiting processes). .
【0028】ここで、本実施例の資源排他制御方式で
は、排他資源管理テーブル31における各排他資源に対
する「資源待ち合わせプロセス管理情報」は、当該各排
他資源に対応する資源待ち合わせキューの先頭の資源待
ち合わせ管理テーブル32のアドレス,または「当該資
源待ち合わせ管理テーブルが存在しない旨」(図5等に
おいて「NULL」で示す情報)を有している。なお、
「資源待ち合わせプロセス管理情報」の内容は、上記の
内容に限られず、全ての資源待ち合わせ管理テーブル3
2のアドレスが待ち合わせ順に設定された内容等の他の
内容も考えられる。In the resource exclusion control method of this embodiment, the "resource queuing process management information" for each exclusive resource in the exclusive resource management table 31 is the resource queuing queue at the head of the resource queuing queue corresponding to each exclusive resource. It has the address of the management table 32 or “the fact that the resource waiting management table does not exist” (information indicated by “NULL” in FIG. 5 and the like). In addition,
The content of the “resource queuing process management information” is not limited to the above-mentioned content, and all resource queuing management tables 3
Other contents such as the contents in which the address 2 is set in the waiting order are also conceivable.
【0029】プロセス管理テーブル33は、生成された
プロセスを示す「プロセスID」を含んで構成されてい
る。The process management table 33 includes a "process ID" indicating the created process.
【0030】OS基本部40は、プロセスの生成を管理
するプロセス管理手段41を含んで構成されている。The OS basic unit 40 includes a process management means 41 for managing the generation of processes.
【0031】図2は、本実施例の資源排他制御方式にお
ける排他資源の登録処理を示す流れ図である。この処理
は、入力資源名検索ステップ201と、登録済判定ステ
ップ202と、入力資源名登録ステップ203と、未使
用設定ステップ204と、資源登録成功通知ステップ2
05と、資源登録失敗通知ステップ206とからなる。FIG. 2 is a flow chart showing the exclusive resource registration processing in the resource exclusive control method of this embodiment. This process includes an input resource name search step 201, a registered determination step 202, an input resource name registration step 203, an unused setting step 204, and a resource registration success notification step 2
05 and a resource registration failure notification step 206.
【0032】図3は、本実施例の資源排他制御方式にお
ける排他資源の獲得処理を示す流れ図である。この処理
は、入力資源名検索ステップ301と、登録済判定ステ
ップ302と、資源獲得状態取得ステップ303と、未
使用判定ステップ304と、使用中設定ステップ305
と、プロセスID記録ステップ306と、資源獲得成功
通知ステップ307と、資源獲得失敗通知ステップ30
8と、待ち合わせ有無判定ステップ309と、資源獲得
失敗通知ステップ310と、資源待ち合わせキュー登録
ステップ311とからなる。FIG. 3 is a flowchart showing the exclusive resource acquisition processing in the resource exclusive control method of this embodiment. This process includes an input resource name search step 301, a registered determination step 302, a resource acquisition state acquisition step 303, an unused determination step 304, and an in-use setting step 305.
A process ID recording step 306, a resource acquisition success notification step 307, and a resource acquisition failure notification step 30.
8, a waiting presence / absence determining step 309, a resource acquisition failure notifying step 310, and a resource waiting queue registration step 311.
【0033】図4は、本実施例の資源排他制御方式にお
ける排他資源の解放処理を示す流れ図である。この処理
は、入力資源名検索ステップ401と、登録済判定ステ
ップ402と、資源獲得状態取得ステップ403と、使
用中判定ステップ404と、資源獲得プロセス判定ステ
ップ405と、資源解放成功通知ステップ406と、待
ち合わせプロセス有無判定ステップ407と、資源獲得
成功通知ステップ408と、資源解放失敗通知ステップ
409と、未使用設定ステップ410とからなる。FIG. 4 is a flow chart showing the exclusive resource release processing in the resource exclusive control method of this embodiment. This processing includes input resource name search step 401, registered determination step 402, resource acquisition state acquisition step 403, busy determination step 404, resource acquisition process determination step 405, resource release success notification step 406, The process includes a waiting process presence / absence determination step 407, a resource acquisition success notification step 408, a resource release failure notification step 409, and an unused setting step 410.
【0034】図5は、本実施例の資源排他制御方式の具
体的な動作を説明するための図である。FIG. 5 is a diagram for explaining a specific operation of the resource exclusive control method of this embodiment.
【0035】次に、このように構成された本実施例の資
源排他制御方式の動作について説明する。Next, the operation of the resource exclusive control system of this embodiment having the above-mentioned configuration will be described.
【0036】なお、以下に示す各動作の前提として、プ
ロセス群10を構成するプロセスが新たに生成された時
には、OS基本部40内のプロセス管理手段41によっ
て、そのプロセスに対するプロセス管理テーブル33
(そのプロセスのプロセスIDを有するプロセス管理テ
ーブル33)が記憶装置30内に作成される。As a premise of each operation described below, when a process that constitutes the process group 10 is newly created, the process management means 41 in the OS basic unit 40 causes the process management table 33 for the process.
(Process management table 33 having the process ID of the process) is created in the storage device 30.
【0037】第1に、図1および図2を参照して、排他
資源の登録に関する動作を説明する。First, the operation related to registration of exclusive resources will be described with reference to FIGS. 1 and 2.
【0038】プロセス群10中の任意の1つのプロセス
(プロセス11とする)は、利用者から指定された任意
の資源名(登録しようとする排他資源の資源名)を、排
他制御装置20内の資源登録手段21に通知する。Any one process (process 11) in the process group 10 uses the arbitrary resource name (resource name of the exclusive resource to be registered) designated by the user in the exclusive control device 20. The resource registration means 21 is notified.
【0039】資源登録手段21は、その通知を資源登録
制御手段24に送る。The resource registration means 21 sends the notice to the resource registration control means 24.
【0040】資源登録制御手段24は、プロセス11か
ら通知された資源名(「入力資源名」という)によって
記憶装置30内の排他資源管理テーブル31の「資源
名」を検索し(ステップ201)、入力資源名が排他資
源管理テーブル31に既に登録されたものであるか否か
を判定する(ステップ202)。The resource registration control means 24 retrieves the "resource name" of the exclusive resource management table 31 in the storage device 30 by the resource name (called "input resource name") notified from the process 11 (step 201), It is determined whether or not the input resource name is already registered in the exclusive resource management table 31 (step 202).
【0041】資源登録制御手段24は、ステップ202
で「入力資源名が排他資源管理テーブル31に登録され
たものである」と判定した場合には、資源登録手段21
にプロセス11(登録要求元のプロセス)のプロセスI
Dとともに制御を渡す。資源登録手段21は、プロセス
11に資源登録失敗を通知する(ステップ206)。The resource registration control means 24, step 202
If it is determined that "the input resource name is registered in the exclusive resource management table 31", the resource registration means 21
Process I of process 11 (process requesting registration)
Pass control with D. The resource registration means 21 notifies the process 11 of the resource registration failure (step 206).
【0042】一方、資源登録制御手段24は、ステップ
202で「入力資源名が排他資源管理テーブル31に登
録されたものではない」と判定した場合には、排他資源
管理テーブル31の新たなエントリの「資源名」に入力
資源名を登録し(ステップ203)、当該エントリの
「資源獲得状態」を“未使用”に設定する(ステップ2
04)。On the other hand, when the resource registration control means 24 determines in step 202 that the input resource name is not registered in the exclusive resource management table 31, a new entry of the exclusive resource management table 31 is created. The input resource name is registered in the "resource name" (step 203), and the "resource acquisition state" of the entry is set to "unused" (step 2).
04).
【0043】その後、資源登録制御手段24は、資源登
録手段21にプロセス11のプロセスIDとともに制御
を渡す。資源登録手段21は、プロセス11に資源登録
成功を通知する(ステップ205)。After that, the resource registration control means 24 passes control to the resource registration means 21 together with the process ID of the process 11. The resource registration means 21 notifies the process 11 of successful resource registration (step 205).
【0044】第2に、図1および図3を参照して、本実
施例の資源排他制御方式における排他資源の獲得に関す
る動作を説明する。Secondly, with reference to FIG. 1 and FIG. 3, the operation relating to the acquisition of the exclusive resource in the resource exclusive control method of this embodiment will be described.
【0045】プロセス群10中の排他資源の獲得を要求
するプロセス(プロセス11とする)は、獲得したい排
他資源の資源名を、排他制御装置20内の資源獲得手段
22に通知する。The process requesting acquisition of the exclusive resource in the process group 10 (referred to as process 11) notifies the resource acquisition means 22 in the exclusive control device 20 of the resource name of the exclusive resource to be acquired.
【0046】資源獲得手段22は、その通知を資源排他
制御手段25に送る。The resource acquisition means 22 sends the notification to the resource exclusion control means 25.
【0047】資源排他制御手段25は、プロセス11か
ら通知された資源名(「入力資源名」という)によって
記憶装置30内の排他資源管理テーブル31の「資源
名」を検索し(ステップ301)、入力資源名が排他資
源管理テーブル31に既に登録されたものであるか否か
を判定する(ステップ302)。The resource exclusive control means 25 retrieves the "resource name" of the exclusive resource management table 31 in the storage device 30 by the resource name (called "input resource name") notified from the process 11 (step 301), It is determined whether or not the input resource name is already registered in the exclusive resource management table 31 (step 302).
【0048】資源排他制御手段25は、ステップ302
で「入力資源名が排他資源管理テーブル31に登録され
たものではない」と判定した場合には、資源獲得手段2
2にプロセス11(獲得要求元のプロセス)のプロセス
IDとともに制御を渡す。資源獲得手段22は、プロセ
ス11に資源獲得失敗を通知する(ステップ308)。The resource exclusive control means 25 executes step 302.
When it is determined that "the input resource name is not registered in the exclusive resource management table 31", the resource acquisition unit 2
Control is passed to the process 2 together with the process ID of the process 11 (process of the acquisition request source). The resource acquisition unit 22 notifies the process 11 of resource acquisition failure (step 308).
【0049】一方、資源排他制御手段25は、ステップ
302で「入力資源名が排他資源管理テーブル31に登
録されたものである」と判定した場合には、排他資源管
理テーブル31の登録エントリ(入力資源名が項目「資
源名」に登録されているエントリ)の「資源獲得状態」
を取得し(ステップ303)、その「資源獲得状態」が
“未使用”であるか否かを判定する(ステップ30
4)。On the other hand, when the resource exclusion control means 25 determines in step 302 that the input resource name is registered in the exclusive resource management table 31, the registration entry (input of the exclusive resource management table 31 "Resource acquisition status" of entry whose resource name is registered in the item "Resource name"
Is acquired (step 303), and it is determined whether or not the "resource acquisition status" is "unused" (step 30).
4).
【0050】資源排他制御手段25は、ステップ304
で「その「資源獲得状態」が“未使用”である」と判定
した場合には、その「資源獲得状態」を“使用中”に設
定し(ステップ305)、プロセス11(資源を獲得し
たプロセス)のプロセスIDを登録エントリの「資源獲
得プロセスID」に記録(設定)する(ステップ30
6)。The resource exclusive control means 25 executes step 304.
When it is determined that the "resource acquisition state" is "unused" in step S1, the "resource acquisition state" is set to "in use" (step 305), and the process 11 (process that acquired the resource) is set. ) Is recorded (set) in the "resource acquisition process ID" of the registration entry (step 30).
6).
【0051】その後、資源排他制御手段25は、資源獲
得手段22にプロセス11のプロセスIDとともに制御
を渡す。資源獲得手段22は、プロセス11に資源獲得
成功を通知する(ステップ307)。After that, the resource exclusive control means 25 passes control to the resource acquisition means 22 together with the process ID of the process 11. The resource acquisition means 22 notifies the process 11 of successful resource acquisition (step 307).
【0052】一方、資源排他制御手段25は、ステップ
304で「その「資源獲得状態」が“使用中”である
(“未使用”ではない)」と判定した場合には、その排
他資源(入力資源名によって特定される排他資源)に対
する獲得要求の待ち合わせがあるか否か(その排他資源
を獲得しようと待ち合わせているプロセスに対する資源
待ち合わせ管理テーブル32が資源待ち合わせキューに
キューイングされているか否か)を判定する(ステップ
309)。On the other hand, when the resource exclusion control means 25 determines in step 304 that the "resource acquisition state" is "in use" (not "unused"), the exclusive resource (input Whether there is a wait for an acquisition request for the exclusive resource specified by the resource name (whether the resource wait management table 32 for the process waiting to acquire the exclusive resource is queued in the resource wait queue) Is determined (step 309).
【0053】資源排他制御手段25は、ステップ309
で「獲得要求の待ち合わせがない」と判定した場合に
は、資源獲得手段22にプロセス11のプロセスIDと
ともに制御を渡す。資源獲得手段22は、プロセス11
に資源獲得失敗を通知する(ステップ310)。The resource exclusive control means 25 executes step 309.
When it is determined that there is no waiting for the acquisition request, the control is passed to the resource acquisition unit 22 together with the process ID of the process 11. The resource acquisition means 22 uses the process 11
Is notified of the resource acquisition failure (step 310).
【0054】一方、ステップ309で「獲得要求の待ち
合わせがある」と判定した場合には、その排他資源に対
する資源待ち合わせキューにプロセス11に対する資源
待ち合わせ管理テーブル32を登録する(ステップ31
1)。すなわち、資源待ち合わせ管理テーブル32を獲
得し、その資源待ち合わせ管理テーブル32の「プロセ
スID」にプロセス11を示すプロセスIDを設定し、
排他資源管理テーブル31の登録エントリの「資源待ち
合わせプロセス管理情報」によって管理される資源待ち
合わせキューの最後にその資源待ち合わせ管理テーブル
32をキューイングする。On the other hand, if it is determined in step 309 that there is an acquisition request wait, the resource wait management table 32 for the process 11 is registered in the resource wait queue for the exclusive resource (step 31).
1). That is, the resource waiting management table 32 is acquired, the process ID indicating the process 11 is set in the “process ID” of the resource waiting management table 32,
The resource queuing management table 32 is queued at the end of the resource queuing queue managed by the "resource queuing process management information" of the registration entry of the exclusive resource management table 31.
【0055】第3に、図1および図4を参照して、本実
施例の資源排他制御方式における排他資源の解放に関す
る動作を説明する。Thirdly, with reference to FIG. 1 and FIG. 4, the operation relating to the release of the exclusive resource in the resource exclusive control method of this embodiment will be described.
【0056】プロセス群10中の排他資源の解放を要求
するプロセス(プロセス11とする)は、解放したい排
他資源の資源名を、排他制御装置20内の資源解放手段
23に通知する。The process requesting the release of the exclusive resource (process 11) in the process group 10 notifies the resource releasing means 23 in the exclusive control device 20 of the resource name of the exclusive resource to be released.
【0057】資源解放手段23は、その通知を資源排他
制御手段25に送る。The resource releasing means 23 sends the notification to the resource exclusive control means 25.
【0058】資源排他制御手段25は、プロセス11か
ら通知された資源名(「入力資源名」という)によって
記憶装置30内の排他資源管理テーブル31の「資源
名」を検索し(ステップ401)、入力資源名が排他資
源管理テーブル31に既に登録されたものであるか否か
を判定する(ステップ402)。The resource exclusive control means 25 retrieves the "resource name" of the exclusive resource management table 31 in the storage device 30 by the resource name (called "input resource name") notified from the process 11 (step 401), It is judged whether or not the input resource name is already registered in the exclusive resource management table 31 (step 402).
【0059】資源排他制御手段25は、ステップ402
で「入力資源名が排他資源管理テーブル31に登録され
たものではない」と判定した場合には、資源解放手段2
3にプロセス11(解放要求元のプロセス)のプロセス
IDとともに制御を渡す。資源解放手段23は、プロセ
ス11に資源解放失敗を通知する(ステップ409)。The resource exclusive control means 25 executes step 402.
If it is determined that "the input resource name is not registered in the exclusive resource management table 31", the resource releasing means 2
The control is passed to the process No. 3 together with the process ID of the process 11 (release request source process). The resource releasing means 23 notifies the process 11 of the resource releasing failure (step 409).
【0060】一方、資源排他制御手段25は、ステップ
402で「入力資源名が排他資源管理テーブル31に登
録されたものである」と判定した場合には、排他資源管
理テーブル31の登録エントリ(入力資源名が項目「資
源名」に登録されているエントリ)の「資源獲得状態」
を取得し(ステップ403)、その「資源獲得状態」が
“使用中”であるか否かを判定する(ステップ40
4)。On the other hand, when the resource exclusion control means 25 determines in step 402 that the input resource name is registered in the exclusive resource management table 31, the registration entry (input of the exclusive resource management table 31 "Resource acquisition status" of entry whose resource name is registered in the item "Resource name"
Is acquired (step 403), and it is determined whether or not the “resource acquisition status” is “in use” (step 40).
4).
【0061】資源排他制御手段25は、ステップ404
で「その「資源獲得状態」が“未使用”である(“使用
中”ではない)」と判定した場合には、資源解放手段2
3にプロセス11のプロセスIDとともに制御を渡す。
資源解放手段23は、プロセス11に資源解放失敗を通
知する(ステップ409)。The resource exclusive control means 25 executes step 404.
When it is determined that “the“ resource acquisition state ”is“ unused ”(not“ in use ”)”, the resource releasing means 2
Control is passed to the process 3 together with the process ID of the process 11.
The resource releasing means 23 notifies the process 11 of the resource releasing failure (step 409).
【0062】一方、資源排他制御手段25は、ステップ
404で「その「資源獲得状態」が“使用中”である」
と判定した場合には、プロセス11のプロセスID(解
放要求元のプロセスのプロセスID)と排他資源管理テ
ーブル31の登録エントリの項目「資源獲得プロセスI
D」に設定されているプロセスIDとを比較し、両プロ
セスIDが一致するか否か(解放要求元のプロセスが資
源を獲得したプロセスであるか否か)を判定する(ステ
ップ405)。On the other hand, the resource exclusive control means 25 determines in step 404 that "the" resource acquisition state "is" in use "".
If it is determined that the process ID of the process 11 (process ID of the process of the release request source) and the registration entry item “resource acquisition process I” in the exclusive resource management table 31
It is determined whether or not the two process IDs match (whether or not the release request source process is the process that has acquired the resource) by comparing with the process ID set in "D" (step 405).
【0063】資源排他制御手段25は、ステップ405
で「両プロセスIDが一致しない」と判定した場合に
は、資源解放手段23にその判定結果とともに制御を渡
す。資源解放手段23は、プロセス11に資源解放失敗
を通知する(ステップ409)。The resource exclusive control means 25 executes step 405.
When it is determined that "the two process IDs do not match", the control is passed to the resource releasing means 23 together with the determination result. The resource releasing means 23 notifies the process 11 of the resource releasing failure (step 409).
【0064】一方、資源排他制御手段25は、ステップ
405で「両プロセスIDが一致する」と判定した場合
にも、資源解放手段23にその判定結果とともに制御を
渡す。資源解放手段23は、この場合には、プロセス1
1に資源解放成功を通知する(ステップ406)。On the other hand, when the resource exclusion control means 25 determines in step 405 that "both process IDs match", it also passes control to the resource release means 23 together with the determination result. In this case, the resource releasing means 23 uses the process 1
1 is notified of resource release success (step 406).
【0065】さらに、資源排他制御手段25は、ステッ
プ405で「両プロセスIDが一致する」と判定した場
合には、ステップ406の処理に続いて、排他資源管理
テーブル31の登録エントリの「資源待ち合わせプロセ
ス管理情報」を参照して、当該排他資源(プロセス11
から解放された排他資源)を待ち合わせ中のプロセスが
存在するか否か(当該排他資源に対する資源待ち合わせ
キューに資源待ち合わせ管理テーブル32がキューイン
グされているか否か)を判定する(ステップ407)。Further, when the resource exclusion control means 25 determines in step 405 that "both process IDs match", the process of step 406 is followed by "resource waiting" of the registration entry of the exclusive resource management table 31. Process management information ”, refer to the exclusive resource (process 11
It is determined whether or not there is a process waiting for the exclusive resource released from (whether the resource waiting management table 32 is queued in the resource waiting queue for the exclusive resource) (step 407).
【0066】資源排他制御手段25は、ステップ407
で「当該排他資源を待ち合わせ中のプロセスが存在す
る」と判定した場合には、資源獲得手段22を介して待
ち合わせ中のプロセスに資源獲得成功を通知する(ステ
ップ408)。すなわち、登録エントリの「資源待ち合
わせプロセス管理情報」によって管理される資源待ち合
わせキューの先頭の資源待ち合わせ管理テーブル32の
「プロセスID」を取得し、資源獲得手段22を介して
当該プロセスIDを持つプロセスに資源獲得成功を通知
し、排他資源管理テーブル31の登録エントリの「資源
獲得プロセスID」に当該プロセスIDを設定し、当該
資源待ち合わせキューから当該プロセスに対する資源待
ち合わせ管理テーブル32をデキューする(当該プロセ
スに対する資源待ち合わせ管理テーブル32のネクスト
ポインタに設定されていたアドレスを登録エントリの
「資源待ち合わせプロセス管理情報」に設定する)。The resource exclusive control means 25 executes step 407.
If it is determined that "there is a process waiting for the exclusive resource", the resource acquiring unit 22 is notified of the resource acquisition success to the waiting process (step 408). That is, the “process ID” of the resource queuing management table 32 at the head of the resource queuing queue managed by the “resource queuing process management information” of the registration entry is acquired, and the process having the process ID is acquired via the resource acquisition means 22. The resource acquisition success is notified, the process ID is set in the “resource acquisition process ID” of the registration entry of the exclusive resource management table 31, and the resource queuing management table 32 for the process is dequeued from the resource queuing queue (for the process). The address set in the next pointer of the resource waiting management table 32 is set in the "resource waiting process management information" of the registration entry).
【0067】一方、資源排他制御手段25は、ステップ
407で「当該排他資源を待ち合わせ中のプロセスが存
在しない」と判定した場合には、排他資源管理テーブル
31の登録エントリの「資源獲得状態」を“未使用”に
設定する(ステップ410)。On the other hand, when the resource exclusion control means 25 determines in step 407 that "there is no process waiting for the exclusive resource", it sets the "resource acquisition state" of the registration entry of the exclusive resource management table 31. It is set to "unused" (step 410).
【0068】最後に、図5を参照して、本実施例の資源
排他制御方式の具体的な動作について説明する。Finally, with reference to FIG. 5, a specific operation of the resource exclusive control system of this embodiment will be described.
【0069】ここでは、図5を参照して、プロセスA
(プロセスIDが“100”であるプロセス)およびプ
ロセスB(プロセスIDが“200”であるプロセス)
によって排他資源RSC1(“RSC1”という資源名
を持つ排他資源)に関する排他制御が行われる場合を考
える。この場合には、順次、以下の〜に示す処理が
行われる(以下の〜の番号と図5における〜の
番号とは対応している)。Here, referring to FIG. 5, process A
(Process whose process ID is "100") and Process B (Process whose process ID is "200")
Consider a case where the exclusive control is performed on the exclusive resource RSC1 (exclusive resource having the resource name "RSC1"). In this case, the following processes (1) to (3) are sequentially performed (the following numbers (1) to (4) in FIG. 5 correspond to each other).
【0070】 プロセスAが、ある排他資源に“RS
C1”という資源名をつけて当該排他資源を登録する旨
の登録要求を行う。この登録要求に基づき、排他資源管
理テーブル31の1つのエントリの「資源名」に“RS
C1”が登録され、当該エントリの「資源獲得状態」に
“未使用”が設定される。Process A assigns “RS
A registration request is made to register the exclusive resource with the resource name "C1". Based on this registration request, "RS" is added to the "resource name" of one entry in the exclusive resource management table 31.
"C1" is registered, and "unused" is set in the "resource acquisition state" of the entry.
【0071】 プロセスAが、排他資源RSC1を獲
得する旨の獲得要求を行う。この獲得要求に基づき、排
他資源管理テーブル31の当該エントリ(で「資源
名」に“RSC1”が登録されたエントリ)の「資源獲
得状態」に“使用中”が設定され、当該エントリの「資
源獲得プロセスID」にプロセスAのプロセスIDであ
る“100”が設定される。The process A makes an acquisition request to acquire the exclusive resource RSC1. Based on this acquisition request, "in use" is set in the "resource acquisition state" of the entry (the entry in which "RSC1" is registered in the "resource name") of the exclusive resource management table 31, and the "resource “100”, which is the process ID of the process A, is set in the “acquired process ID”.
【0072】 プロセスBが、排他資源RSC1を獲
得する旨の獲得要求を行う。排他資源管理テーブル31
の当該エントリの「資源獲得状態」が“使用中”である
ため、この獲得要求に基づき、プロセスBは排他資源R
SC1の待ち合わせを行うこととなる。すなわち、プロ
セスBに対する資源待ち合わせ管理テーブル32が獲得
され、プロセスBのプロセスIDである“200”がそ
の資源待ち合わせ管理テーブル32に設定され、当該エ
ントリの「資源待ち合わせプロセス管理情報」にその資
源待ち合わせ管理テーブル32のアドレスが設定され
る。The process B makes an acquisition request to acquire the exclusive resource RSC1. Exclusive resource management table 31
Since the “resource acquisition status” of the relevant entry of “is in use”, the process B receives the exclusive resource R based on this acquisition request.
The meeting of SC1 will be held. That is, the resource queuing management table 32 for the process B is acquired, the process ID “200” of the process B is set in the resource queuing management table 32, and the resource queuing management is set in the “resource queuing process management information” of the entry. The address of the table 32 is set.
【0073】 プロセスAが、排他資源RSC1を解
放する旨の解放要求を行う。このときには、プロセスB
が排他資源RSC1を待ち合わせているため、排他資源
RSC1がプロセスAから解放された後に、プロセスB
に排他資源RSC1の資源獲得成功の通知が行われる。
また、この場合、排他資源管理テーブル31の当該エン
トリの「資源獲得プロセスID」にプロセスBのプロセ
スIDである“200”が設定され、「資源待ち合わせ
プロセス管理情報」に“NULL”が設定される。The process A makes a release request to release the exclusive resource RSC1. At this time, process B
Is waiting for the exclusive resource RSC1, the process B is released after the exclusive resource RSC1 is released from the process A.
Is notified that the resource acquisition of the exclusive resource RSC1 is successful.
Further, in this case, the process ID of the process B, "200", is set in the "resource acquisition process ID" of the entry of the exclusive resource management table 31, and "NULL" is set in the "resource waiting process management information". .
【0074】 プロセスBが、排他資源RSC1を解
放する旨の解放要求を行う。このときには、排他資源R
SC1を待ち合わせているプロセスは存在しないので、
排他資源管理テーブル31の当該エントリの「資源獲得
状態」に“未使用”が設定される。The process B makes a release request to release the exclusive resource RSC1. At this time, the exclusive resource R
Since there is no process waiting for SC1,
“Unused” is set in the “resource acquisition state” of the entry of the exclusive resource management table 31.
【0075】(2) 第2の実施例 図6は、本発明の資源排他制御方式の第2の実施例の構
成を示すブロック図である。(2) Second Embodiment FIG. 6 is a block diagram showing the configuration of the second embodiment of the resource exclusive control system of the present invention.
【0076】本実施例の資源排他制御方式は、第1の実
施例の資源排他制御方式と同様に、プロセス群10と、
排他制御装置20と、記憶装置30と、OS基本部40
とを含んで構成されている。The resource exclusion control system of this embodiment is similar to the resource exclusion control system of the first embodiment in that it includes a process group 10,
Exclusive control device 20, storage device 30, OS basic unit 40
It is comprised including.
【0077】図6を参照すると、本実施例の資源排他制
御方式は、記憶装置30内のプロセス管理テーブル33
に「プロセスID」とともに「排他資源獲得フラグ」を
有する点(その「排他資源獲得フラグ」の存在に起因す
る処理内容の相違点を含む)で、第1の実施例の資源排
他制御方式と異なっている。ここで、あるプロセス管理
テーブル33の「排他資源獲得フラグ」は、当該プロセ
ス管理テーブル33に対するプロセスが排他資源を獲得
中の場合には立てられ、排他資源を獲得中でない場合に
は落とされる。Referring to FIG. 6, the resource exclusive control method of the present embodiment uses the process management table 33 in the storage device 30.
Is different from the resource exclusion control method of the first embodiment in that it has a "process ID" and an "exclusive resource acquisition flag" (including a difference in processing contents due to the existence of the "exclusive resource acquisition flag"). ing. Here, the "exclusive resource acquisition flag" of a certain process management table 33 is set when the process for the process management table 33 is acquiring the exclusive resource, and is cleared when the exclusive resource is not being acquired.
【0078】図7は、本実施例の資源排他制御方式にお
けるプロセス終了時の処理を示す流れ図である。この処
理は、排他資源獲得中判定ステップ701と、資源解放
ステップ702と、待ち合わせプロセス有無判定ステッ
プ703と、資源獲得成功通知ステップ704と、未使
用設定ステップ705とからなる。FIG. 7 is a flow chart showing the processing at the end of the process in the resource exclusive control method of this embodiment. This process includes an exclusive resource acquisition determining step 701, a resource releasing step 702, a waiting process presence / absence determining step 703, a resource acquisition success notifying step 704, and an unused setting step 705.
【0079】図8は、本実施例の資源排他制御方式の具
体的な動作を説明するための図である。FIG. 8 is a diagram for explaining a specific operation of the resource exclusive control method of this embodiment.
【0080】次に、このように構成された本実施例の資
源排他制御方式の動作について説明する。Next, the operation of the resource exclusive control system of this embodiment having the above-mentioned configuration will be described.
【0081】排他資源の登録,獲得,および解放に関す
る動作は、上述の第1の実施例における動作と同様であ
る。The operations relating to the registration, acquisition and release of the exclusive resource are the same as those in the above-mentioned first embodiment.
【0082】ただし、本実施例に特有の動作として、以
下のものがある。However, the following operations are peculiar to this embodiment.
【0083】排他制御装置20内の資源排他制御手段2
5は、プロセス群10中のあるプロセス(プロセス11
とする)による排他資源の獲得時または解放時に、OS
基本部40内のプロセス管理手段41に対してプロセス
11のプロセスIDを通知する。Resource exclusive control means 2 in the exclusive control device 20
5 is a process in the process group 10 (process 11
When the exclusive resource is acquired or released by
The process ID of the process 11 is notified to the process management means 41 in the basic unit 40.
【0084】プロセス管理手段41は、排他資源の獲得
時には、当該プロセス(ここでは、プロセス11)に対
するプロセス管理テーブル33の「排他資源獲得フラ
グ」を立てる(排他資源獲得を示す情報の設定を行
う)。また、排他資源の解放時には、その「排他資源獲
得フラグ」を落とす(排他資源獲得を示す情報の解除を
行う)。When acquiring the exclusive resource, the process management means 41 sets the "exclusive resource acquisition flag" in the process management table 33 for the process (here, the process 11) (sets information indicating acquisition of the exclusive resource). . When releasing the exclusive resource, the “exclusive resource acquisition flag” is cleared (the information indicating acquisition of the exclusive resource is released).
【0085】なお、後述するように、プロセス管理手段
41は、あるプロセスの終了時に当該プロセスに対する
プロセス管理テーブル33の「排他資源獲得フラグ」が
立っている場合には、当該プロセスが排他資源を獲得し
たままであると判断し、資源排他制御手段25にその旨
の通知を行う(これによって、資源排他制御手段25
は、当該プロセスが獲得中の状態になっている排他資源
を検索し、そのような排他資源の解放処理を行う)。As will be described later, if the "exclusive resource acquisition flag" of the process management table 33 for a process at the end of a process is set, the process management unit 41 acquires the exclusive resource. It is determined that the resource exclusion control means 25 remains, and the resource exclusion control means 25 is notified to that effect (thus, the resource exclusion control means 25
Searches for an exclusive resource that the process is in the process of acquiring and releases such exclusive resource).
【0086】次に、図6および図7を参照して、本実施
例に特有の動作である「プロセス終了時の動作」を説明
する。Next, with reference to FIG. 6 and FIG. 7, the “operation at the end of the process” which is an operation peculiar to this embodiment will be described.
【0087】プロセス管理手段41は、プロセス群10
中のあるプロセス(プロセス11とする)の終了時に、
プロセス11に対するプロセス管理テーブル33を参照
し、そのプロセス管理テーブル33の「排他資源獲得フ
ラグ」のチェックを行い、その「排他資源獲得フラグ」
が立っているか否か(プロセス11が排他資源獲得中で
あるか否か)を判定する(ステップ701)。The process management means 41 uses the process group 10
At the end of a process inside (called process 11),
The process management table 33 for the process 11 is referred to, the "exclusive resource acquisition flag" of the process management table 33 is checked, and the "exclusive resource acquisition flag" is checked.
Is set (whether the process 11 is acquiring an exclusive resource) (step 701).
【0088】プロセス管理手段41は、ステップ701
で「その「排他資源獲得フラグ」が立っている」と判定
した場合には、資源排他制御手段25にその旨の通知を
行う。なお、ステップ701で「その「排他資源獲得フ
ラグ」が立っていない」と判定した場合には、処理を終
了する。The process management means 41 uses step 701.
When it is determined that "the" exclusive resource acquisition flag "is set", the resource exclusion control means 25 is notified to that effect. If it is determined in step 701 that "the" exclusive resource acquisition flag "is not set", the process ends.
【0089】通知を受けた資源排他制御手段25は、排
他資源管理テーブル31からプロセス11が獲得してい
る排他資源を検索し(プロセス11のプロセスIDが
「資源獲得プロセスID」に設定されているエントリを
検索する)、当該エントリの「資源獲得プロセスID」
をクリアすることによって、当該排他資源をプロセス1
1から解放する(ステップ702)。Upon receiving the notification, the resource exclusive control means 25 searches the exclusive resource management table 31 for the exclusive resource acquired by the process 11 (the process ID of the process 11 is set to "resource acquisition process ID"). Search for entry), "Resource acquisition process ID" of the entry
Process 1 to clear the exclusive resource by clearing
Release from 1 (step 702).
【0090】次に、資源排他制御手段25は、排他資源
管理テーブル31の当該エントリの「資源待ち合わせプ
ロセス管理情報」を参照して、当該排他資源を待ち合わ
せ中のプロセスが存在するか否か(当該「資源待ち合わ
せプロセス管理情報」で管理されている資源待ち合わせ
キューに資源待ち合わせ管理テーブル32がキューイン
グされているか否か)を判定する(ステップ703)。Next, the resource exclusion control means 25 refers to the "resource waiting process management information" of the relevant entry in the exclusive resource management table 31, and determines whether or not there is a process waiting for the relevant exclusive resource (the relevant resource). It is determined whether the resource queuing management table 32 is queued in the resource queuing queue managed by the "resource queuing process management information" (step 703).
【0091】資源排他制御手段25は、ステップ703
で「当該排他資源を待ち合わせ中のプロセスが存在す
る」と判定した場合には、当該資源待ち合わせキューの
先頭の資源待ち合わせ管理テーブル32の「プロセスI
D」を取得し、資源獲得手段23を介して当該プロセス
IDを持つプロセスに資源獲得成功を通知し、排他資源
管理テーブル31の当該エントリの「資源獲得プロセス
ID」に当該プロセスIDを設定し、資源待ち合わせキ
ューから当該プロセスに対する資源待ち合わせ管理テー
ブル32をデキューする(ステップ704)。The resource exclusive control means 25 executes step 703.
If it is determined that "there is a process waiting for the exclusive resource", the "process I" of the resource waiting management table 32 at the head of the resource waiting queue is determined.
D ”is acquired, the process having the process ID is notified to the process having the process ID via the resource acquiring unit 23, and the process ID is set in the“ resource acquisition process ID ”of the entry of the exclusive resource management table 31. The resource waiting management table 32 for the process is dequeued from the resource waiting queue (step 704).
【0092】一方、資源排他制御手段25は、ステップ
703で「当該排他資源を待ち合わせ中のプロセスが存
在しない」と判定した場合には、排他資源管理テーブル
31の当該エントリの「資源獲得状態」を“未使用”に
設定する(ステップ705)。On the other hand, when the resource exclusion control means 25 determines in step 703 that "there is no process waiting for the exclusive resource", the resource exclusive control unit 25 sets the "resource acquisition state" of the entry in the exclusive resource management table 31. It is set to "unused" (step 705).
【0093】最後に、図8を参照して、本実施例の資源
排他制御方式の具体的な動作について説明する。Finally, with reference to FIG. 8, a specific operation of the resource exclusive control method of this embodiment will be described.
【0094】ここでは、図8を参照して、プロセスAが
排他資源RSC1(資源名が“RSC1”である排他資
源)の登録および獲得を行った後に終了する場合を考え
る。この場合には、順次、以下の〜に示す処理が行
われる(以下の〜の番号と図8における〜の番
号とは対応している)。Here, with reference to FIG. 8, consider a case where the process A terminates after registering and acquiring the exclusive resource RSC1 (exclusive resource whose resource name is "RSC1"). In this case, the following processes (1) to (3) are sequentially performed (the following numbers (1) to (4) in FIG. 8 correspond to each other).
【0095】 プロセスAからの登録要求に基づき、
排他資源管理テーブル31の1つのエントリの「資源
名」に“RSC1”が登録され、当該エントリの「資源
獲得状態」に“未使用”が設定される。Based on the registration request from process A,
"RSC1" is registered in the "resource name" of one entry in the exclusive resource management table 31, and "unused" is set in the "resource acquisition state" of the entry.
【0096】 プロセスAが資源名“RSC1”の排
他資源(排他資源RSC1)を獲得すると、プロセスA
に対するプロセス管理テーブル33の「排他資源獲得フ
ラグ」が立てられる(“1”が設定される)。When the process A acquires the exclusive resource with the resource name “RSC1” (exclusive resource RSC1), the process A
The "exclusive resource acquisition flag" of the process management table 33 is set ("1" is set).
【0097】 その後、プロセスAが排他資源RSC
1を解放せずに終了したものとする。このとき、プロセ
ス管理手段41は、プロセスAに対するプロセス管理テ
ーブル33の「排他資源獲得フラグ」が立っているた
め、資源排他制御手段25にその旨の通知を行う。その
通知を受けた資源排他制御手段25は、プロセスAのプ
ロセスIDにより排他資源管理テーブル31を検索し、
プロセスAが獲得中の排他資源RSC1に対するエント
リを取得し、当該エントリの「資源状態」を“未使用”
に設定する。After that, the process A receives the exclusive resource RSC
It is assumed that the process ends without releasing 1. At this time, since the "exclusive resource acquisition flag" of the process management table 33 for the process A is set, the process management means 41 notifies the resource exclusion control means 25 to that effect. Upon receiving the notification, the resource exclusive control means 25 searches the exclusive resource management table 31 by the process ID of the process A,
The process A acquires the entry for the exclusive resource RSC1 being acquired, and sets the "resource status" of the entry to "unused".
Set to.
【0098】[0098]
【発明の効果】以上説明したように、本発明によると、
以下に示すような効果が生じる。As described above, according to the present invention,
The following effects are produced.
【0099】第1の効果は、あるプロセスが排他資源を
獲得する場合に、当該プロセスに係る利用者が容易に排
他資源を指定できるということである。これにより、排
他資源獲得時の計算機システムの操作性が向上する。The first effect is that when a process acquires an exclusive resource, the user of the process can easily specify the exclusive resource. This improves the operability of the computer system when acquiring exclusive resources.
【0100】このような効果が生じる理由は、排他制御
の対象とする資源(排他資源)に対し、資源登録制御手
段により利用者が任意の資源名を設定することができ、
以後資源排他制御手段の制御により利用者が設定した資
源名で資源の獲得および解放を行うことができるためで
ある。The reason why such an effect occurs is that the user can set an arbitrary resource name by the resource registration control means for the resource (exclusive resource) to be subject to exclusive control,
This is because the resource can be acquired and released with the resource name set by the user thereafter by the control of the resource exclusive control means.
【0101】第2の効果は、請求項2記載の発明によっ
て生じる効果であり、あるプロセスが排他資源を獲得し
たままで終了してもその排他資源を自動的に解放できる
ということである。これにより、排他資源の解放もれが
あっても、「その排他資源が他のプロセスから獲得でき
なくなること」を防ぐことができ、計算機システムの信
頼性が向上する。The second effect is the effect produced by the invention described in claim 2, and is that even if a process terminates while acquiring the exclusive resource, the exclusive resource can be automatically released. As a result, even if the exclusive resource is missed, it is possible to prevent "that exclusive resource cannot be acquired from another process" and improve the reliability of the computer system.
【0102】このような効果が生じる理由は、排他資源
を獲得したまま終了したプロセスをプロセス管理手段が
検知し、資源排他制御手段がそのプロセスからその排他
資源を解放するためである。The reason why such an effect is produced is that the process management means detects a process that has ended while acquiring the exclusive resource, and the resource exclusive control means releases the exclusive resource from the process.
【図1】本発明の資源排他制御方式の第1の実施例の構
成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a first embodiment of a resource exclusive control system of the present invention.
【図2】図1に示す資源排他制御方式における排他資源
の登録処理を示す流れ図である。FIG. 2 is a flowchart showing exclusive resource registration processing in the resource exclusive control method shown in FIG.
【図3】図1に示す資源排他制御方式における排他資源
の獲得処理を示す流れ図である。3 is a flowchart showing an exclusive resource acquisition process in the resource exclusive control system shown in FIG. 1. FIG.
【図4】図1に示す資源排他制御方式における排他資源
の解放処理を示す流れ図である。FIG. 4 is a flowchart showing a process of releasing exclusive resources in the resource exclusive control system shown in FIG.
【図5】図1に示す資源排他制御方式の具体的な動作を
説明するための図である。FIG. 5 is a diagram for explaining a specific operation of the resource exclusive control system shown in FIG.
【図6】本発明の資源排他制御方式の第2の実施例の構
成を示すブロック図である。FIG. 6 is a block diagram showing the configuration of a second embodiment of the resource exclusive control system of the present invention.
【図7】図6に示す資源排他制御方式におけるプロセス
終了時の処理を示す流れ図である。FIG. 7 is a flowchart showing processing at the end of the process in the resource exclusive control method shown in FIG.
【図8】図6に示す資源排他制御方式の具体的な動作を
説明するための図である。FIG. 8 is a diagram for explaining a specific operation of the resource exclusive control method shown in FIG.
10 プロセス群 11 プロセス 20 排他制御装置 21 資源登録手段 22 資源獲得手段 23 資源解放手段 24 資源登録制御手段 25 資源排他制御手段 30 記憶装置 31 排他資源管理テーブル 32 資源待ち合わせ管理テーブル 33 プロセス管理テーブル 40 0S基本部 41 プロセス管理手段 10 process group 11 process 20 exclusive control device 21 resource registration means 22 resource acquisition means 23 resource release means 24 resource registration control means 25 resource exclusive control means 30 storage device 31 exclusive resource management table 32 resource queuing management table 33 process management table 40 0S Basic part 41 Process management means
Claims (3)
であるプロセス群と、 排他資源毎に、排他資源の名前を示す「資源名」,排他
資源の獲得状態を管理する「資源獲得状態」,排他資源
を獲得中のプロセスのプロセスIDを示す「資源獲得プ
ロセスID」,および排他資源を待ち合わせているプロ
セスを管理する「資源待ち合わせプロセス管理情報」を
有する記憶装置内の排他資源管理テーブルと、 生成されたプロセスのプロセスIDを記憶する記憶装置
内のプロセス管理テーブルと、 前記プロセス群中のプロセスから任意の資源名が指定さ
れて通知される排他資源の登録要求を受け付け、当該プ
ロセスにその登録要求に対する資源登録成功通知/資源
登録失敗通知を返却する資源登録手段と、 前記資源登録手段からの通知により前記排他資源管理テ
ーブルにアクセスし登録要求に係る排他資源の資源名を
前記排他資源管理テーブルに登録する資源登録制御手段
と、 前記資源登録制御手段によって登録された資源名が指定
されて前記プロセス群中のプロセスから通知された排他
資源の獲得要求を受け付け、当該プロセスにその獲得要
求に対する資源獲得成功通知/資源獲得失敗通知を返却
する資源獲得手段と、 前記資源登録制御手段によって登録された資源名が指定
されて前記プロセス群中のプロセスから通知された排他
資源の解放要求を受け付け、当該プロセスにその解放要
求に対する資源解放成功通知/資源解放失敗通知を返却
する資源解放手段と、 前記資源獲得手段および前記資源解放手段からの通知に
より前記排他資源管理テーブルにアクセスし、指定され
た資源名を持つ排他資源に対する排他制御を実現する資
源排他制御手段と、 プロセスの生成時に当該プロセスに対する前記プロセス
管理テーブルを作成し、前記プロセス管理テーブルによ
ってプロセスの管理を行うプロセス管理手段とを有する
ことを特徴とする資源排他制御方式。1. A process group that is a set of processes that exclusively use resources, a "resource name" indicating the name of the exclusive resource, and a "resource acquisition state" that manages the acquisition state of the exclusive resource for each exclusive resource. An exclusive resource management table in a storage device having a "resource acquisition process ID" indicating a process ID of a process acquiring an exclusive resource, and "resource waiting process management information" for managing a process waiting for an exclusive resource; A process management table in a storage device that stores the process ID of the generated process, and a registration request for an exclusive resource that is notified by specifying an arbitrary resource name from a process in the process group, and registers the process in the process. Resource registration means for returning a resource registration success notification / resource registration failure notification in response to the request; A resource registration control unit that accesses the other resource management table and registers the resource name of the exclusive resource related to the registration request in the exclusive resource management table; and the resource name registered by the resource registration control unit is designated in the process group. The resource acquisition means for receiving the exclusive resource acquisition request notified from the process, and returning the resource acquisition success notification / resource acquisition failure notification to the acquisition request to the process, and the resource name registered by the resource registration control means. A resource releasing unit that receives an exclusive resource release request notified from a process in the specified process group and returns a resource release success notification / resource release failure notification in response to the release request to the process, the resource acquisition unit, and The exclusive resource management table is accessed by the notification from the resource releasing means, and the specified resource name And a process management unit that creates a process management table for the process when the process is created and manages the process by the process management table. Resource exclusion control method.
グを記憶する前記プロセス管理テーブルと、 排他資源の獲得時に前記資源排他制御手段からの通知に
基づいて獲得を行ったプロセスに対する前記プロセス管
理テーブルの排他資源獲得フラグを立て、排他資源の解
放時に前記資源排他制御手段からの通知に基づいて解放
を行ったプロセスに対する前記プロセス管理テーブルの
排他資源獲得フラグを落とし、あるプロセスの終了時に
当該プロセスに対する前記プロセス管理テーブルの排他
資源獲得フラグが立っている場合に前記資源排他制御手
段に当該プロセスのプロセスIDを通知する前記プロセ
ス管理手段と、 あるプロセスの終了時における前記プロセス管理手段か
らのプロセスIDの通知に基づいて当該プロセスが獲得
している排他資源を前記排他資源管理テーブルから検索
して当該プロセスが獲得したままになっている排他資源
を解放するための制御を行う前記資源排他制御手段とを
有することを特徴とする請求項1記載の資源排他制御方
式。2. A process management table for storing an exclusive resource acquisition flag for a process ID, and an exclusive resource of the process management table for a process acquired on the basis of a notification from the resource exclusion control means at the time of acquisition of an exclusive resource. The acquisition flag is set, the exclusive resource acquisition flag of the process management table for the process that has released the exclusive resource based on the notification from the resource exclusion control means is cleared, and the process management for the process is completed when a certain process ends. Based on the process management means for notifying the resource exclusion control means of the process ID of the process when the exclusive resource acquisition flag in the table is set, and the notification of the process ID from the process management means at the end of a certain process Exclusive acquired by the process 2. The resource exclusion control means for performing control for retrieving a resource from the exclusive resource management table and releasing the exclusive resource that has been acquired by the process. Exclusive control method.
IDを記憶しネクストポインタにより資源待ち合わせキ
ューにおける次の資源待ち合わせ管理テーブルのアドレ
スを記憶する前記資源待ち合わせ管理テーブルと、 各排他資源について、「当該排他資源に対する資源待ち
合わせキューの先頭の前記資源待ち合わせ管理テーブル
のアドレス」および「当該資源待ち合わせキューを形成
する前記資源待ち合わせ管理テーブルが存在しない旨」
のいずれかを有する「資源待ち合わせプロセス管理情
報」を持つ前記排他資源管理テーブルとを有することを
特徴とする請求項1または請求項2記載の資源排他制御
方式。3. The resource queuing management table that stores the process ID of the process in the process of resource queuing, and the address of the next resource queuing management table in the resource queuing queue by the next pointer, and Address of the resource queuing management table at the head of the resource queuing queue "and" the fact that the resource queuing management table forming the resource queuing queue does not exist "
3. The resource exclusion control method according to claim 1 or 2, further comprising: the exclusive resource management table having "resource queuing process management information" having any of the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8170659A JPH09330240A (en) | 1996-06-10 | 1996-06-10 | Exclusive resource control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8170659A JPH09330240A (en) | 1996-06-10 | 1996-06-10 | Exclusive resource control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09330240A true JPH09330240A (en) | 1997-12-22 |
Family
ID=15908995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8170659A Pending JPH09330240A (en) | 1996-06-10 | 1996-06-10 | Exclusive resource control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09330240A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179190A (en) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | Semaphore management method and semaphore management program |
JP2009146051A (en) * | 2007-12-12 | 2009-07-02 | Mitsubishi Electric Corp | Facility management device, facility equipment network system, data access control method, communication traffic control method, data access control program, and communication traffic control program |
JP2009193362A (en) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | Information processing system, and file exclusive control method between jobs |
JP2017534994A (en) * | 2014-11-18 | 2017-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method, system, and computer program for managing exclusive control of shareable resources between multiple concurrently executing threads |
-
1996
- 1996-06-10 JP JP8170659A patent/JPH09330240A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179190A (en) * | 2005-12-27 | 2007-07-12 | Mitsubishi Electric Corp | Semaphore management method and semaphore management program |
JP2009146051A (en) * | 2007-12-12 | 2009-07-02 | Mitsubishi Electric Corp | Facility management device, facility equipment network system, data access control method, communication traffic control method, data access control program, and communication traffic control program |
JP2009193362A (en) * | 2008-02-14 | 2009-08-27 | Hitachi Ltd | Information processing system, and file exclusive control method between jobs |
JP2017534994A (en) * | 2014-11-18 | 2017-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method, system, and computer program for managing exclusive control of shareable resources between multiple concurrently executing threads |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8181183B2 (en) | Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations | |
US5956712A (en) | Byte range locking in a distributed environment | |
US7328213B2 (en) | Transaction processing method, transaction control apparatus and program thereof | |
US6189007B1 (en) | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment | |
JPH01298440A (en) | Exclusion control system | |
US20080201712A1 (en) | Method and System for Concurrent Message Processing | |
US5377351A (en) | Device for controlling multiple transactions contending concurrently for the same resource in a distributed database system | |
US6185650B1 (en) | High performance locking facility | |
US6253274B1 (en) | Apparatus for a high performance locking facility | |
US6807540B2 (en) | System and method for deadlock management in database systems with demultiplexed connections | |
JPH11345131A (en) | Method and device for reporting task ends | |
JP2006338197A (en) | Transaction control program, transaction control method, and transaction processing system | |
US6799172B2 (en) | Method and system for removal of resource manager affinity during restart in a transaction processing system | |
JPH09330240A (en) | Exclusive resource control system | |
JP2001005614A (en) | Disk device and server device | |
JPH0981438A (en) | Automatic exclusive control system in client server system | |
JP3524270B2 (en) | Parallel processing system | |
JP2001134476A (en) | Method for updating data base in a batch | |
JPH07141243A (en) | Lock management device | |
JPS63196956A (en) | File exclusion system | |
JPH04282733A (en) | Method for managing data base | |
JPH05113891A (en) | Pseudo semaphore system | |
JPH07129452A (en) | Exclusive control system | |
JPH05100984A (en) | Machine resource management system | |
JPH06161788A (en) | Multitask system |