JPH05120040A - コンピユータシステム - Google Patents

コンピユータシステム

Info

Publication number
JPH05120040A
JPH05120040A JP28117291A JP28117291A JPH05120040A JP H05120040 A JPH05120040 A JP H05120040A JP 28117291 A JP28117291 A JP 28117291A JP 28117291 A JP28117291 A JP 28117291A JP H05120040 A JPH05120040 A JP H05120040A
Authority
JP
Japan
Prior art keywords
task
priority
resource
shared resource
management table
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
JP28117291A
Other languages
English (en)
Inventor
Hidehiko Wada
英彦 和田
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP28117291A priority Critical patent/JPH05120040A/ja
Publication of JPH05120040A publication Critical patent/JPH05120040A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】資源にプライオリティを持たせ、そのプライオ
リティをタスクのプライオリティに反映させることによ
り、共有資源のロックのためにプライオリティの高いタ
スクの実行が遅れることを最小限に抑える。 【構成】各共有資源のidおよびその資源のプライオリ
ティを管理する共有資源管理テーブルと、各タスクのi
d並びにタスク固有のプライオリティとカレントプライ
オリティとを管理しているタスク管理テーブルと、この
タスク管理テーブルのカレントプライオリティを見なが
らタスクのスケジューリングを行なうスケジューラと、
共有資源のロックおよびアンロックに際してタスクのカ
レントプライオリティの書換えを行ない、プライオリテ
ィの変更をスケジューラに知らせる機能を有する共有資
源ロック機構を具備する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
に関し、詳しくは優先度(プライオリティ)ベースで各
タスクがスケジューリングされるコンピュータシステム
において共有資源へのアクセスを考慮に入れたタクスの
プライオリティの決定方式の改善に関するものである。
【0002】
【従来の技術】プラテオリティベースで各タスクがスケ
ジューリングされるコンピュータシステムにおける条件
として、次のものがある。 システム上で複数のタスクが実行される。 次にどのタスクを動作させるかを決定するスケジュー
ラがある。 タスクのスケジューリングはプライオリティをベース
にして行う。つまり、その時点で一番プライオリティの
高いタスクを実行する。 現在動作しているタスクより高いプライオリティを持
つタスクが実行可能となると、スケジューラは高いプラ
イオリティのタスクに実行権を与える。 各タスクのプライオリティは事前に既知である。 各タスクが使用する共有資源も事前に既知である。こ
の時、共有資源とハードウェア的なものだけではなく、
ソフトウェア的な資源も含まれる。 タスクが共有資源を利用する場合、つまりクリティカ
ルリージョンに入る場合、タスクはまず共有資源をロッ
クし、資源の利用後(クリティカルリージョンを抜けた
後)ロックを解除(アンロック)する。
【0003】
【発明が解決しようとする課題】しかしながら、このよ
うなシステムでは次のような問題がある。プライオリテ
ィの違うタスクが3つある場合を例にとって述べる。プ
ライオリティの一番高いタスクをタスクA、2番目に高
いタスクをタスクB、一番低いタスクをタスクCとす
る。またタスクAとタスクCは同じ共有資源にアクセス
するものとする。この時、タスクCが共有資源を利用す
るためにクリティカルリージョンに入った後、その資源
を利用するタスクAが起動されたとする。タスクAはタ
スクCがロックした資源を使用できないために、ある時
点でブロックされることになる。このときに中位のプラ
イオリティを持つタスクBが起動され実行されている
と、高プライオリティを持つタスクAがタスクBの終了
を待つことになり、元々システムが期待する高プライオ
リティのタスクを早く終了させるという趣旨に反する動
きをするという問題がある。
【0004】図4はこの動作(タスクのスケジューリン
グの流れ)を説明するための図である。図中の番号1〜
10に対応して動作の流れを説明する。 1.低プライオリティのタスクCが動き始める。 2.タスクCは共有資源をロックし、クリティカルリー
ジョンに入る。 3.高プライオリティのタスクAが起動される。プライ
オリティベースのスケジューリングが行われるために、
タスクCは共有資源をロックしたままブロックされる。 4.中位のプライオリティのタスクBが起動されるが、
より高いプライオリティのタスクAが実行されているた
めにブロックされる。 5.タスクAはタスクCがロックしている共有資源を使
用しようとするがブロックされる。そして、タスクBが
高プライオリティのタスクであるので、タスクBが実行
権を獲得し実行される。 6.タスクBが終了した後、タスクAは未だに資源が獲
得できずブロックされているので、タスクCが実行され
る。 7.タスクCが共有資源に関するクリティカルリージョ
ンを抜けた後、資源をアンロックする。 8.ブロックされていたタスクAが資源を獲得できる状
態になったためにタスクCがブロックされ、タスクAが
実行権を獲得する。 9.タスクAが実行を終了し、タスクCが実行される。 10.タスクCが実行を終了する。 このように従来のシステムでは、高プライオリティのタ
スクを必ずしも早く終了させることはできなかった。そ
してこのような現象(プライオリティインバージョン)
を解決する十分に効率の良い方法は現在のところ見当た
らない。
【0005】本発明の目的は、このような点に鑑みてな
されたもので、資源にプライオリティを持たせ、そのプ
ライオリティをタスクのプライオリティに反映させるこ
とにより、共有資源のロックのためにプライオリティの
高いタスクの実行が遅れることを最小限に抑えることが
できるようにしたコンピュータシステムを提供すること
にある。
【0006】
【課題を解決するための手段】このような目的を達成す
るために、本発明では、プライオリティベースで各タス
クがスケジューリングされるコンピュータシステムであ
って、各共有資源の識別コードおよびその資源のプライ
オリティを管理する共有資源管理テーブルと、各タスク
の識別コード並びにタスク固有のプライオリティとカレ
ントプライオリティとを管理しているタスク管理テーブ
ルと、このタスク管理テーブルのカレントプライオリテ
ィを見ながらタスクのスケジューリングを行なうスケジ
ューラと、共有資源のロックおよびアンロックに際して
タスクのカレントプライオリティの書換えを行ない、プ
ライオリティの変更をスケジューラに知らせる機能を有
する共有資源ロック機構を具備したことを特徴とする。
【0007】
【作用】各タスクごとにタスクid、タスクプライオリ
ティ、カレントプライオリティの情報をセットしたタス
ク管理テーブルと、複数のタスクが使用する共有資源に
それぞれリソースプライオリティを設定した共有資源管
理テーブルとを用意し、共有資源を使用するために資源
のロックを行なうタスクには、共有資源ロック機構によ
り当該資源のリソースプライオリティをカレントプライ
オリティに書き込む。スケジューラはカレントプライオ
リティを見てスケジューリングを行なう。これにより資
源のプライオリティを反映したタスクスケジューリング
が行なわれる。
【0008】
【実施例】以下図面を用いて本発明を詳細に説明する。
本発明では、ロックする必要のある共有資源に関してそ
の資源のid(認識コード)とその資源をロックするプ
ロセスが得るプライオリティを組にしてリスト形式で保
持しておく。プライオリティは、その共有資源を使用す
る可能性があるタスクの中で一番高いプライオリティを
持つタスクのプライオリティで、システム生成時に固定
した値に設定することもできるが、資源に関するプライ
オリティを設定する関数を設け、実行時に変更すること
も可能である。
【0009】以下本発明について詳述する。図1は本発
明に係るコンピュータシステムの要部構成図である。図
において、1はスケジューラで、タスク管理テーブル
(後述)のcurrent-priorityを見ながらタスクのスケジ
ューリングを行うものである。2はタスク管理テーブル
であり、各タスクのid(task-id)とプライオリティす
なわちタスクプライオリティ(task-priority )とカレ
ントプライオリティ(current-priority)を管理してい
るテーブルである。タスクプライオリティはそのタスク
固有のプライオリティであり、カレントプライオリティ
は現在そのタスクがスケジューリングに関して使用され
るプライオリティである。通常はタスクプライオリティ
とカレントプライオリティは同じであるが、当該タスク
が共有資源(図示省略)ロックを行う時に、カレントプ
ライオリティに共有資源ロック機構(後述)がその共有
資源のリソースプライオリティ(resource-priority )
をセットする。またロックしている資源をアンロックす
る時は共有資源ロック機構が当該タスクのカレントプラ
イオリティをタスクプライオリティの値に戻す。3は共
有資源管理テーブルであり、共有資源のidおよびその
資源のプライオリティすなわちリソースプライオリティ
(resource-priority )を管理するテーブルである。4
は共有資源ロック機構であり、共有資源のロックまたは
アンロックに際してタスクのカレントプライオリティの
書き替えを行う。更にスケジューラ1にそのプライオリ
ティの変更を知らせる。
【0010】このような構成における動作を図2に示
す。まず共有資源ロック機構4により共有資源のidか
ら資源のプライオリティを得、タスク管理テーブル2の
当該タスクのカレントプライオリティを共有資源管理テ
ーブルの当該共有資源のリソースプライオリティに変更
する。この時スケジューラ1にそのプライオリティの変
更を知らせる。その後当該共有資源のロックを行なう。
資源の利用後、共有資源のロックが開放され、共有資源
ロック機構4によりタスク管理テーブル2の当該タスク
のカレントプライオリティを自タスクのプライオリティ
の値に戻す(書き換える)。
【0011】従来例で示したタスクA,B,Cの場合に
ついて本発明での動作を図3を参照して説明すると、次
の通りである。 低プライオリティのタスクCが動き始める。 共有資源をロックし、クリティカルリージョンに入
る。この時タスクCは、共有資源のプライオリティ、つ
まりタスクAのプライオリティと同じプライオリティに
なる。 高プライオリティのタスクAが起動されるが、タスク
Cが同じプライオリティで動作しているために実行され
ず、タスクCが実行を継続する。 中位のプライオリティのタスクBが起動されるが、よ
り高いプライオリティのタスクCが実行されているため
にブロックされる。 タスクCはクリティカルリージョンを抜けると共に、
共有資源のロックを解除し、それと共にプライオリティ
はもともとタスクAが持っている値に下がる。その結果
タスクAが一番高プライオリティとなるため、スケジュ
ーラはタスクAに実行権を与える。 タスクAの実行終了後、タスクBが一番高いプライオ
リティを持つため、実行権を獲得し、実行される。 タスクBが実行を終了し、タスクCが実行される。 タスクCが実行を終了する。 以上の動作を従来のシステムにおける場合の動作(図
4)と比べてみると、プライオリティの高いタスクAを
早く終了させることが出来ていることが明らかである。
【0012】
【発明の効果】以上説明したように、本発明によれば、
共有資源にプライオリティを付け、そのプライオリティ
をタスクに引き継ぐことにより高プライオリティのタス
クが共有資源が使用できずにブロックされる時間を短縮
でき、プライオリティベースのスケジューリングで所望
の結果を得ることができる。
【図面の簡単な説明】
【図1】本発明に係るコンピュータシステムの一例を示
す要部構成図である。
【図2】共有資源をロックする際の処理の流れを示す図
である。
【図3】本発明におけるタスクのスケジューリングの流
れを説明するための図である。
【図4】従来のシステムにおけるタスクのスケジューリ
ングの流れを説明するための図である。
【符号の説明】
1 スケジューラ 2 タスク管理テーブル 3 共有資源管理テーブル 4 共有資源ロック機構

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プライオリティベースで各タスクがスケジ
    ューリングされるコンピュータシステムであって、 各共有資源の識別コードおよびその資源のプライオリテ
    ィを管理する共有資源管理テーブルと、 各タスクの識別コードと、タスク固有のプライオリティ
    と現在そのタスクがスケジューリングに関して使用され
    るカレントプライオリティとを管理しているタスク管理
    テーブルと、 このタスク管理テーブルのカレントプライオリティを見
    ながらタスクのスケジューリングを行なうスケジューラ
    と、 前記共有資源のロックおよびアンロックに際してタスク
    の前記カレントプライオリティの書換えを行ない、プラ
    イオリティの変更を前記スケジューラに知らせる機能を
    有する共有資源ロック機構を具備し、共有資源のプライ
    オリティを反映したタスクスケジューリングが行なわれ
    るようにしたことを特徴とするコンピュータシステム。
JP28117291A 1991-10-28 1991-10-28 コンピユータシステム Pending JPH05120040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28117291A JPH05120040A (ja) 1991-10-28 1991-10-28 コンピユータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28117291A JPH05120040A (ja) 1991-10-28 1991-10-28 コンピユータシステム

Publications (1)

Publication Number Publication Date
JPH05120040A true JPH05120040A (ja) 1993-05-18

Family

ID=17635359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28117291A Pending JPH05120040A (ja) 1991-10-28 1991-10-28 コンピユータシステム

Country Status (1)

Country Link
JP (1) JPH05120040A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4889312A (en) * 1986-11-11 1989-12-26 Asahi Denka Kogyo Kabushiki Kaisha Waterstop for concrete form separator
KR100437704B1 (ko) * 1995-12-08 2004-08-02 선 마이크로시스템즈 인코퍼레이티드 공간효율적인오브젝트로킹을위한시스템및방법
US9367342B2 (en) 2011-11-24 2016-06-14 Panasonic Intellectual Property Corporation Of America Optimizing a deactivation process for a virtual machine system
CN107291566A (zh) * 2017-06-15 2017-10-24 北京京东尚科信息技术有限公司 延迟任务执行的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4889312A (en) * 1986-11-11 1989-12-26 Asahi Denka Kogyo Kabushiki Kaisha Waterstop for concrete form separator
KR100437704B1 (ko) * 1995-12-08 2004-08-02 선 마이크로시스템즈 인코퍼레이티드 공간효율적인오브젝트로킹을위한시스템및방법
US9367342B2 (en) 2011-11-24 2016-06-14 Panasonic Intellectual Property Corporation Of America Optimizing a deactivation process for a virtual machine system
CN107291566A (zh) * 2017-06-15 2017-10-24 北京京东尚科信息技术有限公司 延迟任务执行的方法和装置
CN107291566B (zh) * 2017-06-15 2020-06-05 北京京东尚科信息技术有限公司 延迟任务执行的方法和装置

Similar Documents

Publication Publication Date Title
US5956712A (en) Byte range locking in a distributed environment
US5524247A (en) System for scheduling programming units to a resource based on status variables indicating a lock or lock-wait state thereof
US7454581B2 (en) Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors
US8612982B2 (en) Multi-tasking method according to simple priority inheritance scheme and embedded system therefor
US5428783A (en) Lan based loosely coupled large grain parallel processing method
US7174552B2 (en) Method of accessing a resource by a process based on a semaphore of another process
JPH07200323A (ja) 解放された同期メカニズムの所有権を管理するための方法及びシステム
Son et al. An Integrated Real-Time Locking Protocol.
US20020138706A1 (en) Reader-writer lock method and system
JPH1153202A (ja) 並列トランザクション処理システム
US6662364B1 (en) System and method for reducing synchronization overhead in multithreaded code
EP0953903A2 (en) Semaphore for a computer system
US7574438B2 (en) Database access with multilevel lock
US7117496B1 (en) Event-based synchronization
Aranha et al. Implementation of a real-time database system
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
JPH05120040A (ja) コンピユータシステム
US5708808A (en) Method and apparatus for concurrency with critical regions
JP2518134B2 (ja) 共有資源排他制御方式
Lam et al. A pre-emptive transaction scheduling protocol for controlling priority inversion
JPH07319716A (ja) 計算機システムの資源の排他制御方式
US5797138A (en) Buffer management method using buffer locking mechanism in storage system for supporting multi-user environment
JPH09269912A (ja) 情報処理方法とその装置
JPH0383142A (ja) 共有資源排他制御方式
JP3068556B2 (ja) 共有資源排他制御方式およびそのプログラム記録媒体