JPH09265405A - 共有資源の排他アクセス方法 - Google Patents
共有資源の排他アクセス方法Info
- Publication number
- JPH09265405A JPH09265405A JP7641496A JP7641496A JPH09265405A JP H09265405 A JPH09265405 A JP H09265405A JP 7641496 A JP7641496 A JP 7641496A JP 7641496 A JP7641496 A JP 7641496A JP H09265405 A JPH09265405 A JP H09265405A
- Authority
- JP
- Japan
- Prior art keywords
- priority
- task
- shared resource
- exclusively
- 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
Links
Abstract
(57)【要約】
【課題】 本発明は、共有資源を排他的にアクセスする
排他アクセス方法に関し、排他中のタスクが異常終了し
ても、他のタスクに影響を与えることなく、共有資源に
対する排他的な参照および更新を保証することを目的と
する。 【解決手段】 実行体のプライオリティを高く設定し当
該実行体に排他的に共有資源へのアクセス権を獲得させ
てアクセスを終了した後、プライオリティを元に戻す共
有資源の排他アクセス方法である。
排他アクセス方法に関し、排他中のタスクが異常終了し
ても、他のタスクに影響を与えることなく、共有資源に
対する排他的な参照および更新を保証することを目的と
する。 【解決手段】 実行体のプライオリティを高く設定し当
該実行体に排他的に共有資源へのアクセス権を獲得させ
てアクセスを終了した後、プライオリティを元に戻す共
有資源の排他アクセス方法である。
Description
【0001】
【発明の属する技術分野】本発明は、共有資源を排他的
にアクセスする排他アクセス方法に関するものである。
にアクセスする排他アクセス方法に関するものである。
【0002】
【従来の技術】従来、オペレーティングシステム(O
S)は、各タスクからの共有資源の参照および更新を排
他的に行えるようにするためのアプリケーションインタ
フェース(以下APIという)を提供している。例えば
Windows NTは、セマフォなどの同期オブジェ
クトに関するAPIを排他処理用に用意し、共有資源の
参照および更新の排他を制御している。このように、排
他用のAPIを利用して、資源の排他的な参照および更
新を実現していた。
S)は、各タスクからの共有資源の参照および更新を排
他的に行えるようにするためのアプリケーションインタ
フェース(以下APIという)を提供している。例えば
Windows NTは、セマフォなどの同期オブジェ
クトに関するAPIを排他処理用に用意し、共有資源の
参照および更新の排他を制御している。このように、排
他用のAPIを利用して、資源の排他的な参照および更
新を実現していた。
【0003】以下図4を用いて従来技術を簡単に説明す
る。図4は、従来技術の説明図を示す。図4において、
排他情報域(1)は、システム内の全タスクから参照可
能な領域であって、各タスクが排他情報を格納し排他を
獲得して排他的に共有資源を利用するためのものであ
る。次に、動作を説明する。
る。図4は、従来技術の説明図を示す。図4において、
排他情報域(1)は、システム内の全タスクから参照可
能な領域であって、各タスクが排他情報を格納し排他を
獲得して排他的に共有資源を利用するためのものであ
る。次に、動作を説明する。
【0004】・タスク(2)が排他情報域(1)に共有
資源の排他情報が格納されていなけば当該タスク(2)
の排他情報を排他情報域(1)に格納し、共有資源への
アクセス(4)を許可する。
資源の排他情報が格納されていなけば当該タスク(2)
の排他情報を排他情報域(1)に格納し、共有資源への
アクセス(4)を許可する。
【0005】・一方、既に排他情報域(1)に排他情報
が格納されていた場合には、排他的な参照および更新を
要求したタスク(3)から実行権を奪い、排他情報域
(1)から排他情報が取り消されるまで待ち状態(5)
にさせる(t4の時刻まで待ち状態にさせる)。そし
て、排他解放要求(6)によって排他情報域(1)から
排他情報が取り消された時(t3のとき)に、待ち状態
のタスク(3)の排他情報を排他情報域(1)に格納
し、共有資源へのアクセス(7)を許可する。
が格納されていた場合には、排他的な参照および更新を
要求したタスク(3)から実行権を奪い、排他情報域
(1)から排他情報が取り消されるまで待ち状態(5)
にさせる(t4の時刻まで待ち状態にさせる)。そし
て、排他解放要求(6)によって排他情報域(1)から
排他情報が取り消された時(t3のとき)に、待ち状態
のタスク(3)の排他情報を排他情報域(1)に格納
し、共有資源へのアクセス(7)を許可する。
【0006】
【発明が解決しようとする課題】このため、従来の共有
資源の排他制御は、排他中のタスクが排他中の資源を解
放する前に異常終了した場合、排他情報域に不当な排他
情報が残ってしまい、その共有資源の排他待ちとなって
いるタスクに対して実行権が付与されない状態となって
しまう問題があった。
資源の排他制御は、排他中のタスクが排他中の資源を解
放する前に異常終了した場合、排他情報域に不当な排他
情報が残ってしまい、その共有資源の排他待ちとなって
いるタスクに対して実行権が付与されない状態となって
しまう問題があった。
【0007】また、排他中のタスクが、同時に他の共有
資源の排他を要求した場合、デッドロック状態に陥る可
能性があるという問題もあった。本発明は、これらの問
題を解決するため、排他中のタスクが異常終了しても、
他のタスクに影響を与えることなく、共有資源に対する
排他的な参照および更新を保証することを目的としてい
る。
資源の排他を要求した場合、デッドロック状態に陥る可
能性があるという問題もあった。本発明は、これらの問
題を解決するため、排他中のタスクが異常終了しても、
他のタスクに影響を与えることなく、共有資源に対する
排他的な参照および更新を保証することを目的としてい
る。
【0008】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、実行体3
は、処理を行うものであって、ここでは、プライオリテ
ィ4を高め、共有資源を排他的にアクセスしたりなどす
るものである。
決するための手段を説明する。図1において、実行体3
は、処理を行うものであって、ここでは、プライオリテ
ィ4を高め、共有資源を排他的にアクセスしたりなどす
るものである。
【0009】プライオリティ4は、共有資源などをアク
セスする優先度である。次に、動作を説明する。共有資
源へのアクセス時に、実行体3のプライオリティ4を高
く設定し、ディスパッチャ2が当該実行体3に排他的に
共有資源へのアクセス権を割り当て、当該実行体3が共
有資源をアクセスして処理を終了した後、実行体3が実
行体3のプライオリティ4を元に戻すようにしている。
セスする優先度である。次に、動作を説明する。共有資
源へのアクセス時に、実行体3のプライオリティ4を高
く設定し、ディスパッチャ2が当該実行体3に排他的に
共有資源へのアクセス権を割り当て、当該実行体3が共
有資源をアクセスして処理を終了した後、実行体3が実
行体3のプライオリティ4を元に戻すようにしている。
【0010】従って、排他中の実行体3(例えばタスク
など)が異常終了しても、他の実行体3(タスク)に影
響を与えることなく、共有資源に対する排他的な参照お
よび更新を保証することが可能となる。
など)が異常終了しても、他の実行体3(タスク)に影
響を与えることなく、共有資源に対する排他的な参照お
よび更新を保証することが可能となる。
【0011】
【発明の実施の形態】次に、図1から図3を用いて本発
明の実施の形態および動作を順次詳細に説明する。
明の実施の形態および動作を順次詳細に説明する。
【0012】図1は、本発明の1実施例構成図を示す。
図1において、計算機システム1は、プログラムに従い
各種処理を行うものであって、共通空間に設けたOS
(オペレーティングシステム9および各空間に設けた実
行体3などから構成されるものである。
図1において、計算機システム1は、プログラムに従い
各種処理を行うものであって、共通空間に設けたOS
(オペレーティングシステム9および各空間に設けた実
行体3などから構成されるものである。
【0013】OSは、全体を統括制御するものであっ
て、ここでは、CPUの実行権を割り当てるディスパッ
チャ2などから構成されるものである。ディスパッチャ
2は、プライオリティ4に従って実行体3にCPUの実
行権を割り当てるものである。
て、ここでは、CPUの実行権を割り当てるディスパッ
チャ2などから構成されるものである。ディスパッチャ
2は、プライオリティ4に従って実行体3にCPUの実
行権を割り当てるものである。
【0014】実行体3は、プログラムに従い各種処理を
行うものであって、例えばプロセス、タスク、ジョブ、
スレッドなどである。プライオリティ4は、実行体3の
CPUの使用権を割り当てる優先度である。
行うものであって、例えばプロセス、タスク、ジョブ、
スレッドなどである。プライオリティ4は、実行体3の
CPUの使用権を割り当てる優先度である。
【0015】次に、図2のフローチャートに示す順序に
従い、図1の構成の動作を詳細に説明する。ここでは、
実行体3としてタスクを例に以下説明する。図2は、本
発明の動作説明フローチャートを示す。
従い、図1の構成の動作を詳細に説明する。ここでは、
実行体3としてタスクを例に以下説明する。図2は、本
発明の動作説明フローチャートを示す。
【0016】図2において、S1は、現在のタスクのプ
ライオリティ(Px)を保存する。ここで、プライオリ
ティPxは、P1よりもP3の方が優先度が高いという
ように、添字の数字が大きい程、優先度が高いとする。
ライオリティ(Px)を保存する。ここで、プライオリ
ティPxは、P1よりもP3の方が優先度が高いという
ように、添字の数字が大きい程、優先度が高いとする。
【0017】S2は、一旦プリオリティをP1に変更す
る。S3は、システムに対して再ディスパッチングを要
求する(CPU実行権を明け渡す)。
る。S3は、システムに対して再ディスパッチングを要
求する(CPU実行権を明け渡す)。
【0018】S4は、プライオリティをP2に変更す
る。これらS1からS4は、あるタスクの現在のプライ
オリティがPxであった場合、このPxを保存した後、
プライオリティを一番小さいP1にし、システム(O
S)のディスパッチャ2に再ディスパッチングを要求し
(一旦、CPU実行権を明け渡した後)、タスクのプラ
イオリティ4を大きな値、例えばここではP2に変更
し、ディスパッチャ2に排他的に共有資源へのアクセス
権(CPU実行権)を割り当ててもらう。
る。これらS1からS4は、あるタスクの現在のプライ
オリティがPxであった場合、このPxを保存した後、
プライオリティを一番小さいP1にし、システム(O
S)のディスパッチャ2に再ディスパッチングを要求し
(一旦、CPU実行権を明け渡した後)、タスクのプラ
イオリティ4を大きな値、例えばここではP2に変更
し、ディスパッチャ2に排他的に共有資源へのアクセス
権(CPU実行権)を割り当ててもらう。
【0019】S5は、共有資源を排他的に割り当てて実
行する。これは、S4でプライオリティを高く変更して
共有資源へのアクセス権(CPU実行権)の割り当てを
ディスパッチャ2から受けたタスクが共有資源を排他的
にアクセスして処理を実行する。
行する。これは、S4でプライオリティを高く変更して
共有資源へのアクセス権(CPU実行権)の割り当てを
ディスパッチャ2から受けたタスクが共有資源を排他的
にアクセスして処理を実行する。
【0020】S6は、タスクのプライオリティを、保存
してある本来のプライオリティ(Px)に復元する。こ
れは、S5で排他的に共有資源へのアクセス権(CPU
実行権)を割り当てられたタスクが共有資源を排他的に
アクセスして処理を行い、処理が終了した時点でS1で
保存しておいた本来のプライオリティPxに復元する。
してある本来のプライオリティ(Px)に復元する。こ
れは、S5で排他的に共有資源へのアクセス権(CPU
実行権)を割り当てられたタスクが共有資源を排他的に
アクセスして処理を行い、処理が終了した時点でS1で
保存しておいた本来のプライオリティPxに復元する。
【0021】以上によって、タスクがプライオリティP
xを保存した後、プライオリティを高めて排他的に共有
資源へのアクセス権(CPU実行権)の割り当てを受け
てアクセスして処理を行い、処理終了時にタスクの元の
プライオリティに戻すことにより、複数のタスクの共有
資源への排他的なアクセスを実現できた。また、排他的
に共有資源をアクセスしているタスクに異常が発生して
処理が終了しても、システム領域(OS領域など)に排
他情報を残すことがなく、当該異常終了した時点で他の
待機中のタスクにアクセス権(CPU実行権)を割り当
ることができるようになるため、共有資源のアクセスを
待っている他のタスクに影響を与えることなく、待機中
のタスクに共有資源へのアクセス権を割り当ることが可
能となった。
xを保存した後、プライオリティを高めて排他的に共有
資源へのアクセス権(CPU実行権)の割り当てを受け
てアクセスして処理を行い、処理終了時にタスクの元の
プライオリティに戻すことにより、複数のタスクの共有
資源への排他的なアクセスを実現できた。また、排他的
に共有資源をアクセスしているタスクに異常が発生して
処理が終了しても、システム領域(OS領域など)に排
他情報を残すことがなく、当該異常終了した時点で他の
待機中のタスクにアクセス権(CPU実行権)を割り当
ることができるようになるため、共有資源のアクセスを
待っている他のタスクに影響を与えることなく、待機中
のタスクに共有資源へのアクセス権を割り当ることが可
能となった。
【0022】図3は、本発明の動作説明図を示す。 ・タスクA(1)のプライオリティをP1にする(時間
t1、図2のS2)。 ・タスクB(2)のプライオリティをP1にする(時間
t1からt4)。
t1、図2のS2)。 ・タスクB(2)のプライオリティをP1にする(時間
t1からt4)。
【0023】・タスクA(1)のプライオリティをP2
に変更し高めて共有資源を優先的(排他的に)を割り当
てられるようにする(時間t2、図2のS4)。 ・優先的に割り当てられたタスクA(1)が共有資源へ
のアクセス(参照、更新)を行う(時間t2からt3、
図2のS5)。
に変更し高めて共有資源を優先的(排他的に)を割り当
てられるようにする(時間t2、図2のS4)。 ・優先的に割り当てられたタスクA(1)が共有資源へ
のアクセス(参照、更新)を行う(時間t2からt3、
図2のS5)。
【0024】・タスクA(1)による共有資源への優先
的なアクセスを行い、処理終了した時点でタスクA
(1)のプライオリティをP1に変更する(時刻t
3)。そして、タスクA(1)は、プライオリティを通
常のP1に戻したので、共有資源へのアクセス以外の処
理を行う。
的なアクセスを行い、処理終了した時点でタスクA
(1)のプライオリティをP1に変更する(時刻t
3)。そして、タスクA(1)は、プライオリティを通
常のP1に戻したので、共有資源へのアクセス以外の処
理を行う。
【0025】・一方、CPU実行権の割り当てられない
タスクB(2)のプライオリティを時間t4でp2に変
更して高め、タスクA(1)の共有資源へのアクセスが
終了した時間t3の時点で当該タスクB(2)に排他的
にアクセス権(CPU実行権)が割り当てられる。
タスクB(2)のプライオリティを時間t4でp2に変
更して高め、タスクA(1)の共有資源へのアクセスが
終了した時間t3の時点で当該タスクB(2)に排他的
にアクセス権(CPU実行権)が割り当てられる。
【0026】・タスクB(2)による共有資源への排他
的なアクセスを行い、処理終了した時点でタスクB
(2)のプライオリティをP1に変更する(時刻t
6)。そして、タスクB(2)は、プライオリティを通
常のP1に戻し、共有資源へのアクセス以外の処理を行
う。
的なアクセスを行い、処理終了した時点でタスクB
(2)のプライオリティをP1に変更する(時刻t
6)。そして、タスクB(2)は、プライオリティを通
常のP1に戻し、共有資源へのアクセス以外の処理を行
う。
【0027】以上のように、タスクA(1)およびタス
クB(2)が共有資源を排他的にアクセスする場合に
は、各タスク内のプライオリティを高めて排他的に共有
資源へのアクセス権を割り当ててもらい、アクセスして
処理を行う。そして、処理終了後にプライオリティを元
の値に戻し、通常のCPU実行権を各タスクが必要に応
じて割り当ててもらい、処理を実行する。これらによ
り、各タスクのプライオリティを、共有資源のアクセス
時に高めることによって、排他的に共有資源をアクセス
することが可能となると共に、共有資源をアクセス中の
タスクに障害が発生して異常終了しても、当該異常終了
の時点で待機中の他のタスクに共有資源へのアクセス権
(CPU実行権)を割り当てることができ、タスク異常
によって他のタスクが共有資源をアクセスすることにつ
いて影響を与えることを無くすことができた。
クB(2)が共有資源を排他的にアクセスする場合に
は、各タスク内のプライオリティを高めて排他的に共有
資源へのアクセス権を割り当ててもらい、アクセスして
処理を行う。そして、処理終了後にプライオリティを元
の値に戻し、通常のCPU実行権を各タスクが必要に応
じて割り当ててもらい、処理を実行する。これらによ
り、各タスクのプライオリティを、共有資源のアクセス
時に高めることによって、排他的に共有資源をアクセス
することが可能となると共に、共有資源をアクセス中の
タスクに障害が発生して異常終了しても、当該異常終了
の時点で待機中の他のタスクに共有資源へのアクセス権
(CPU実行権)を割り当てることができ、タスク異常
によって他のタスクが共有資源をアクセスすることにつ
いて影響を与えることを無くすことができた。
【0028】
【発明の効果】以上説明したように、本発明によれば、
排他中の実行体3(例えばタスクなど)が異常終了して
も、待機中の他の実行体3(タスク)に共有資源へのア
クセス権を割り当ることができ、いずれかの実行体3に
異常発生しても共有資源に対する排他的な参照および更
新を他の実行体3に保証することができるようになっ
た。
排他中の実行体3(例えばタスクなど)が異常終了して
も、待機中の他の実行体3(タスク)に共有資源へのア
クセス権を割り当ることができ、いずれかの実行体3に
異常発生しても共有資源に対する排他的な参照および更
新を他の実行体3に保証することができるようになっ
た。
【図1】本発明の1実施例構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明の動作説明図である。
【図4】従来技術の説明図である。
1:計算機システム 2:ディスパッチャ 3:実行体 4:プライオリティ
Claims (1)
- 【請求項1】共有資源を排他的にアクセスする排他アク
セス方法において、 実行体のプライオリティを高く設定し当該実行体に優先
的に共有資源へのアクセス権を獲得させてアクセスを終
了した後、プライオリティを元に戻すことを特徴とする
共有資源の排他アクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7641496A JPH09265405A (ja) | 1996-03-29 | 1996-03-29 | 共有資源の排他アクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7641496A JPH09265405A (ja) | 1996-03-29 | 1996-03-29 | 共有資源の排他アクセス方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09265405A true JPH09265405A (ja) | 1997-10-07 |
Family
ID=13604570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7641496A Pending JPH09265405A (ja) | 1996-03-29 | 1996-03-29 | 共有資源の排他アクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09265405A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304304A (ja) * | 2001-04-04 | 2002-10-18 | Denso Corp | 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体 |
CN111506438A (zh) * | 2020-04-03 | 2020-08-07 | 华夏龙晖(北京)汽车电子科技股份有限公司 | 一种共享资源访问方法及装置 |
-
1996
- 1996-03-29 JP JP7641496A patent/JPH09265405A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304304A (ja) * | 2001-04-04 | 2002-10-18 | Denso Corp | 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体 |
US7120913B2 (en) | 2001-04-04 | 2006-10-10 | Denso Corporation | Processing execution apparatus having data reference limiting function |
CN111506438A (zh) * | 2020-04-03 | 2020-08-07 | 华夏龙晖(北京)汽车电子科技股份有限公司 | 一种共享资源访问方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3557947B2 (ja) | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 | |
US4791554A (en) | Method and apparatus for preventing deadlock in a data base management system | |
US6016490A (en) | Database management system | |
JP2882475B2 (ja) | スレッド実行方法 | |
US7080377B2 (en) | Method for effective utilizing of shared resources in computerized system | |
KR20090005921A (ko) | 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치 | |
JPH031698B2 (ja) | ||
JP3113841B2 (ja) | 並列トランザクション処理システム | |
US6721948B1 (en) | Method for managing shared tasks in a multi-tasking data processing system | |
CN109144685B (zh) | 支持多处理系统中的可重新配置同步的架构和服务 | |
US7594229B2 (en) | Predictive resource allocation in computing systems | |
JPH09265405A (ja) | 共有資源の排他アクセス方法 | |
JP2019144627A (ja) | プログラム実行制御方法および車両制御装置 | |
JPH06348661A (ja) | マルチプロセッサ間排他制御方式 | |
JPH08180025A (ja) | スケジューリング装置 | |
JPH07319716A (ja) | 計算機システムの資源の排他制御方式 | |
JPH05120039A (ja) | タスクスケジユーリング方式 | |
JP4833911B2 (ja) | プロセッサユニットおよび情報処理方法 | |
KR0161003B1 (ko) | 복수로보트의 동시제어방법 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
JP3278457B2 (ja) | プログラム実行制御装置及びプログラム実行制御方法 | |
JPS63113637A (ja) | ハツシユ・テ−ブル・エントリ排他処理方式 | |
JP2023091314A (ja) | 半導体装置、半導体装置の制御方法及びプログラム | |
JPS63124138A (ja) | 共有資源の占有競合管理方法 | |
JPH02171952A (ja) | マルチプロセッサにおけるディスパッチ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050117 |
|
A131 | Notification of reasons for refusal |
Effective date: 20050412 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20050809 Free format text: JAPANESE INTERMEDIATE CODE: A02 |