JPH02204838A - タスク優先順位管理方式 - Google Patents
タスク優先順位管理方式Info
- Publication number
- JPH02204838A JPH02204838A JP2386589A JP2386589A JPH02204838A JP H02204838 A JPH02204838 A JP H02204838A JP 2386589 A JP2386589 A JP 2386589A JP 2386589 A JP2386589 A JP 2386589A JP H02204838 A JPH02204838 A JP H02204838A
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- resource
- exclusive control
- resources
- 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
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は多重プログラミング処理システムにおけるCP
Uおよびそれ以外の資源を効率良くタスクに割付けるた
めの管理方式に関する。
Uおよびそれ以外の資源を効率良くタスクに割付けるた
めの管理方式に関する。
従来の多重プログラミングシステムにおいてタスクへの
CPU割付けを決定するタスク優先順位はタスクへの割
付けを行なう排他制御を要求する資源のタスク間におけ
る競合とは独立であったり、あるいは特開昭58−10
7961号公報に記載のようにタスク優先順位を排他制
御を要求する資源の占有要求を宣言時、該資源に定義さ
れたタスク優先順位に変更するものであった。
CPU割付けを決定するタスク優先順位はタスクへの割
付けを行なう排他制御を要求する資源のタスク間におけ
る競合とは独立であったり、あるいは特開昭58−10
7961号公報に記載のようにタスク優先順位を排他制
御を要求する資源の占有要求を宣言時、該資源に定義さ
れたタスク優先順位に変更するものであった。
上記従来技術は排他制御を要求する資源を占有中のタス
ク優先順位と後から占有要求を行なったタスクの優先順
位の関係について配慮がされておらず、占有状態にある
排他制御を要求する資源に対して占有しているタスクよ
りタスク優先順位が高いタスクが占有要求を行なった場
合、先に該資源を占有しているタスクのタスク優先順位
に従かった処理時間を該資源が解放されるまで待つこと
になり高いタスク優先順位を設定した効果が得られない
問題があった。
ク優先順位と後から占有要求を行なったタスクの優先順
位の関係について配慮がされておらず、占有状態にある
排他制御を要求する資源に対して占有しているタスクよ
りタスク優先順位が高いタスクが占有要求を行なった場
合、先に該資源を占有しているタスクのタスク優先順位
に従かった処理時間を該資源が解放されるまで待つこと
になり高いタスク優先順位を設定した効果が得られない
問題があった。
本発明の目的は占有状態にある排他制御を要求する資源
に対し占有しているタスクのタスク優先順位より高いタ
スク優先順位のタスクが占有要求を行なった場合、占有
中のタスクのタスク優先順位を該資源占有期間中後から
のタスクのタスク優先順位と同じあるいはそれ以上に変
更することによって後からのタスク優先順位の高いタス
クがタスク優先順位の低いタスクによる処理の遅れを少
なくすることにある。
に対し占有しているタスクのタスク優先順位より高いタ
スク優先順位のタスクが占有要求を行なった場合、占有
中のタスクのタスク優先順位を該資源占有期間中後から
のタスクのタスク優先順位と同じあるいはそれ以上に変
更することによって後からのタスク優先順位の高いタス
クがタスク優先順位の低いタスクによる処理の遅れを少
なくすることにある。
上記目的を達成するために、第1図に示す各排他制御を
要求する資源に対応して資源管理テーブル1に外資源が
占有中であるかを示すための占有中フラグ2、該資源が
占有中の場合、占有が解放されるのを待っているタスク
をキューイングするための占有待ちタスクポインタ2、
そして該資源を占有しているタスクを示す占有タスクポ
インタ4を設ける。そして第2図に示すタスク管理テー
ブル5にシステムによって定義されるタスク優先順位6
を退避するためのタスク優先順位退避領域7を設ける。
要求する資源に対応して資源管理テーブル1に外資源が
占有中であるかを示すための占有中フラグ2、該資源が
占有中の場合、占有が解放されるのを待っているタスク
をキューイングするための占有待ちタスクポインタ2、
そして該資源を占有しているタスクを示す占有タスクポ
インタ4を設ける。そして第2図に示すタスク管理テー
ブル5にシステムによって定義されるタスク優先順位6
を退避するためのタスク優先順位退避領域7を設ける。
さらに上記テーブルを使って排他制御モジュール及び占
有解放モジュールによって排他制御を要求する資源に対
するタスクからの占有、解放要求時の資源の排他制御と
タスクの優先順位の管理を行なう。
有解放モジュールによって排他制御を要求する資源に対
するタスクからの占有、解放要求時の資源の排他制御と
タスクの優先順位の管理を行なう。
排他制御モジュールは、タスクからの排他制御を要求す
る資源の占有要求に対し該資源の排他制御による占有待
ちポインタ3を使った資源占有要求タスクのキューイン
グ処理、さらに該資源占有中のタスクと新たに占有要求
のあったタスクとのタスク優先順位の比較により占有中
タスクのタスク優先順位の変更処理とタスク優先順位の
タスク優先順位退避領域7への退避処理を行なう。又先
入れ先出しによって排他制御を要求する資源をタスクに
割付ける場合、占有待ちとなっているタスクも優先順位
を変更処理を行なう。
る資源の占有要求に対し該資源の排他制御による占有待
ちポインタ3を使った資源占有要求タスクのキューイン
グ処理、さらに該資源占有中のタスクと新たに占有要求
のあったタスクとのタスク優先順位の比較により占有中
タスクのタスク優先順位の変更処理とタスク優先順位の
タスク優先順位退避領域7への退避処理を行なう。又先
入れ先出しによって排他制御を要求する資源をタスクに
割付ける場合、占有待ちとなっているタスクも優先順位
を変更処理を行なう。
そして資源解放モジュールは、タスクからの排他制御を
要求する資源の占有解放要求に対して占有中資源の占有
解放と占有待ちタスクへの再割付け、さらに占有中であ
ったタスクのタスク優先順位退避領域7からのタスク優
先順位の回復を行なう。
要求する資源の占有解放要求に対して占有中資源の占有
解放と占有待ちタスクへの再割付け、さらに占有中であ
ったタスクのタスク優先順位退避領域7からのタスク優
先順位の回復を行なう。
以下、本発明の一実施例を第3図により説明する。排他
制御モジュールは、タスクより排他制御を要求する資源
に対して占有要求があると次に示す処理を行なうプログ
ラムである。
制御モジュールは、タスクより排他制御を要求する資源
に対して占有要求があると次に示す処理を行なうプログ
ラムである。
要求元のタスクのタスク管理テーブル5に設定されてい
るタスク優先順位6をタスク優先順位退避領域7に退避
し、該資源が他のタスクによって占有中かどうか該*S
の資源管理テーブル1の占有中フラグによって判断し占
有中でないならその占有中フラグをオンにして該資源が
占有中であるとし、さらに要求元のタスクのタスク管理
テーブル2を該資源の資源管理テーブル1の占有タスク
ポインタ4に登録して占有要求のあったタスクに該資源
を割付ける。もしタスクから占有要求のあった資源が他
のタスクによって占有中であるなら該資源の資源管理テ
ーブル1の占有待ちタスクポインタ3に新たに占有要求
のあったタスクをキューイングする。さらに該資源を占
有中のタスクと新たに要求のあったタスクとのタスク優
先順位を比較する。占有中のタスクが新たに占有要求の
あったタスクよりタスク優先順位が等しいか高い場合は
何も処理しないが、反対に低い場合、該資源の占有中の
タスクのタスク優先順位を新たに占有要求のあったタス
クのタスク優先順位と同じに変更するため該資源を占有
中のタスクのタスク管理テーブル2のタスク優先順位6
を変更する。同じく排他制御を要求する資源に対するタ
スクからの占有解放要求を処理する占有解放処理モジュ
ールのプログラム処理を次に示す。占有解放モジュール
は排他制御を要求する資源を占有しているタスクから占
有要求があると資源の占有解放要求のタスクのタスク優
先順位を回復するために、占有解放要求元のタスクのタ
スク管理テーブル2のタスク優先順位退避領域7に退避
しであるタスク優先順位を使ってタスク優先順位6を元
に戻す。さらに該資源の資源管理テーブル1の占有待ち
タスクポインタによって他に該資源を占有要求している
タスクがあるか判断する。該資源を占有要求するタスク
があるとそのタスクのタスク管理テーブル2を該資源の
資源管理テーブル1の占有タスクポインタ4に登録する
と同時に占有待ちタスクのキューから外し新たなタスク
に該資源を割付ける。
るタスク優先順位6をタスク優先順位退避領域7に退避
し、該資源が他のタスクによって占有中かどうか該*S
の資源管理テーブル1の占有中フラグによって判断し占
有中でないならその占有中フラグをオンにして該資源が
占有中であるとし、さらに要求元のタスクのタスク管理
テーブル2を該資源の資源管理テーブル1の占有タスク
ポインタ4に登録して占有要求のあったタスクに該資源
を割付ける。もしタスクから占有要求のあった資源が他
のタスクによって占有中であるなら該資源の資源管理テ
ーブル1の占有待ちタスクポインタ3に新たに占有要求
のあったタスクをキューイングする。さらに該資源を占
有中のタスクと新たに要求のあったタスクとのタスク優
先順位を比較する。占有中のタスクが新たに占有要求の
あったタスクよりタスク優先順位が等しいか高い場合は
何も処理しないが、反対に低い場合、該資源の占有中の
タスクのタスク優先順位を新たに占有要求のあったタス
クのタスク優先順位と同じに変更するため該資源を占有
中のタスクのタスク管理テーブル2のタスク優先順位6
を変更する。同じく排他制御を要求する資源に対するタ
スクからの占有解放要求を処理する占有解放処理モジュ
ールのプログラム処理を次に示す。占有解放モジュール
は排他制御を要求する資源を占有しているタスクから占
有要求があると資源の占有解放要求のタスクのタスク優
先順位を回復するために、占有解放要求元のタスクのタ
スク管理テーブル2のタスク優先順位退避領域7に退避
しであるタスク優先順位を使ってタスク優先順位6を元
に戻す。さらに該資源の資源管理テーブル1の占有待ち
タスクポインタによって他に該資源を占有要求している
タスクがあるか判断する。該資源を占有要求するタスク
があるとそのタスクのタスク管理テーブル2を該資源の
資源管理テーブル1の占有タスクポインタ4に登録する
と同時に占有待ちタスクのキューから外し新たなタスク
に該資源を割付ける。
もし該資源を要求するタスクがないと該資源の資源管理
テーブル1の占有中フラグ2及び占有タスクポインタを
リセットする。
テーブル1の占有中フラグ2及び占有タスクポインタを
リセットする。
次に本発明の実施例による1つの排他制御を要求する資
源8に対してタスク優先順位の異なるタスクにて競合が
発生した時のタスクの処理完了時間について本発明実施
前と比較する。タスク9゜タスク10、タスク11は順
次タスク優先順位が高いものとし、排他制御を要求する
資′g8をタスク9とタスク11で競合したものとする
。第4図αは本発明実施前のタスクの処理完了時間であ
る。
源8に対してタスク優先順位の異なるタスクにて競合が
発生した時のタスクの処理完了時間について本発明実施
前と比較する。タスク9゜タスク10、タスク11は順
次タスク優先順位が高いものとし、排他制御を要求する
資′g8をタスク9とタスク11で競合したものとする
。第4図αは本発明実施前のタスクの処理完了時間であ
る。
時刻j、、Oにてタスク9にCPUが割付けられ、時欝
1尤1にて排他制御を要求する資源8を占有する。
1尤1にて排他制御を要求する資源8を占有する。
時刻上2にてタスク11がレディ状態となる。そのため
タスク11はタスク9よりタスク優先順位が高いのでC
PUはタスク11に割付けられタスク9はウェイト状態
となる。時刻上3にてタスク11は排他制御を要求する
資源8の占有要求を行なうがタスク9により占有中であ
るため排他制御を要求する資源8の占有待ちとなりウェ
イト状態となる。そのためCPUは再びタスク9に割付
けられる。時刻上4にてタスク10がレディとなる。
タスク11はタスク9よりタスク優先順位が高いのでC
PUはタスク11に割付けられタスク9はウェイト状態
となる。時刻上3にてタスク11は排他制御を要求する
資源8の占有要求を行なうがタスク9により占有中であ
るため排他制御を要求する資源8の占有待ちとなりウェ
イト状態となる。そのためCPUは再びタスク9に割付
けられる。時刻上4にてタスク10がレディとなる。
そのためタスク10はタスク9よりタスク優先順位が高
いのでCPUはタスク10に割付けられタスク9はウェ
イト状態となる。時刻上5にてタスク10は処理完了等
でCPUを開放する。タスク11は排他制御を要求する
資源8の占有待ちのためCPUはタスク9に割付けられ
時刻上6にて処理が完了して排他制御を要求する資源8
を開放する。その結果タスク11は排他制御を要求する
資源8の占有待ちが解除され時刻上7にて処理が完了す
る。次に第4図すにて本発明実施時のタスクの処理完了
時間を示す。時刻上1にてタスク9にCPUが割付けら
れ時刻、1.0にてタスク9にCPUが割付けられ時刻
上1にて排他制御を要求する資源8を占有する。時刻上
2にてタスク11がレディ状態となる。そのためタスク
11はタスク9よりタスク優先順位が高いのでCPUは
タスク11に割付けられタスク9はウェイト状態となる
。時刻上3にてタスク11は排他制御を要求する資源8
の占有要求を行なうがタスク9により占有中であるため
排他制御を要求する資源8の占有待ちとなりウェイト状
態となる。この時本発明の効果によりタスク9はタスク
11と同しタスク優先順位となる。そしてCPUはタス
ク9に割付けられる0時刻上4にてタスク10がレディ
となるが、タスク9はタスク10よりもタスク優先順位
が高いのでタスクスイッチは行こらずタスク9に引続き
CPUは割付けられる。時刻上8にてタスク9は処理が
完了して排他制御を要求する資源8を解放する。その時
本発明の効果によりタスク9のタスク優先順位は元に戻
る。その結果タスク11の排他制御を要求する資源8の
占有待ちが解除されレディ状態となる。この時タスク1
0とタスク11とではタスク11がタスク優先順位が高
いのでタスク11にCPUが割付けられる。時刻上9に
てタスク11の処理が完了し排他制御を要求する資源が
解放され、さらにCPUはタスク10に割付けられる。
いのでCPUはタスク10に割付けられタスク9はウェ
イト状態となる。時刻上5にてタスク10は処理完了等
でCPUを開放する。タスク11は排他制御を要求する
資源8の占有待ちのためCPUはタスク9に割付けられ
時刻上6にて処理が完了して排他制御を要求する資源8
を開放する。その結果タスク11は排他制御を要求する
資源8の占有待ちが解除され時刻上7にて処理が完了す
る。次に第4図すにて本発明実施時のタスクの処理完了
時間を示す。時刻上1にてタスク9にCPUが割付けら
れ時刻、1.0にてタスク9にCPUが割付けられ時刻
上1にて排他制御を要求する資源8を占有する。時刻上
2にてタスク11がレディ状態となる。そのためタスク
11はタスク9よりタスク優先順位が高いのでCPUは
タスク11に割付けられタスク9はウェイト状態となる
。時刻上3にてタスク11は排他制御を要求する資源8
の占有要求を行なうがタスク9により占有中であるため
排他制御を要求する資源8の占有待ちとなりウェイト状
態となる。この時本発明の効果によりタスク9はタスク
11と同しタスク優先順位となる。そしてCPUはタス
ク9に割付けられる0時刻上4にてタスク10がレディ
となるが、タスク9はタスク10よりもタスク優先順位
が高いのでタスクスイッチは行こらずタスク9に引続き
CPUは割付けられる。時刻上8にてタスク9は処理が
完了して排他制御を要求する資源8を解放する。その時
本発明の効果によりタスク9のタスク優先順位は元に戻
る。その結果タスク11の排他制御を要求する資源8の
占有待ちが解除されレディ状態となる。この時タスク1
0とタスク11とではタスク11がタスク優先順位が高
いのでタスク11にCPUが割付けられる。時刻上9に
てタスク11の処理が完了し排他制御を要求する資源が
解放され、さらにCPUはタスク10に割付けられる。
時刻1oにてタスク1oの処理が完了する。
以上に示すようにタスク優先順位の一番高いタスク11
の処理が完了するのは本発明実施前では時刻上7である
が、本発明を実施した場合時刻上9であり尤7〉尤9と
なりタスク11が優先的に処理されるのがわかる。又タ
スクスイッチの発生は本発明実施前では5回に対し本発
明実施後は4回となり、タスクスイッチによる処理オー
バヘッドの削減も可能となる。
の処理が完了するのは本発明実施前では時刻上7である
が、本発明を実施した場合時刻上9であり尤7〉尤9と
なりタスク11が優先的に処理されるのがわかる。又タ
スクスイッチの発生は本発明実施前では5回に対し本発
明実施後は4回となり、タスクスイッチによる処理オー
バヘッドの削減も可能となる。
本発明によれば、排他制御を要求する資源に対し複数の
タスクで競合した場合、該資源を占有中のタスクのタス
ク優先順位を該資源を占有要求するタスクの一番高いタ
スク優先順位に変更できるので排他制御を要求する資源
の競合によってタスク優先順位の高いタスクがタスク優
先順位の低いタスクのCPU割付は待ち時間を待つこと
なく優先的に処理することができる。さらにタスクスイ
ッチの減少により、処理オーバーヘッドも削減すること
ができる。
タスクで競合した場合、該資源を占有中のタスクのタス
ク優先順位を該資源を占有要求するタスクの一番高いタ
スク優先順位に変更できるので排他制御を要求する資源
の競合によってタスク優先順位の高いタスクがタスク優
先順位の低いタスクのCPU割付は待ち時間を待つこと
なく優先的に処理することができる。さらにタスクスイ
ッチの減少により、処理オーバーヘッドも削減すること
ができる。
第1図は本発明の一実施例を示す排他制御を要求する資
源の資源管理テーブルの構成図、第2図はタスクのタス
ク管理テーブルの構成図、第3図は排他制御を要求する
資源に対する占有要求時及び解放要求時の排他制御モジ
ュールと占有解放モジュールのプログラムフロー図、第
4図は本発明を実施前と実施後のタスクの処理完了時間
を示す説明図である。 1・・・資源管理テーブル、2・・・占有中フラグ、3
・・・占有待ちタスクポインタ、4・・・占有タスクポ
インタ、5・・・タスク管理テーブル、6・・・タスク
優先順位、7・・・タスク優先順位退避領域、8・・・
排他制御を要求する資源、9〜11タスク、尤0〜尤1
0 ・・処理時刻。 集 図 集 図
源の資源管理テーブルの構成図、第2図はタスクのタス
ク管理テーブルの構成図、第3図は排他制御を要求する
資源に対する占有要求時及び解放要求時の排他制御モジ
ュールと占有解放モジュールのプログラムフロー図、第
4図は本発明を実施前と実施後のタスクの処理完了時間
を示す説明図である。 1・・・資源管理テーブル、2・・・占有中フラグ、3
・・・占有待ちタスクポインタ、4・・・占有タスクポ
インタ、5・・・タスク管理テーブル、6・・・タスク
優先順位、7・・・タスク優先順位退避領域、8・・・
排他制御を要求する資源、9〜11タスク、尤0〜尤1
0 ・・処理時刻。 集 図 集 図
Claims (1)
- 1、タスク優先順位にてCPUを割付けるとともに、各
タスクで共通に利用するCPU以外の資源をタスクに対
して排他的に割付ける多重プログラミング処理システム
において、排他制御を要求する資源を占有しているタス
クの優先順位が、後より該資源の占有を要求したタスク
を比較して低い場合、先に該資源を占有しているタスク
の優先順位を、該資源を占有している期間後より該資源
の占有の要求を行なったタスクの優先順位と同じか、あ
るいはそれ以上に再設定する機能を設けたことを特徴と
するタスク優先順位管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2386589A JPH02204838A (ja) | 1989-02-03 | 1989-02-03 | タスク優先順位管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2386589A JPH02204838A (ja) | 1989-02-03 | 1989-02-03 | タスク優先順位管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02204838A true JPH02204838A (ja) | 1990-08-14 |
Family
ID=12122336
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2386589A Pending JPH02204838A (ja) | 1989-02-03 | 1989-02-03 | タスク優先順位管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02204838A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04195432A (ja) * | 1990-11-28 | 1992-07-15 | Nec Corp | タスク管理装置 |
| JPH05204675A (ja) * | 1992-01-30 | 1993-08-13 | Toshiba Corp | スケジューリング方式 |
| JPH06187175A (ja) * | 1992-12-18 | 1994-07-08 | Erugu Kk | マルチタスクコンピューティングシステムの排他制御方式 |
-
1989
- 1989-02-03 JP JP2386589A patent/JPH02204838A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04195432A (ja) * | 1990-11-28 | 1992-07-15 | Nec Corp | タスク管理装置 |
| JPH05204675A (ja) * | 1992-01-30 | 1993-08-13 | Toshiba Corp | スケジューリング方式 |
| JPH06187175A (ja) * | 1992-12-18 | 1994-07-08 | Erugu Kk | マルチタスクコンピューティングシステムの排他制御方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
| EP0425320A2 (en) | Multiprocessor system and process synchronisation method therefor | |
| US5666523A (en) | Method and system for distributing asynchronous input from a system input queue to reduce context switches | |
| JPH0628323A (ja) | プロセス実行制御方法 | |
| JPH02204838A (ja) | タスク優先順位管理方式 | |
| JP3644042B2 (ja) | マルチタスク処理装置 | |
| CN117931412B (zh) | 一种双内核实时操作系统及任务调度方法 | |
| JP2667575B2 (ja) | タスクスケジューリング方式 | |
| JPH1049388A (ja) | 入出力制御装置 | |
| JPH05120041A (ja) | 資源割り当て管理方式 | |
| JPH05120039A (ja) | タスクスケジユーリング方式 | |
| JPH0877026A (ja) | 情報処理方法とその装置 | |
| JP2692647B2 (ja) | マルチタスク制御方法および制御システム | |
| JPH0640315B2 (ja) | 中央処理装置割り当て制御方式 | |
| JPH05204875A (ja) | スレッドのスケジュール方式 | |
| JPH01258135A (ja) | トランザクション実行制御方式 | |
| JPS62290958A (ja) | タスクスケジユ−ル方式 | |
| JPS58107961A (ja) | 情報処理装置の制御方法 | |
| JPH0586574B2 (ja) | ||
| JPS63113738A (ja) | タスクスケジユ−ル方式 | |
| JPH04128957A (ja) | マルチプロセッサシステムにおける共有資源の排他制御方法 | |
| JPS5924349A (ja) | マルチタスク計算機システムのタスクスケジユ−ル方式 | |
| CN116483527A (zh) | 一种基于uCOS-II的多任务调度方法与系统 | |
| JPH04100156A (ja) | タスクプライオリティ管理装置 | |
| CN121900952A (zh) | 一种任务调度方法、装置、设备及介质 |