JPS636655A - タスクスケジユ−ル方式 - Google Patents
タスクスケジユ−ル方式Info
- Publication number
- JPS636655A JPS636655A JP14955586A JP14955586A JPS636655A JP S636655 A JPS636655 A JP S636655A JP 14955586 A JP14955586 A JP 14955586A JP 14955586 A JP14955586 A JP 14955586A JP S636655 A JPS636655 A JP S636655A
- Authority
- JP
- Japan
- Prior art keywords
- task
- resource
- resources
- tasks
- state
- 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
- 238000000034 method Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100510615 Caenorhabditis elegans lag-2 gene Proteins 0.000 description 1
- 235000003801 Castanea crenata Nutrition 0.000 description 1
- 244000209117 Castanea crenata Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメモリを共用するマルチプロセッサシステムに
おけるタスクのスケジューリング方式に関するものであ
る。
おけるタスクのスケジューリング方式に関するものであ
る。
タスクスケジューリング方式において、従来は吉沢康文
者「オペレーティングシステムの実際」。
者「オペレーティングシステムの実際」。
4.2節 タスクの状態とスケジューリング、昭晃堂(
1984)に示されるように、先入れ先出し方式、プラ
イオリティによる方式、プロセッサ使用時間の長いタス
クよりIloの多いタスクを優先する方式、処理時間の
目標1直を守るように処理順序を変える方式等があった
。これら方式では。
1984)に示されるように、先入れ先出し方式、プラ
イオリティによる方式、プロセッサ使用時間の長いタス
クよりIloの多いタスクを優先する方式、処理時間の
目標1直を守るように処理順序を変える方式等があった
。これら方式では。
タスクのリソース使用状況および要求状況は考慮されて
いなかった。
いなかった。
従来の方式においては、リソースを待つタスクが大量に
発生した場合でも、すぐには起動されない。中央処理装
置が複数あってもこれらリソースを使用するタスクは、
同時には1個しか実行できず、各タスクの各リソース使
用割合の高い場合。
発生した場合でも、すぐには起動されない。中央処理装
置が複数あってもこれらリソースを使用するタスクは、
同時には1個しか実行できず、各タスクの各リソース使
用割合の高い場合。
現在完全に使用できても将来リソースネックになってし
まう可能性がある。
まう可能性がある。
本発明は従来のタスクキューの他にリソースの種別対応
のリソース待ちキューを追加する。またリソース種別毎
に平均リソース使用率を設定するテーブルを持つ。リソ
ースの使用率を累計しておき、−定間隔でこれをもとに
平均リソース使用率を再設定する。リソース競合時は、
対応するりノーδ待ちキューにタスクを入れる。タスク
スケジュール時に、各リソースが使用中かどうかを平均
リソース使用率の高い順に調べ、リソース未菱用ならリ
ソース待ちキュー中のタスクをまずスケジュールする。
のリソース待ちキューを追加する。またリソース種別毎
に平均リソース使用率を設定するテーブルを持つ。リソ
ースの使用率を累計しておき、−定間隔でこれをもとに
平均リソース使用率を再設定する。リソース競合時は、
対応するりノーδ待ちキューにタスクを入れる。タスク
スケジュール時に、各リソースが使用中かどうかを平均
リソース使用率の高い順に調べ、リソース未菱用ならリ
ソース待ちキュー中のタスクをまずスケジュールする。
タスクがリソースを解放した場合。
他にリソース待ちをしているタスクがあれば上記の再ス
ケジュールを行ってそちらに切Ltえるようにする。ま
た、タスクがI10割シ込み処理等により中断された場
合、中断されたタスクがリソース使用中であれば対応す
るリソース待ちキューの先頭に入れる。
ケジュールを行ってそちらに切Ltえるようにする。ま
た、タスクがI10割シ込み処理等により中断された場
合、中断されたタスクがリソース使用中であれば対応す
るリソース待ちキューの先頭に入れる。
本発明の作用は、メモリを共用するプロセッサ上のタス
クスケジューラにおいてタスクが複数の排他リソースを
高い割合で開用する場合、これらリソースを侍っている
タスクがある時に、いずれかのプロセッサでリソースを
使用するタスクを実行することにより、将来発生し得る
リソースの競合によるプロセッサのアイドルを防止する
ことである。
クスケジューラにおいてタスクが複数の排他リソースを
高い割合で開用する場合、これらリソースを侍っている
タスクがある時に、いずれかのプロセッサでリソースを
使用するタスクを実行することにより、将来発生し得る
リソースの競合によるプロセッサのアイドルを防止する
ことである。
また、平均リソース使用率の高い順に対応するタスクの
処理を行うことにより、リソース競合防止効果を一層高
いものにすることができる。
処理を行うことにより、リソース競合防止効果を一層高
いものにすることができる。
平均リソース使用率の動的変更にニジ比較的長い期間の
システム負荷の変動に追従できる。
システム負荷の変動に追従できる。
以下2本発明の一実施例を説明する。第1図は。
本発明のタスクスケジューラの概要図である。タスクス
ケジューラ1は、各タスクの終了時リソースの占有解放
時あるいは入出力要求時などに1次に処理するタスクを
選択し起動するために起動される。リソースの要求はプ
ロセッサを!f1」り当てられているタスクからのみ行
う。タスクの入出力要求時などタスクがプロセッサを割
り当て可能でない状態になる時は必ずリソースを解放す
ることにより、リソースは現在プロセッサをJIJり当
てられているあるいは割り当て可能で中断されているタ
スクのみが占有している。
ケジューラ1は、各タスクの終了時リソースの占有解放
時あるいは入出力要求時などに1次に処理するタスクを
選択し起動するために起動される。リソースの要求はプ
ロセッサを!f1」り当てられているタスクからのみ行
う。タスクの入出力要求時などタスクがプロセッサを割
り当て可能でない状態になる時は必ずリソースを解放す
ることにより、リソースは現在プロセッサをJIJり当
てられているあるいは割り当て可能で中断されているタ
スクのみが占有している。
タスクの状態遷移は第2図に示すように行われる。タス
クは生成されるとレディ状態10に入り。
クは生成されるとレディ状態10に入り。
リソース非占有実行状911で、終了する(この処理は
図示せず)。レディ状態10のタスクはタスクスケジュ
−ラVcよりリソース非占有実行状態11に入る。リソ
ース非占有実行状態11のタスクがリソースを使用する
時、リソース占有処理が成功した場合はリソース占有実
行状態12に、失敗した場合はリソース待ち状態13に
入る。リソース占有実行状態12でリソース解放時は、
リソース解放処理により他にリソース待ちタスクで実行
可能なものがある場合レディ状B10に、そうでなけれ
ばリソース非占有実行状態11に入る。
図示せず)。レディ状態10のタスクはタスクスケジュ
−ラVcよりリソース非占有実行状態11に入る。リソ
ース非占有実行状態11のタスクがリソースを使用する
時、リソース占有処理が成功した場合はリソース占有実
行状態12に、失敗した場合はリソース待ち状態13に
入る。リソース占有実行状態12でリソース解放時は、
リソース解放処理により他にリソース待ちタスクで実行
可能なものがある場合レディ状B10に、そうでなけれ
ばリソース非占有実行状態11に入る。
リソース待ち状態13のタスクはタスクスケジューラに
より選択された場合にリソース占有実行状態12となる
。リソース非占有実行状態11.およびリソース占有実
行状態12でタスク中断が発生した場合、中断処理によ
りそれぞれレディ状態10、およびリソース占有中断状
態14に入る。
より選択された場合にリソース占有実行状態12となる
。リソース非占有実行状態11.およびリソース占有実
行状態12でタスク中断が発生した場合、中断処理によ
りそれぞれレディ状態10、およびリソース占有中断状
態14に入る。
リソース占有中断状態14のタスクはタスクスケジュー
ラに選択された場合、リソース占有実行状態12に戻る
。なお、第1図ではリソース占有中断状態のタスクはリ
ソース待ちキューの先頭に置かれる。
ラに選択された場合、リソース占有実行状態12に戻る
。なお、第1図ではリソース占有中断状態のタスクはリ
ソース待ちキューの先頭に置かれる。
第3図に処理の流れを示すように、タスクスケジューラ
1は、まず、リソーステーブル5中のリソース使用中7
ラグ2をエントリの順に見て他のプロセッサが当該リソ
ースを使用中でないエントリあるいはポインタ8をたど
った時リソース占有中のタスクが対応するリソース待ち
キュー3の先頭に入っているエントリを見付け、対応す
るリソース待ちキュー3の先頭のタスク全敗シ出しスケ
ジュールする。リソーステーブル5のエントリは。
1は、まず、リソーステーブル5中のリソース使用中7
ラグ2をエントリの順に見て他のプロセッサが当該リソ
ースを使用中でないエントリあるいはポインタ8をたど
った時リソース占有中のタスクが対応するリソース待ち
キュー3の先頭に入っているエントリを見付け、対応す
るリソース待ちキュー3の先頭のタスク全敗シ出しスケ
ジュールする。リソーステーブル5のエントリは。
あらかじめ初期設定の時に平均リソース使用率に基づき
、その多い順に並べかえられている。当該リソース待ち
キュー3が空なら1次のエントリを見にいく。すべての
リソースについて、このチエツクが終了してもスケジュ
ールすべきタスクがなければ、レディキュー4よりタス
クをスケジュールする。
、その多い順に並べかえられている。当該リソース待ち
キュー3が空なら1次のエントリを見にいく。すべての
リソースについて、このチエツクが終了してもスケジュ
ールすべきタスクがなければ、レディキュー4よりタス
クをスケジュールする。
タスクからリソースの占有解放を行う場合次のようにす
る。第4図に示すように占有要求時、リソース受用中フ
ラグがONなら対応するリソース待ちキュー3へ入る1
、そして別のリソースを要求しているタスクをスケジュ
ールするためタスクスケジューラへ行く。
る。第4図に示すように占有要求時、リソース受用中フ
ラグがONなら対応するリソース待ちキュー3へ入る1
、そして別のリソースを要求しているタスクをスケジュ
ールするためタスクスケジューラへ行く。
解放時は第5図に示すように、fllllのリソース待
ちキュー中のタスクがあれば自タスクを中断し、そのタ
スクを起動するためタスクスケジューラへ行く。
ちキュー中のタスクがあれば自タスクを中断し、そのタ
スクを起動するためタスクスケジューラへ行く。
タスク中断処理は第6図に示すように、タスクがリソー
スを使用中であれば対応するリソース待ちキューの先頭
に、そうでなければレディキューに入れる。
スを使用中であれば対応するリソース待ちキューの先頭
に、そうでなければレディキューに入れる。
リソース受用率再設定処理は、定期的に起動され、第7
図に示す:うにリソーステーブル5における前回再設定
時以降のリソース使用時間7をその間の平均リソース使
用率に比例していると考え。
図に示す:うにリソーステーブル5における前回再設定
時以降のリソース使用時間7をその間の平均リソース使
用率に比例していると考え。
その多い順にエントリを並べかえる。そのめと、全エン
トリのリソース使用時間7をクリヤする。
トリのリソース使用時間7をクリヤする。
本実施例にプライオリティスケジュールを導入すること
は下記の方法により可能である。
は下記の方法により可能である。
(1)リソース使用状況をタスクプライオリティより優
先する場合、レディキュー4の部分をプライオリティ順
のキューとしタスクを入れる時プライオリティ順に入れ
る。
先する場合、レディキュー4の部分をプライオリティ順
のキューとしタスクを入れる時プライオリティ順に入れ
る。
(2)タスクプライオリティ全リソース使用状況より優
先する場合、リソーステーブル5およびレディキュー4
をタスクプライオリティ毎に用意し、実行可屈なタスク
の存在するタスクプライオリティをまず選択してその中
で上記のタスクスケジュールを行う。
先する場合、リソーステーブル5およびレディキュー4
をタスクプライオリティ毎に用意し、実行可屈なタスク
の存在するタスクプライオリティをまず選択してその中
で上記のタスクスケジュールを行う。
本発明によれば、リソースを侍っているタスクが多数存
在する時、これらを最大限に並行処理することにより、
リソースの競合によるプロセッサのアイドルを防止する
ことができる。
在する時、これらを最大限に並行処理することにより、
リソースの競合によるプロセッサのアイドルを防止する
ことができる。
また、リソース平均l用率の高い順にプロセッサをタス
クに与えることにより、リソース競合時のプロセッサア
イドルを最少限にする。定期的にそれ以前のリソース使
用時間に基づき上記のリソース使用率を再設定すること
にニジ、長期的なリソース使用状況の変化に追従して上
記の処理を行うことができる。
クに与えることにより、リソース競合時のプロセッサア
イドルを最少限にする。定期的にそれ以前のリソース使
用時間に基づき上記のリソース使用率を再設定すること
にニジ、長期的なリソース使用状況の変化に追従して上
記の処理を行うことができる。
第1図は、タスクスケジューラの処理概要図。
第2図はタスクの状態遷移図、第3図はタスクスケジュ
ーラの処理の流れ図、第4図はリソース占有時の処理の
流れ図、第5図はリソース解放時の処理の流れ図、第6
図はタスク中断処理の流れ図。 第7図はリソース使用率再設定の処理の流れ図である。 1・・・タスクスケジューラ、2・・・リソース使用中
フラグ、3・・・リソース待ちキュー、4・・・レディ
キューs 5・・・リソーステーブル、10・・・レデ
ィ状態。 11・・・リソース非占有実行状態、12・・・リソー
ス占有実行状態、13・・・リソース待ち状態、14・
・・1)77占有″1′断状態・
−1−:=、>、代理人 弁理士 小川勝男 ′) 第2区 箭30 第4 凹 篤 5 圀 里7侶 ′lf:16固
ーラの処理の流れ図、第4図はリソース占有時の処理の
流れ図、第5図はリソース解放時の処理の流れ図、第6
図はタスク中断処理の流れ図。 第7図はリソース使用率再設定の処理の流れ図である。 1・・・タスクスケジューラ、2・・・リソース使用中
フラグ、3・・・リソース待ちキュー、4・・・レディ
キューs 5・・・リソーステーブル、10・・・レデ
ィ状態。 11・・・リソース非占有実行状態、12・・・リソー
ス占有実行状態、13・・・リソース待ち状態、14・
・・1)77占有″1′断状態・
−1−:=、>、代理人 弁理士 小川勝男 ′) 第2区 箭30 第4 凹 篤 5 圀 里7侶 ′lf:16固
Claims (1)
- 【特許請求の範囲】 1、主メモリを共用するマルチプロセッサ上で複数種類
のリソースで各種類毎に1個しかないリソースを一度に
1個ずつ交互に排他使用する複数のタスクをスケジュー
ルするスケジユーラにおいて、各リソースに関して少な
くとも1個のタスクがリソースを使用状態あるいは使用
を要求して待ち状態にある間は、常にマルチプロセッサ
のうち1台が当該リソースを使用状態のタスクを実行す
るようスケジュールすることを特徴とするタスクスケジ
ュール方式。 2、上記方式において、少なくとも1つのタスクが使用
状態あるいは使用を要求して待ち状態にあるリソースの
種別数がプロセッサ台数より多い場合、あらかじめ設定
してあるタスクの平均リソース使用率に基づき最も使用
率の高いリソースから順にプロセッサ台数分のリソース
に対応してこれらリソースを使用するタスクを各種別毎
に1つずつ実行するようにスケジュールすることを特徴
とする第1項記載のタスクスケジュール方式。 3、上記方式において、タスクの平均リソース使用率を
定期的に観測値に基づき再設定することを特徴とする第
2項記載のタスクスケジュール方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14955586A JPS636655A (ja) | 1986-06-27 | 1986-06-27 | タスクスケジユ−ル方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14955586A JPS636655A (ja) | 1986-06-27 | 1986-06-27 | タスクスケジユ−ル方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS636655A true JPS636655A (ja) | 1988-01-12 |
Family
ID=15477725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14955586A Pending JPS636655A (ja) | 1986-06-27 | 1986-06-27 | タスクスケジユ−ル方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS636655A (ja) |
-
1986
- 1986-06-27 JP JP14955586A patent/JPS636655A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3678414B2 (ja) | 多重プロセッサ・システム | |
US4908750A (en) | Data processing system having tunable operating system means | |
US5826081A (en) | Real time thread dispatcher for multiprocessor applications | |
JPH0954699A (ja) | 計算機のプロセススケジューラ | |
JP2000056992A (ja) | タスクスケジューリングシステム、方法及び記録媒体 | |
JPH0628323A (ja) | プロセス実行制御方法 | |
CN108845870B (zh) | 一种基于pWCET整形的概率性实时任务调度方法 | |
JPS636655A (ja) | タスクスケジユ−ル方式 | |
Bunt | Scheduling techniques for operating systems | |
JP2667575B2 (ja) | タスクスケジューリング方式 | |
JPH0782444B2 (ja) | タスクスケジユ−ル方式 | |
JPH0640315B2 (ja) | 中央処理装置割り当て制御方式 | |
JP2000259430A (ja) | コンピュータシステムの処理方法 | |
JPS63300326A (ja) | トランザクション実行スケジュ−ル方式 | |
JPS62290958A (ja) | タスクスケジユ−ル方式 | |
JP3169316B2 (ja) | タスクスケジューリング方法 | |
JPS59170950A (ja) | タスク優先制御方式 | |
JP2692647B2 (ja) | マルチタスク制御方法および制御システム | |
JPH11249917A (ja) | 並列型計算機及びそのバッチ処理方法及び記録媒体 | |
JPS6316775B2 (ja) | ||
Sharma et al. | A Study of CPU Scheduling Algorithms | |
JPS63301332A (ja) | ジョブ実行方式 | |
CN116483527A (zh) | 一种基于uCOS-II的多任务调度方法与系统 | |
WO1992003784A1 (en) | Scheduling method for a multiprocessing operating system | |
JPS62271147A (ja) | タスク制御方法 |