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
Application number
JP7641496A
Other languages
English (en)
Inventor
Gunji Ogawa
郡治 小川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7641496A priority Critical patent/JPH09265405A/ja
Publication of JPH09265405A publication Critical patent/JPH09265405A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、共有資源を排他的にアクセスする
排他アクセス方法に関し、排他中のタスクが異常終了し
ても、他のタスクに影響を与えることなく、共有資源に
対する排他的な参照および更新を保証することを目的と
する。 【解決手段】 実行体のプライオリティを高く設定し当
該実行体に排他的に共有資源へのアクセス権を獲得させ
てアクセスを終了した後、プライオリティを元に戻す共
有資源の排他アクセス方法である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有資源を排他的
にアクセスする排他アクセス方法に関するものである。
【0002】
【従来の技術】従来、オペレーティングシステム(O
S)は、各タスクからの共有資源の参照および更新を排
他的に行えるようにするためのアプリケーションインタ
フェース(以下APIという)を提供している。例えば
Windows NTは、セマフォなどの同期オブジェ
クトに関するAPIを排他処理用に用意し、共有資源の
参照および更新の排他を制御している。このように、排
他用のAPIを利用して、資源の排他的な参照および更
新を実現していた。
【0003】以下図4を用いて従来技術を簡単に説明す
る。図4は、従来技術の説明図を示す。図4において、
排他情報域(1)は、システム内の全タスクから参照可
能な領域であって、各タスクが排他情報を格納し排他を
獲得して排他的に共有資源を利用するためのものであ
る。次に、動作を説明する。
【0004】・タスク(2)が排他情報域(1)に共有
資源の排他情報が格納されていなけば当該タスク(2)
の排他情報を排他情報域(1)に格納し、共有資源への
アクセス(4)を許可する。
【0005】・一方、既に排他情報域(1)に排他情報
が格納されていた場合には、排他的な参照および更新を
要求したタスク(3)から実行権を奪い、排他情報域
(1)から排他情報が取り消されるまで待ち状態(5)
にさせる(t4の時刻まで待ち状態にさせる)。そし
て、排他解放要求(6)によって排他情報域(1)から
排他情報が取り消された時(t3のとき)に、待ち状態
のタスク(3)の排他情報を排他情報域(1)に格納
し、共有資源へのアクセス(7)を許可する。
【0006】
【発明が解決しようとする課題】このため、従来の共有
資源の排他制御は、排他中のタスクが排他中の資源を解
放する前に異常終了した場合、排他情報域に不当な排他
情報が残ってしまい、その共有資源の排他待ちとなって
いるタスクに対して実行権が付与されない状態となって
しまう問題があった。
【0007】また、排他中のタスクが、同時に他の共有
資源の排他を要求した場合、デッドロック状態に陥る可
能性があるという問題もあった。本発明は、これらの問
題を解決するため、排他中のタスクが異常終了しても、
他のタスクに影響を与えることなく、共有資源に対する
排他的な参照および更新を保証することを目的としてい
る。
【0008】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、実行体3
は、処理を行うものであって、ここでは、プライオリテ
ィ4を高め、共有資源を排他的にアクセスしたりなどす
るものである。
【0009】プライオリティ4は、共有資源などをアク
セスする優先度である。次に、動作を説明する。共有資
源へのアクセス時に、実行体3のプライオリティ4を高
く設定し、ディスパッチャ2が当該実行体3に排他的に
共有資源へのアクセス権を割り当て、当該実行体3が共
有資源をアクセスして処理を終了した後、実行体3が実
行体3のプライオリティ4を元に戻すようにしている。
【0010】従って、排他中の実行体3(例えばタスク
など)が異常終了しても、他の実行体3(タスク)に影
響を与えることなく、共有資源に対する排他的な参照お
よび更新を保証することが可能となる。
【0011】
【発明の実施の形態】次に、図1から図3を用いて本発
明の実施の形態および動作を順次詳細に説明する。
【0012】図1は、本発明の1実施例構成図を示す。
図1において、計算機システム1は、プログラムに従い
各種処理を行うものであって、共通空間に設けたOS
(オペレーティングシステム9および各空間に設けた実
行体3などから構成されるものである。
【0013】OSは、全体を統括制御するものであっ
て、ここでは、CPUの実行権を割り当てるディスパッ
チャ2などから構成されるものである。ディスパッチャ
2は、プライオリティ4に従って実行体3にCPUの実
行権を割り当てるものである。
【0014】実行体3は、プログラムに従い各種処理を
行うものであって、例えばプロセス、タスク、ジョブ、
スレッドなどである。プライオリティ4は、実行体3の
CPUの使用権を割り当てる優先度である。
【0015】次に、図2のフローチャートに示す順序に
従い、図1の構成の動作を詳細に説明する。ここでは、
実行体3としてタスクを例に以下説明する。図2は、本
発明の動作説明フローチャートを示す。
【0016】図2において、S1は、現在のタスクのプ
ライオリティ(Px)を保存する。ここで、プライオリ
ティPxは、P1よりもP3の方が優先度が高いという
ように、添字の数字が大きい程、優先度が高いとする。
【0017】S2は、一旦プリオリティをP1に変更す
る。S3は、システムに対して再ディスパッチングを要
求する(CPU実行権を明け渡す)。
【0018】S4は、プライオリティをP2に変更す
る。これらS1からS4は、あるタスクの現在のプライ
オリティがPxであった場合、このPxを保存した後、
プライオリティを一番小さいP1にし、システム(O
S)のディスパッチャ2に再ディスパッチングを要求し
(一旦、CPU実行権を明け渡した後)、タスクのプラ
イオリティ4を大きな値、例えばここではP2に変更
し、ディスパッチャ2に排他的に共有資源へのアクセス
権(CPU実行権)を割り当ててもらう。
【0019】S5は、共有資源を排他的に割り当てて実
行する。これは、S4でプライオリティを高く変更して
共有資源へのアクセス権(CPU実行権)の割り当てを
ディスパッチャ2から受けたタスクが共有資源を排他的
にアクセスして処理を実行する。
【0020】S6は、タスクのプライオリティを、保存
してある本来のプライオリティ(Px)に復元する。こ
れは、S5で排他的に共有資源へのアクセス権(CPU
実行権)を割り当てられたタスクが共有資源を排他的に
アクセスして処理を行い、処理が終了した時点でS1で
保存しておいた本来のプライオリティPxに復元する。
【0021】以上によって、タスクがプライオリティP
xを保存した後、プライオリティを高めて排他的に共有
資源へのアクセス権(CPU実行権)の割り当てを受け
てアクセスして処理を行い、処理終了時にタスクの元の
プライオリティに戻すことにより、複数のタスクの共有
資源への排他的なアクセスを実現できた。また、排他的
に共有資源をアクセスしているタスクに異常が発生して
処理が終了しても、システム領域(OS領域など)に排
他情報を残すことがなく、当該異常終了した時点で他の
待機中のタスクにアクセス権(CPU実行権)を割り当
ることができるようになるため、共有資源のアクセスを
待っている他のタスクに影響を与えることなく、待機中
のタスクに共有資源へのアクセス権を割り当ることが可
能となった。
【0022】図3は、本発明の動作説明図を示す。 ・タスクA(1)のプライオリティをP1にする(時間
t1、図2のS2)。 ・タスクB(2)のプライオリティをP1にする(時間
t1からt4)。
【0023】・タスクA(1)のプライオリティをP2
に変更し高めて共有資源を優先的(排他的に)を割り当
てられるようにする(時間t2、図2のS4)。 ・優先的に割り当てられたタスクA(1)が共有資源へ
のアクセス(参照、更新)を行う(時間t2からt3、
図2のS5)。
【0024】・タスクA(1)による共有資源への優先
的なアクセスを行い、処理終了した時点でタスクA
(1)のプライオリティをP1に変更する(時刻t
3)。そして、タスクA(1)は、プライオリティを通
常のP1に戻したので、共有資源へのアクセス以外の処
理を行う。
【0025】・一方、CPU実行権の割り当てられない
タスクB(2)のプライオリティを時間t4でp2に変
更して高め、タスクA(1)の共有資源へのアクセスが
終了した時間t3の時点で当該タスクB(2)に排他的
にアクセス権(CPU実行権)が割り当てられる。
【0026】・タスクB(2)による共有資源への排他
的なアクセスを行い、処理終了した時点でタスクB
(2)のプライオリティをP1に変更する(時刻t
6)。そして、タスクB(2)は、プライオリティを通
常のP1に戻し、共有資源へのアクセス以外の処理を行
う。
【0027】以上のように、タスクA(1)およびタス
クB(2)が共有資源を排他的にアクセスする場合に
は、各タスク内のプライオリティを高めて排他的に共有
資源へのアクセス権を割り当ててもらい、アクセスして
処理を行う。そして、処理終了後にプライオリティを元
の値に戻し、通常のCPU実行権を各タスクが必要に応
じて割り当ててもらい、処理を実行する。これらによ
り、各タスクのプライオリティを、共有資源のアクセス
時に高めることによって、排他的に共有資源をアクセス
することが可能となると共に、共有資源をアクセス中の
タスクに障害が発生して異常終了しても、当該異常終了
の時点で待機中の他のタスクに共有資源へのアクセス権
(CPU実行権)を割り当てることができ、タスク異常
によって他のタスクが共有資源をアクセスすることにつ
いて影響を与えることを無くすことができた。
【0028】
【発明の効果】以上説明したように、本発明によれば、
排他中の実行体3(例えばタスクなど)が異常終了して
も、待機中の他の実行体3(タスク)に共有資源へのア
クセス権を割り当ることができ、いずれかの実行体3に
異常発生しても共有資源に対する排他的な参照および更
新を他の実行体3に保証することができるようになっ
た。
【図面の簡単な説明】
【図1】本発明の1実施例構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明の動作説明図である。
【図4】従来技術の説明図である。
【符号の説明】
1:計算機システム 2:ディスパッチャ 3:実行体 4:プライオリティ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】共有資源を排他的にアクセスする排他アク
    セス方法において、 実行体のプライオリティを高く設定し当該実行体に優先
    的に共有資源へのアクセス権を獲得させてアクセスを終
    了した後、プライオリティを元に戻すことを特徴とする
    共有資源の排他アクセス方法。
JP7641496A 1996-03-29 1996-03-29 共有資源の排他アクセス方法 Pending JPH09265405A (ja)

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)

* Cited by examiner, † Cited by third party
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 华夏龙晖(北京)汽车电子科技股份有限公司 一种共享资源访问方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
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