JPH04223533A - 共有資源排他制御システム - Google Patents

共有資源排他制御システム

Info

Publication number
JPH04223533A
JPH04223533A JP41422690A JP41422690A JPH04223533A JP H04223533 A JPH04223533 A JP H04223533A JP 41422690 A JP41422690 A JP 41422690A JP 41422690 A JP41422690 A JP 41422690A JP H04223533 A JPH04223533 A JP H04223533A
Authority
JP
Japan
Prior art keywords
task
swap
lock
request
waiting
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
JP41422690A
Other languages
English (en)
Inventor
Yoshinao Suzuki
鈴木 善尚
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 JP41422690A priority Critical patent/JPH04223533A/ja
Publication of JPH04223533A publication Critical patent/JPH04223533A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は共有資源排他制御システムに関し
、特にコンピュータシステムにおける共有資源の使用を
排他的に制御する方式に関する。
【0002】
【従来技術】コンピュータシステムにおける複数のタス
クが使用する共有資源へのアクセスを逐次化するために
排他制御が必要とされる。このような排他制御のため、
コンピュータシステムには、ロック/アンロックまたは
ENQ/DEQとよばれる基本機能が備えられている。 なおロック動作を要求するロック要求には通常、排他モ
ードと共有モードの2種類がある。
【0003】排他制御の基本的動作は以下のようなもの
である。あるタスクがロック要求を出力し、かつロック
要求対象資源が他のタスクによりロックされていないな
らば、ロック要求を出力したタスクにロック権が付与さ
れる。しかし、他のタスクによりロック要求対象資源が
すでにロックされており、その資源のロックモード、ま
たは該タスクのロック要求のモードが排他モードの時ロ
ック待ちとなる。ロック要求対象資源のロックモードと
該タスクのロック要求のモードがともに共有モードの時
は、該タスクにロック権が付与される。
【0004】また、資源をロックしていたタスクによる
アンロック要求に応答して該タスクのロック権の行使が
終了する。
【0005】いま、他にロックしているタスクがなく、
かつ複数のロック待ちタスクがある場合を想定する。複
数のロック待ちタスクのうち、最先のロック要求タスク
の要求モードが排他モードならば、このロック要求タス
クのみにロック権が付与される。最先のロック要求タス
クの要求モードが共有モードならば、現在共有モードで
ロック待ちしているタスクすべてにロック権が付与され
る。このようなロック/アンロック処理に際して、タス
クの主記憶域から補助記憶への書出し、すなわちタスク
のスワップアウトに関する考慮はされていなかった。
【0006】すなわち、このような共有資源排他制御方
式のアンロック要求処理において、ロック待ちタスクに
ロック権が付与される際、該タスクがスワップアウトさ
れていた場合にも無条件にロック権が付与される。この
ため、該タスクの資源を使用した本来の処理の前に、入
出力処理をともなうスワップイン処理が行なわれ、他の
ロック待ちタスクの待ち時間を増加させたり、資源の使
用効率を低下させたりするという欠点がある。
【0007】
【発明の目的】本発明の目的は、上述の欠点を除去し、
後続のロック待ちタスクのロック待ち時間を減少させる
とともに共有資源の使用効率を向上させるようにした共
有資源排他制御システムを提供することにある。
【0008】
【発明の構成】本発明による共有資源排他制御システム
は、タスクのスワップイン完了通知に応答して該タスク
が資源をロック待ちしておりかつすぐにロック可能な状
態にある場合、該タスクにロック権を付与するスワップ
イン時ロック手段と、指定タスクのスワップイン要求に
応答して該タスクをスワップインしたあと前記スワップ
イン時ロック手段にスワップイン完了を通知するスワッ
プイン管理手段と、アンロック後、ロック待ちタスクの
スワップアウト状態をチェックし最初に見っかったスワ
ップアウト状態にないロック待ちタスクにロック権を付
与し、該タスクを見つけるまでにスワップアウト状態に
あることを検出したロック待ちタスクのスワップインを
前記スワップ管理手段に要求するアンロック要求処理手
段とを含むことを特徴とする。
【0009】
【実施例】本発明の一実施例について図面を参照して詳
細に説明する。
【0010】図1を参照すると、本発明の一実施例は、
共有資源使用タスク4からのロック要求を処理するロッ
ク要求処理手段1、共有資源使用タスク4からのアンロ
ック要求を処理するアンロック要求処理手段2、タスク
のスワップ完了通知に応答して該タスクが資源をロック
待ちしておりかつすぐにロック可能な状態にあるとき該
タスクにロック権を付与するスワップイン時ロック手段
3、スワップイン要求に応答したスワップイン動作完了
後該スワップイン時ロック手段3を呼出すスワップ管理
手段5およびこのスワップ管理手段4への要求待ち行列
6を含む。
【0011】アンロック要求処理手段2はアンロック要
求タスクのロック解除後、ロック待ちタスクの状態を要
求順にチェックし、最初にみつけたスワップアウトされ
ていないロック待ちタスクにロック権を付与する。ただ
し、該ロック権を付与するタスクが共有モードで要求す
る場合、共有モードのロック待ちタスクすべてにロック
権が付与される。
【0012】また、最初のスワップアウトされていない
ロック待ちタスクをみつけるまでにスワップアウト状態
を検出した各タスクに対するスワップイン要求が要求待
ち行列6にキューイングされる。もし、ロック待ちタス
クがすべてスワップアウトされている場合は、どのロッ
ク待ちタスクにもロック権は付与されず、すべてのロッ
ク待ちタスクに対するスワップイン要求が要求待ち行列
6にキューイングされる。
【0013】スワップ管理手段5は要求待ち行列6から
1つずつ要求を取出す。指定タスクがスワップアウトさ
れている場合、スワップ管理手段5は該タスクのスワッ
プインを行う。その後、該タスクがすぐにロック可能な
らばロック権を付与するため、管理手段5はスワップイ
ン時ロック手段3を呼出す。指定タスクがスワップアウ
トされていない場合、管理手段5は要求を無視する。
【0014】スワップイン時ロック手段3は、スワップ
管理手段5から呼出され、資源がロックされていない場
合、または資源のロックモードおよび指定タスクのロッ
ク要求モードがともに共有モードの場合、指定タスクに
ロック権を付与し、スワップ管理手段5に戻る。それ以
外の場合、スワップイン時ロック手段3は何も行わず、
スワップ管理手段5に戻る。
【0015】次に本発明の一実施例の動作について第2
図を参照して詳細に説明する。
【0016】図2には、5つのタスクA〜Eが資源Rに
対してロックおよびアンロックの要求を順次行う状況が
示されている。なお、ここでのロック要求はすべて排他
モードでの要求であると仮定する。また、最初、資源R
はロックされていない状態にあるものとする。
【0017】時刻T1 〜T3 で、タスクA〜Eによ
る資源Rに対するタスクA〜Eの順でのロック要求に応
答して、ロック要求処理手段1は最初に要求を出したタ
スクAにロック権を付与する。資源RがすでにタスクA
によってロックされるため、タスクB〜Eはロック待ち
となる。
【0018】時刻T2 でメモリ負荷の上昇などの理由
によりタスクBがスワップアウトされたあと、時刻T4
 でタスクAによるアンロック要求に応答して、アンロ
ック要求処理手段2はタスクAによるロックを解除する
。次にロック待ちタスクB〜Eの状態が要求順にチェッ
クされる。これらタスク内で最初に要求したタスクBは
スワップアウトされているため、該タスクに対するスワ
ップイン要求が要求待ち行列6にキューイングされる。 タスクBに次いで要求を出したタスクCはスワップアウ
トされていないので、該タスクにロック権が付与される
【0019】タスクBのスワップイン要求に応答して、
スワップ管理手段5は、タスクBをスワップインしたあ
と、スワップイン時ロック手段3を呼出す。資源はロッ
ク中であるため、スワップイン時ロック手段3では、タ
スクBのロック待ちを継続し、スワップ管理手段5に制
御を戻す(時刻T6 )。すなわち、タスクBのスワッ
プインのみが行われる。
【0020】時刻T7 でタスクCによるアンロック要
求に応答して、アンロック要求処理手段2は、タスクC
によるロックを解除する。次にロック待ちタスクB、D
およびEの状態が要求順にチェックされる。これらタス
ク内で最初に要求したタスクBは、この時すでにスワッ
プインされているので、タスクBにロック権が付与され
る。
【0021】時刻T8 でタスクBからのアンロック要
求に応答して、アンロック要求処理手段2は、タスクB
によるロックを解除する。次にロック待ちタスクDおよ
びEの状態が要求順にチェックされる。これらタスク内
で最初に要求したタスクCは、時刻T5 以後スワップ
アウトされているため、タスクCに対するスワップイン
要求が要求待ち行列6にキューイングされる。タスクD
に次いで要求を出したタスクEはスワップアウトされて
いないので、該タスクにロック権を付与する。
【0022】この後、時刻T9 は、スワップ管理手段
5でタスクDのスワップインが行われる前である。この
時刻T9 で、タスクEによるアンロック要求に応答し
て、アンロック要求処理手段2はタスクEによるロック
を解除する。
【0023】次にロック待ちタスクDの状態がチェック
され、該タスクは依然スワップアウトされている。この
ため、タスクDのスワップイン要求が再度要求待ち行列
6にキューイングされる。この結果、ロック待ちタスク
Dがあるにもかかわらず、資源Rはロックされていない
状態となる。しかし、ロック待ちタスクDはスワップア
ウトされており、仮にタスクDにロック権が付与された
としても、スワップインされるまで、その資源に対する
処理を行うことができない。このため、ロック権をすぐ
付与しないことによる影響はない。
【0024】もしこの間に新たなロック要求があった場
合、該ロック要求を出したタスクにロック権が付与され
る。この場合、タスクDのスワップイン処理と、新たな
タスクの資源Rを使用した処理が時間的にオーバーラッ
プし、資源はより効率よく使用される。
【0025】次に、時刻T10で、スワップ管理手段5
からのタスクDの最初のスワップイン要求に応答して、
タスクDのスワップイン動作を行ない、そのあと、スワ
ップイン時ロック手段3を呼出す。資源がロックされて
いないため、スワップイン時ロック手段3は、タスクD
にロック権を付与しスワップ管理手段5に制御を戻す。
【0026】次に2番目のタスクDに対するスワップイ
ン要求が受付けられる。すでにタスクDはスワップイン
されているので該要求は無視される。
【0027】この実施例では、ロック要求がすべて排他
モードであると仮定した。しかし、共有モードのロック
要求と排他モードのロック要求とが混在している場合、
以下の動作が付加される。
【0028】すなわち、アンロック要求処理手段2のロ
ック待ちタスクに対するロック権付与時、該タスクが共
有モードならば、スワップアウトされていないすべての
共有モードロック待ちタスクにロック権が付与される。
【0029】また、スワップイン時ロック手段3の指定
タスクが共有モードでロック要求している時、資源が共
有モードでロックされている場合にもロック権が付与さ
れる。他は、上述の一実施例の動作と同様な処理がなさ
れる。
【0030】
【発明の効果】本発明は、現在のロックが解除された時
、スワップアウトされているロック待ちタスクのスワッ
プインを要求するとともに、該タスクを追い越してスワ
ップアウトされていないロック権を付与することにより
、スワップイン処理により無駄になっていた時間も資源
を使用することが可能になり、後続のロック待ち時間を
減少させる効果があり、また共有資源の使用効率を向上
させる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す図である。
【図2】本発明の一実施例の動作を説明するための図で
ある。
【符号の説明】
1  ロック要求処理手段 2  アンロック要求処理手段 3  スワップイン時ロック手段 4  共有資源使用タスク 5  スワップ管理手段 6  要求待ち行列

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  タスクのスワップイン完了通知に応答
    して該タスクが資源をロック待ちしておりかつすぐにロ
    ック可能な状態にある場合、該タスクにロック権を付与
    するスワップイン時ロック手段と、指定タスクのスワッ
    プイン要求に応答して該タスクをスワップインしたあと
    前記スワップイン時ロック手段にスワップイン完了を通
    知するスワップイン管理手段と、アンロック後、ロック
    待ちタスクのスワップアウト状態をチェックし最初に見
    っかったスワップアウト状態にないロック待ちタスクに
    ロック権を付与し、該タスクを見つけるまでにスワップ
    アウト状態にあることを検出したロック待ちタスクのス
    ワップインを前記スワップ管理手段に要求するアンロッ
    ク要求処理手段とを含むことを特徴とする共有資源排他
    制御システム。
JP41422690A 1990-12-26 1990-12-26 共有資源排他制御システム Pending JPH04223533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41422690A JPH04223533A (ja) 1990-12-26 1990-12-26 共有資源排他制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41422690A JPH04223533A (ja) 1990-12-26 1990-12-26 共有資源排他制御システム

Publications (1)

Publication Number Publication Date
JPH04223533A true JPH04223533A (ja) 1992-08-13

Family

ID=18522726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41422690A Pending JPH04223533A (ja) 1990-12-26 1990-12-26 共有資源排他制御システム

Country Status (1)

Country Link
JP (1) JPH04223533A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168025A (ja) * 2012-02-15 2013-08-29 Nec Corp 情報処理装置、及び、情報処理方法
EP3796170A1 (en) 2019-09-20 2021-03-24 Fujitsu Limited Information processing apparatus, information processing system, and communication management program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168025A (ja) * 2012-02-15 2013-08-29 Nec Corp 情報処理装置、及び、情報処理方法
EP3796170A1 (en) 2019-09-20 2021-03-24 Fujitsu Limited Information processing apparatus, information processing system, and communication management program
US11544118B2 (en) 2019-09-20 2023-01-03 Fujitsu Limited Information processing apparatus, information processing system, and non-transitory computer-readable storage medium for storing communication management program

Similar Documents

Publication Publication Date Title
US7174552B2 (en) Method of accessing a resource by a process based on a semaphore of another process
EP0428006B1 (en) Multilevel locking system and method
US5613139A (en) Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message
US7080377B2 (en) Method for effective utilizing of shared resources in computerized system
US5251317A (en) Computer system with an access control unit for resource
US6697901B1 (en) Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities
JPH06161789A (ja) コンピュータ・システムにおける共用資源のプロセス内ロッキング方法および装置
EP1199632A1 (en) Method and apparatus for resource access synchronization
JPH03196249A (ja) 多重プロセッサシステム
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
JP3746826B2 (ja) 資源ロック制御機構
JP2518134B2 (ja) 共有資源排他制御方式
JPH02122365A (ja) プロセッサ割当て方式
JPH0644191A (ja) バッファ管理方法
JPH0340140A (ja) 共有資源排他制御方式
JP3422504B2 (ja) タスク間排他制御方法
EP1228429B1 (en) Sharing resources among entities
JPH0383142A (ja) 共有資源排他制御方式
JPH0478932A (ja) 共有資源排他制御方式
HK40088284A (zh) 协程管理方法、装置、设备及介质
JP3904251B2 (ja) 排他制御方法
US20050060683A1 (en) Suspension and reinstatement of reference handles
JPH02171952A (ja) マルチプロセッサにおけるディスパッチ方式
JPH04262425A (ja) 共有資源排他制御方式