JPH1049386A - 資源排他方式 - Google Patents

資源排他方式

Info

Publication number
JPH1049386A
JPH1049386A JP8204596A JP20459696A JPH1049386A JP H1049386 A JPH1049386 A JP H1049386A JP 8204596 A JP8204596 A JP 8204596A JP 20459696 A JP20459696 A JP 20459696A JP H1049386 A JPH1049386 A JP H1049386A
Authority
JP
Japan
Prior art keywords
resource
queue
identifier
exclusion
exclusive
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
Application number
JP8204596A
Other languages
English (en)
Inventor
Kazuki Ono
一樹 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8204596A priority Critical patent/JPH1049386A/ja
Publication of JPH1049386A publication Critical patent/JPH1049386A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 排他制御に必要な一連の処理を各プロセスに
分散させ、排他制御処理プロセスでのボトルネックをな
くして、プロセスの多重度が増加しても、スループット
の低下を招くことがない資源排他方式を提供する。 【解決手段】 資源名と排他待ち行列とを有する排他制
御管理テーブル12に対して、資源11を確保しようと
するプロセス13a,13bが、それぞれ、参照・更新
を行うようにする。各プロセスは、資源確保を要求する
場合、排他待ち行列にプロセス識別子が登録されていれ
ば、その最後尾に自プロセスの識別子を登録する。排他
待ち行列にプロセス識別子が登録されていなければ、そ
の先頭に自プロセスの識別子を登録し、資源を確保す
る。資源を解放する場合、各プロセスは、排他待ち行列
に登録された自プロセスの識別子を削除する。この際、
排他待ち行列に他のプロセスの識別子が登録されている
場合は、資源排他完了を通知する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、資源排他方式に関
し、特にコンピュータシステムにおいて複数のプロセス
間での資源排他管理を行う資源排他方式に関する。
【0002】
【従来の技術】従来、複数のプロセス間における資源の
排他処理を行う資源排他方式では、排他制御処理を行う
プロセスが、資源を要求したプロセスからの「排他要求
受付」、「排他管理テーブルへの排他情報の登録」、
「資源を要求したプロセスから資源が解放されるまでの
資源のロック」、「資源解放要求受付」、「資源解放時
の排他管理テーブルからの排他情報の削除」、「資源解
放時のロック解除通知」の全ての処理を行っている。こ
の種の資源排他方式としては、例えば、特開平5−11
3891号公報や、特開平5−20269号公報等に、
様々な方法が提案されている。
【0003】
【発明が解決しようとする課題】第1の問題点は、資源
の排他処理を行う排他制御処理プロセスが、システム全
体のボトルネックとなっていることである。
【0004】その理由は、排他制御処理を行うプロセス
が、資源を要求する他のプロセス全てに対して排他制御
を行う必要があるからである。つまり、排他制御処理を
行うプロセスは、「排他要求受付」、「排他管理テーブ
ルへの排他情報の登録」、「資源を要求したプロセスか
ら資源が解放されるまでの資源のロック」、「資源解放
要求受付」、「資源解放時の排他管理テーブルからの排
他情報の削除」、「資源解放時のロック解除通知」等の
一連の排他制御処理を、資源を要求する他のプロセスの
それぞれについて行わなければならず、排他制御を必要
とするプロセスの数が増加するにしたがって、排他制御
処理プロセスのオーバヘッドが増大し、その結果、シス
テム処理のボトルネックとなって、全プロセス(システ
ム全体)のスループット低下を招くからである。
【0005】本発明は、排他制御に必要な一連の処理を
各プロセスに分散させ、排他制御処理プロセスでのボト
ルネックをなくして、プロセスの多重度が増加しても、
スループットの低下を招くことがない資源排他方式を提
供することを目的とする。
【0006】
【課題を解決するための手段】本発明によれば、複数の
プロセスが確保を要求し得る資源を、前記複数のプロセ
スの1つに占有させる資源排他方式において、前記資源
の名称と、該資源の名称に対応する排他待ち行列とを有
する排他制御管理テーブルに対し、前記複数のプロセス
がそれぞれ参照・更新を行うようにしたことを特徴とす
る資源排他方式がえられる。
【0007】ここで、前記複数のプロセスは、それぞ
れ、前記資源を確保しようとするタイミングで、前記排
他制御管理テーブルを参照し、前記排他待ち行列に前記
複数のプロセスに付与された識別子のいずれかが登録さ
れている場合は、自プロセスの識別子を前記資源待ち行
列の最後尾に登録して資源待ちを行い、前記排他待ち行
列に前記識別子が登録されていない場合は、当該資源待
ち行列の先頭に自プロセスの識別子を登録して前記資源
を確保する。
【0008】また、前記複数のプロセスは、それぞれ、
確保した資源を解放しようとするタイミングで、前記資
源待ち行列に登録した自プロセスの識別子を削除して当
該資源を解放し、解放した資源に対応する前記資源待ち
行列項目に識別子が登録されている場合に、該識別子に
対応するプロセスに対して資源の解放を通知する。
【0009】
【作用】排他制御管理テーブルは、排他対象とする資源
の資源名とそれに対応する排他待ち行列を有する。プロ
セスは、資源を確保するために、排他制御管理テーブル
を参照し、自プロセスが確保しようとしている資源に対
して他のプロセスの識別子が登録されていないことを判
別して、自プロセスの識別子を排他制御管理テーブルの
待ち行列へ登録して資源の確保を行う。
【0010】確保の対象である資源の排他待ち行列に、
自プロセス以外の識別子が登録されている場合には、待
ち行列の最後尾に自プロセスの識別子を登録して排他待
ちとする。
【0011】資源解放処理を行う場合は、排他制御管理
テーブル上の対象資源の排他待ち行列から自プロセスの
識別子を削除する。このとき、排他待ち行列に他のプロ
セスの識別子が登録されている場合には、そのプロセス
に対して排他完了の通知を行う。
【0012】
【発明の実施の形態】以下に図面を参照して本発明の実
施の形態について説明する。
【0013】図1に本発明の資源排他方式の第1の実施
の形態を示す。この資源排他方式は、資源11を特定す
るための資源名と、各資源11に対応する待ち行列と、
を有する排他制御管理テーブル12と、排他制御管理テ
ーブル12に対してそれぞれ参照・更新を行うことがで
きるプロセス13a,13bとを含む。なお、排他制御
管理テーブル12は、高速アクセス可能な装置上に作成
されることが望ましい。
【0014】以下、図2及び図3をも参照して図1の資
源排他方式の動作を説明する。
【0015】まず、図2を参照して、資源確保時の処理
について説明する。ここでは、排他制御管理テーブル1
2に、資源11の資源名として「資源A」が登録されて
おり、資源Aに対応する待ち行列には、識別子が全く登
録されていないとする。このような状況において、プロ
セス13aが、資源11を確保しようとする場合、プロ
セス13aは、まず、ステップS21において、排他制
御管理テーブル12を参照する。そして、ステップS2
2において、対象資源(この場合資源A)の排他待ち行
列上に識別子が登録されていないと判定する。そして、
プロセス13aは、ステップS23Bにおいて、自プロ
セスのプロセス識別子「プロセスA」を対象資源の排他
待ち行列の先頭(プロセス識別子1)に登録して、対象
資源11を確保する。
【0016】この後、プロセス13bが、資源11を確
保しようとする場合は、ステップS22において、対象
資源11の排他待ち行列上にプロセス識別子が登録され
ていると判定されるので、ステップS23Aにおいて、
対象資源11の排他待ち行列の最後尾(この場合、プロ
セス識別子2)に自プロセスのプロセス識別子「プロセ
スB」を登録する。そして、プロセス13bは、ステッ
プS24で、排他待ち状態に遷移して、対象資源11を
確保しているプロセス13aからの資源排他完了通知を
待つ。
【0017】次に、図3を参照して、資源解放時の処理
について説明する。ここで、排他制御管理テーブル12
は、図1の状態、即ち、プロセス13aが資源11を確
保しており、プロセス13bが排他待ちの状態にあると
する。
【0018】まず、プロセス13aは、ステップS31
の排他制御管理テーブル12の、確保していた資源11
の排他待ち行列を参照する。そして、ステップS32に
おいて、対象資源の排他待ち行列上に待ちのプロセス識
別子が登録されているか判断する。図1の場合、プロセ
ス13bのプロセス識別子が登録されているので、ステ
ップS33Aで、自プロセスのプロセス識別子を削除し
て、待ち状態にあるプロセス識別子を先頭の方へ1段ス
ライドさせる。この結果、プロセス識別子「プロセス
B」は、プロセス識別子1の欄に登録させる。そして、
プロセス13aは、排他待ち行列の先頭に登録されてい
るプロセス識別子に対応するプロセス13bに対して、
資源排他完了通知を発行する。そして、資源排他完了通
知を受け取ったプロセス13bは、資源11を確保す
る。
【0019】このあと、プロセス13bが、資源11を
解放する場合には、ステップS32において、対象資源
の排他待ち行列上に待ちのプロセス識別子が登録されて
いないと判断されるので、ステップS33Bにおいて、
自プロセスのプロセス識別子を削除して、資源解放処理
を終える。
【0020】次に、図4及び図5を参照して本発明の第
2の実施の形態について説明する。本実施の形態におい
ては、排他制御管理テーブルには待ち行列が形成されて
おらず、各プロセスが、必要に応じて、排他制御管理テ
ーブルに待ち行列を作成する。
【0021】資源確保時の処理は、図4に示すように、
資源を確保しようとするプロセスが、まず、ステップS
41において、排他制御管理テーブルを参照する。そし
てそのプロセスは、ステップS42において、排他制御
管理テーブルに、対象資源の排他待ち行列が作成されて
いるか判定する。排他制御管理テーブルに、対象資源の
排他待ち行列が作成されている場合は、対象資源が他の
プロセスに確保されているので(排他中なので)、ステ
ップS43Aにおいて、対象資源の排他待ち行列の最後
尾に自プロセスのプロセス識別子を登録する。それか
ら、そのプロセスは、ステップS44で、排他待ち状態
に遷移して、対象資源を確保している先行プロセスから
の資源排他完了通知を待つ。
【0022】ステップS42において、排他制御管理テ
ーブルに、対象資源の排他待ち行列が作成されていない
場合は、そのプロセスは、対象資源の排他が可能(確保
が可能)なので、ステップS43Bで、対象資源の排他
待ち行列を作成し、その先頭に自プロセスのプロセス識
別子を登録する。これにより、そのプロセスは、対象資
源を確保する。
【0023】次に、図5を参照して、資源解放時の処理
について説明する。まず、資源解放を行うプロセスは、
ステップS51で、自プロセスが確保していた資源の排
他待ち行列を参照する。そして、ステップS52で、対
象資源の排他待ち行列上に他のプロセス識別子が、登録
されているか判断する。対象資源の排他待ち行列上に他
のプロセス識別子が登録されている場合、対象資源の排
他待ちプロセスが存在するので、ステップS53Aで、
対象資源の排他待ち行列から自プロセスのプロセス識別
子を削除して、ステップS54で、対象資源の排他待ち
行列上の他のプロセス識別子を1段先頭側へスライドさ
せる。そして、その対象資源の排他待ち行列の先頭に位
置する他のプロセス識別子に対応するプロセスに対して
資源排他完了通知を発行する。これにより、排他待ちを
行っていたプロセスは、資源の使用が可能となる。
【0024】ステップS52で、対象資源の排他待ち行
列上に他のプロセス識別子が登録されていない場合は、
対象資源の排他待ちを行っているプロセスが存在しない
ので、自プロセスのプロセス識別子を削除するととも
に、排他制御管理テーブル上の、解放使用とする資源の
排他待ち行列を削除する。
【0025】
【発明の効果】第1の効果は、プロセス多重度が増加し
た場合であっても、排他制御処理プロセスのボトルネッ
クによるスループットの低下を回避することができる。
【0026】その理由は、「排他要求受付」、「排他管
理テーブルへの排他情報の登録」、「資源を要求したプ
ロセスから資源が解放されるまでの資源のロック」、
「資源解放要求受付」、「資源解放時の排他管理テーブ
ルからの排他情報の削除」、「資源解放時のロック解除
通知」等の一連の排他制御処理を、資源を使用する各プ
ロセスに分散実行させるようにしたからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図で
ある。
【図2】図1の資源排他方式の資源確保処理を説明する
ためのフローチャートである。
【図3】図1の資源排他方式の資源解放処理を説明する
ためのフローチャートである。
【図4】本発明の第2の実施の形態の資源確保処理を説
明するためのフローチャートである。
【図5】本発明の第2の実施の形態の資源解放処理を説
明するためのフローチャートである。
【符号の説明】
11 資源 12 排他制御管理テーブル 13a,13b プロセス

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスが確保を要求し得る資源
    を、前記複数のプロセスの1つに占有させる資源排他方
    式において、前記資源の名称と、該資源の名称に対応す
    る排他待ち行列とを有する排他制御管理テーブルに対
    し、前記複数のプロセスがそれぞれ参照・更新を行うよ
    うにしたことを特徴とする資源排他方式。
  2. 【請求項2】 前記複数のプロセスは、それぞれ、前記
    資源を確保しようとするタイミングで、前記排他制御管
    理テーブルを参照し、前記排他待ち行列に前記複数のプ
    ロセスに付与された識別子のいずれかが登録されている
    場合は、自プロセスの識別子を前記資源待ち行列の最後
    尾に登録して資源待ちを行い、前記排他待ち行列に前記
    識別子が登録されていない場合は、当該資源待ち行列の
    先頭に自プロセスの識別子を登録して前記資源を確保す
    ることを特徴とする請求項1の資源排他方式。
  3. 【請求項3】 前記複数のプロセスは、それぞれ、確保
    した資源を解放しようとするタイミングで、前記資源待
    ち行列に登録した自プロセスの識別子を削除して当該資
    源を解放し、解放した資源に対応する前記資源待ち行列
    項目に識別子が登録されている場合に、該識別子に対応
    するプロセスに対して資源の解放を通知することを特徴
    とする請求項2の資源排他方式。
  4. 【請求項4】 前記排他制御管理テーブルの前記排他待
    ち行列が、前記複数のプロセスによって、作成され削除
    されることを特徴とする請求項1、2、または3の資源
    排他方式。
JP8204596A 1996-08-02 1996-08-02 資源排他方式 Pending JPH1049386A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8204596A JPH1049386A (ja) 1996-08-02 1996-08-02 資源排他方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8204596A JPH1049386A (ja) 1996-08-02 1996-08-02 資源排他方式

Publications (1)

Publication Number Publication Date
JPH1049386A true JPH1049386A (ja) 1998-02-20

Family

ID=16493090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8204596A Pending JPH1049386A (ja) 1996-08-02 1996-08-02 資源排他方式

Country Status (1)

Country Link
JP (1) JPH1049386A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007047866A (ja) * 2005-08-05 2007-02-22 Mitsubishi Electric Corp リアルタイム組込み簡易モニタプログラム
US7284061B2 (en) 2001-11-13 2007-10-16 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284061B2 (en) 2001-11-13 2007-10-16 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a device
JP2007047866A (ja) * 2005-08-05 2007-02-22 Mitsubishi Electric Corp リアルタイム組込み簡易モニタプログラム
US7472214B2 (en) 2005-08-05 2008-12-30 Mitsubishi Denki Kabushiki Kaisha Real-time embedded simple monitor method and computer product

Similar Documents

Publication Publication Date Title
US7100161B2 (en) Method and apparatus for resource access synchronization
JPS61233849A (ja) デ−タベ−ス排他制御方法
JPH01298440A (ja) 計算機システムおよびそのタスクスケジュール方法
JPH10283243A (ja) データベース管理システム
US6185650B1 (en) High performance locking facility
US6253274B1 (en) Apparatus for a high performance locking facility
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
JPH1049386A (ja) 資源排他方式
CN110430258B (zh) 一种分布式锁管理方法和装置
JP2005509944A (ja) 大きなデータ構造のエントリロック
JP2001337822A (ja) 命令バッファ及びバッファキュー制御
JPH1049388A (ja) 入出力制御装置
JP2518134B2 (ja) 共有資源排他制御方式
US7234142B1 (en) Task processing system
JPH02112030A (ja) 排他制御方式
JPH06161872A (ja) タスク間排他制御方法
JPH04262425A (ja) 共有資源排他制御方式
JPH0478932A (ja) 共有資源排他制御方式
JPH04270423A (ja) テーブルエレメントの排他制御方式
JP2910176B2 (ja) 要求受付処理装置
JPH09330239A (ja) 排他制御方法
JP2000207229A (ja) 資源占有の管理方式
JPH04223533A (ja) 共有資源排他制御システム
JPH03257568A (ja) 共有資源排他制御方式
JPH05165793A (ja) 計算機システムにおける資源の排他制御方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990616