JP2570198B2 - タイムスライスディスパッチングシステム - Google Patents
タイムスライスディスパッチングシステムInfo
- Publication number
- JP2570198B2 JP2570198B2 JP6243762A JP24376294A JP2570198B2 JP 2570198 B2 JP2570198 B2 JP 2570198B2 JP 6243762 A JP6243762 A JP 6243762A JP 24376294 A JP24376294 A JP 24376294A JP 2570198 B2 JP2570198 B2 JP 2570198B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- executable
- priority
- state
- time
- 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.)
- Expired - Fee Related
Links
Description
て複数のタスクを同時に実行する際のタイムスライスデ
ィスパッチングシステムに関する。
会社から発行された「ACOS−4/XVP スーパバ
イザ解説書、DDA82−4」において開示されてい
る、タイムスライスディスパッチング方式においては、
時分割の間隔であるタイムスライスインターバルは、タ
スクをカテゴライズしたジョブクラス毎に一定の値しか
指定することができなかった。
のタイムスライス値制御方式においては、応答性の必要
なタスクがあるか否かでシステムで一意のタイムスライ
ス値を決定している。
は、タイムスライスインターバルの値をジョブクラスの
性質、あるいはタスクの属性により可変とすることによ
りタイムスライスディスパッチング方式によるシステム
の効率化の効果をより多く引き出そうというものであ
る。
ては、システムで同時に実行されているタスク数の考慮
を行っていないので、複数のプライオリティのタスクが
混在して動作するシステムにおいて、同時に実行される
タスク数が多くなると、プライオリティの高いタスクへ
のCPUが割り当てられている時間が長くなり、プライ
オリティの低いタスクへはCPUがあまり割り当てられ
なくなることになり、低いプライオリティのタスクにつ
いては、実行タスクの切り替えが長い間発生しなくなる
という問題がある。
なくなると、不必要な実行タスクの切り替えが頻繁に行
われることになり、タスクの切り替えのためのシステム
のオーバーヘッドが大きくなるという問題があった。
し、タスクを効率良く実行することができるタイムスラ
イスディスパッチングシステムを提供することにある。
ィのタスクが多数混在して動作するシステムにおいて、
システムで同時に実行されているタスク数が変動した場
合に、高いプライオリティのタスクであっても必要以上
の実行タスクの切り替えが発生せず、低いプライオリテ
ィのタスクであっても比較的短い時間間隔でCPUが割
り当てられる、柔軟で効率の良いタイムスライスディス
パッチングシステムを提供することにある。
ライスディスパッチングシステムは、タスクの実行状態
が、実行保留状態または実行待機状態から実行可能状態
に変更される時に、該タスクのプライオリティに対応す
る実行可能タスク数に1を加算し、実行可能状態から実
行保留状態または実行待機状態に変更される時に、該タ
スクのプライオリティに対応する実行可能タスク数から
1減算する実行可能タスク数更新手段と、タスクのプラ
イオリティ変更時に、対象タスクが実行可能状態の場合
は、変更前のプライオリティに対応する実行可能タスク
数から1減算し、変更後のプライオリティに対応する実
行可能タスク数に1を加算する実行可能タスク数見直し
手段と、一定間隔のサンプリング時に、すべてのプライ
オリティについて、実行可能タスク数と該プライオリテ
ィで実行された全タスクの消費CPU時間の値の比を基
に、タイムスライスインターバル値を更新するタイムス
ライスインターバル更新手段とから構成されている。
チングシステムは、プライオリティ毎に存在し、該プラ
イオリティで実行可能状態にあるタスク数が格納される
実行可能タスク数格納領域と、プライオリティ毎に存在
し、一定のサンプリング間隔の間に該プライオリティの
タスクが消費したCPU時間が積算される消費CPU時
間積算領域と、プライオリティ毎に存在し、該プライオ
リティのタスクにCPUを割り当てる時のタイムスライ
スインターバルが格納されるタイムスライスインターバ
ル格納領域と、タスクの実行状態が、実行保留状態また
は実行待機状態から実行可能状態に変更される時に、該
タスクのプライオリティに対応する前記実行可能タスク
数格納領域の値に1を加算し、実行可能状態から実行保
留状態または実行待機状態に変更される時に、該タスク
のプライオリティに対応する前記実行可能タスク数格納
領域の値を1減算する実行可能タスク数更新手段と、タ
スクのプライオリティ変更時に、対象タスクが実行可能
状態の場合は、変更前のプライオリティに対応する前記
実行可能タスク数格納領域の値を1減算し、変更後のプ
ライオリティに対応する前記実行可能タスク数格納領域
の値に1を加算する実行可能タスク数見直し手段と、一
定間隔のサンプリング時に、すべてのプライオリティに
ついて、前記実行可能タスク数格納領域と前記消費CP
U時間積算領域の値の比を基に、前記タイムスライスイ
ンターバル格納領域のタイムスライスインターバル値を
更新し、その後、前記消費CPU時間積算領域に初期値
を設定するタイムスライスインターバル更新手段とから
構成されている。
チングシステムは、プライオリティ毎に存在し、該プラ
イオリティで実行可能状態にあるタスク数が格納される
実行可能タスク数格納領域と、プライオリティ毎に存在
し、一定のサンプリング間隔の間に該プライオリティの
タスクが消費したCPU時間が積算される消費CPU時
間積算領域と、プライオリティ毎に存在し、該プライオ
リティのタスクにCPUを割り当てる時のタイムスライ
スインターバルが格納されるタイムスライスインターバ
ル格納領域と、システム開始時に、前記実行可能タスク
数格納領域に初期値を設定する実行可能タスク数初期化
手段と、システム開始時に、前記消費CPU時間積算領
域に初期値を設定する消費CPU時間初期化手段と、シ
ステム開始時に、前記タイムスライスインターバル格納
領域に一定の初期値を設定するタイムスライスインター
バル初期化手段と、タスクの実行状態が、実行保留状態
または実行待機状態から実行可能状態に変更される時
に、該タスクのプライオリティに対応する前記実行可能
タスク数格納領域の値に1を加算し、実行可能状態から
実行保留状態または実行待機状態に変更される時に、該
タスクのプライオリティに対応する前記実行可能タスク
数格納領域の値を1減算する実行可能タスク数更新手段
と、タスクのプライオリティ変更時に、対象タスクが実
行可能状態の場合は、変更前のプライオリティに対応す
る前記実行可能タスク数格納領域の値を1減算し、変更
後のプライオリティに対応する前記実行可能タスク数格
納領域の値に1を加算する実行可能タスク数見直し手段
と、一定間隔のサンプリング時に、すべてのプライオリ
ティについて、前記実行可能タスク数格納領域と前記消
費CPU時間積算領域の値の比を基に、前記タイムスラ
イスインターバル格納領域のタイムスライスインターバ
ル値を更新し、その後、前記消費CPU時間積算領域に
初期値を設定するタイムスライスインターバル更新手段
と、ディスパッチャ動作時に、それまでCPUを割り当
てていたタスクのCPU消費時間をそのタスクのプライ
オリティに対応する前記消費CPU時間積算領域に加算
する消費CPU時間更新手段と、ディスパッチャ動作時
に、これからCPUを割り当てるタスクのプライオリテ
ィに対応する前記タイムスライスインターバル格納領域
の値をタイムスライスインターバル値として該タスクに
CPUを割り当てるCPU割り当て手段とから構成され
ている。
しながら詳細に説明する。
るタイムスライスディスパッチングシステムは、プライ
オリティ毎に存在し、該プライオリティで実行可能状態
にあるタスク数が格納される実行可能タスク数格納領域
1と、プライオリティ毎に存在し、一定のサンプリング
間隔の間に該プライオリティのタスクが消費したCPU
時間が積算される消費CPU時間積算領域2と、プライ
オリティ毎に存在し、該プライオリティのタスクにCP
Uを割り当てる時のタイムスライスインターバルが格納
されるタイムスライスインターバル格納領域3と、シス
テム開始時に、実行可能タスク数格納領域1に初期値0
を設定する実行可能タスク数初期化手段11と、システ
ム開始時に、消費CPU時間積算領域2に初期値0を設
定する消費CPU時間初期化手段12と、システム開始
時に、タイムスライスインターバル格納領域3に一定の
初期値を設定するタイムスライスインターバル初期化手
段13と、タスクの実行状態が、実行保留状態または実
行待機状態から実行可能状態に変更される時には、該タ
スクのプライオリティに対応する実行可能タスク数格納
領域1の値に1を加算し、実行可能状態から実行保留状
態または実行待機状態に変更される時には、該タスクの
プライオリティに対応する実行可能タスク数格納領域1
の値を1減算する実行可能タスク数更新手段21と、タ
スクのプライオリティ変更時に、対象タスクが実行可能
状態の場合は、変更前のプライオリティに対応する実行
可能タスク数格納領域1の値を1減算し、変更後のプラ
イオリティに対応する実行可能タスク数格納領域1の値
に1を加算する実行可能タスク数見直し手段31と、一
定間隔のサンプリング時に、すべてのプライオリティに
ついて、実行可能タスク数格納領域1と消費CPU時間
積算領域2の値の比を基に、タイムスライスインターバ
ル格納領域3にタイムスライスインターバル値を設定
し、その後、消費CPU時間積算領域2に0を設定する
タイムスライスインターバル更新手段41と、ディスパ
ッチャ動作時に、それまでCPUを割り当てていたタス
クのCPU消費時間をそのタスクのプライオリティに対
応する消費CPU時間積算領域2に加算する消費CPU
時間更新手段51と、ディスパッチャ動作時にこれから
CPUを割り当てるタスクのプライオリティに対応する
タイムスライスインターバル格納領域3の値をタイムス
ライスインターバル値としてタスクにCPUを割り当て
るCPU割り当て手段52とから構成されている。
スディスパッチングシステムについて、図1〜図4を参
照して説明する。
化手段11は、すべてのプライオリティについて、実行
可能タスク数格納領域1に初期値0を設定し、消費CP
U時間初期化手段12に制御を渡す。
のプライオリティについて、消費CPU時間積算領域2
に初期値0を設定し、タイムスライスインターバル初期
化手段13に制御を渡す。
3は、すべてのプライオリティについて、タイムスライ
スインターバル格納領域3に一定の初期値を設定する。
時に、実行可能タスク数更新手段21は、該タスクの実
行状態が実行保留状態から実行可能状態への変更である
か否かを判定し(ステップ201)、実行保留状態から
実行可能状態への変更であると判定した場合には、実行
可能タスク数格納領域1に1を加算し(ステップ20
6)、処理を終了する。
プ201において、該タスクの実行状態が実行保留状態
から実行可能状態への変更ではないと判定した場合に
は、さらに該タスクの実行状態が実行待機状態から実行
可能状態への変更であるか否かを判定し(ステップ20
2)、実行待機状態から実行可能状態への変更であると
判定した場合には、実行可能タスク数格納領域1に1を
加算し(ステップ206)、処理を終了する。
プ202において、該タスクの実行状態が実行待機状態
から実行可能状態への変更ではないと判定した場合に
は、さらに該タスクの実行状態が実行可能状態から実行
保留状態への変更であるか否かを判定し(ステップ20
3)、実行可能状態から実行保留状態への変更であると
判定した場合には、実行可能タスク数格納領域1から1
を減算し(ステップ205)、処理を終了する。
プ203において、該タスクの実行状態が実行可能状態
から実行保留状態への変更ではないと判定した場合に
は、さらに該タスクの実行状態が実行可能状態から実行
待機状態への変更であるか否かを判定し(ステップ20
4)、実行可能状態から実行待機状態への変更であると
判定した場合には、実行可能タスク数格納領域1から1
を減算し(ステップ205)、処理を終了する。
プ204において、該タスクの実行状態が実行可能状態
から実行待機状態への変更ではないと判定した場合に
は、処理を終了する。
ィ変更時に、実行可能タスク数見直し手段31は、該タ
スクの状態が実行可能状態であるか否かを判定し(ステ
ップ301)、該タスクの状態が実行可能状態ではない
と判定した場合には、処理を終了する。
ップ301において、該タスクの状態が実行可能状態で
あると判定した場合には、変更前のプライオリティに対
応する実行タスク数格納領域1の値を1減算し(ステッ
プ302)、さらに変更後のプライオリティに対応する
実行タスク数格納領域1の値に1を加算し(ステップ3
03)、処理を終了する。
グ時に、タイムスライスインターバル更新手段41は、
すべてのプライオリティについて、タイムスライスイン
ターバル値の設定を行ったか否かを判定し(ステップ4
01)、行った場合には処理を終了する。
は、ステップ401において、すべてのプライオリティ
について、タイムスライスインターバル値の設定を行っ
たと判定した場合には、まだタイムスライスイーバル値
を設定していないプライオリティを1つ選択する(ステ
ップ402)。
は、ステップ402で選択したプライオリティに対応す
るタイムスライスインターバル格納領域3に、実行可能
タスク数格納領域1と消費CPU時間積算領域2の値の
比を基にして求めたタイムスライスインターバル値を設
定し(ステップ403)、さらにステップ402で選択
したプライオリティに対応する消費CPU時間積算領域
2に0を設定し(ステップ404)、ステップ401に
戻る。
ンターバル値の設定方法については、例えば、ステップ
402で選択したプライオリティに対応する消費CPU
時間積算領域2の値を実行可能タスク数格納領域1の値
で除算した値を該プライオリティの新タイムスライスイ
ンターバル値とする方法を設定することができる。
値の設定方法は、この例に限定されるものではなく、現
タイムスライスインターバル値に前回と今回の実行可能
タスク数格納領域1の値の比を乗算して新タイムスライ
スインターバル値とする方法、現タイムスライスインタ
ーバル値に前回と今回の消費CPU時間積算領域2の値
の比を乗算して新タイムスライスインターバル値とする
方法、さらにこれらの比を予め設定したいくつかの新タ
イムスライスインターバル値の何れかにマッピングする
方法等を設定することができる。
更新手段51は、それまでCPUを割り当てていたタス
クのCPU消費時間をそのタスクのプライオリティに対
応する消費CPU時間積算領域2に加算し、CPU割り
当て手段52に制御を渡す。
Uを割り当てるタスクのプライオリティに対応するタイ
ムスライスインターバル格納領域3の値をタイムスライ
スインターバル値としてタスクにCPUを割り当てる。
ムスライスディスパッチングシステムの処理が完了す
る。
ィスパッチングシステムは、一定間隔でプライオリティ
毎のタスク数と消費CPU時間をサンプリングし、その
比率によりプライオリティ毎にタイムスライスインター
バルを設定することにより、複数のプライオリティのタ
スクが多数混在して動作するシステムにおいて、システ
ムで同時に実行されているタスク数が変動した場合に、
高いプライオリティのタスクであっても必要以上の実行
タスクの切り替えが発生せず、低いプライオリティのタ
スクであっても比較的短い時間間隔でCPUを割り当て
ることができる効果を有している。
ライスディスパッチングシステムは、CPUを効率良く
使用し、タスクを効率良く実行することができるという
効果を有している。
新手段21の処理を示す流れ図である。
直し手段31の処理を示す流れ図である。
ターバル更新手段41の処理の示す流れ図である。
Claims (3)
- 【請求項1】 タスクの実行状態が、実行保留状態また
は実行待機状態から実行可能状態に変更される時に、該
タスクのプライオリティに対応する実行可能タスク数に
1を加算し、実行可能状態から実行保留状態または実行
待機状態に変更される時に、該タスクのプライオリティ
に対応する実行可能タスク数から1減算する実行可能タ
スク数更新手段と、 タスクのプライオリティ変更時に、対象タスクが実行可
能状態の場合は、変更前のプライオリティに対応する実
行可能タスク数から1減算し、変更後のプライオリティ
に対応する実行可能タスク数に1を加算する実行可能タ
スク数見直し手段と、 一定間隔のサンプリング時に、すべてのプライオリティ
について、実行可能タスク数と該プライオリティで実行
された全タスクの消費CPU時間の値の比を基に、タイ
ムスライスインターバル値を更新するタイムスライスイ
ンターバル更新手段とを備えたことを特徴とするタイム
スライスディスパッチングシステム。 - 【請求項2】 プライオリティ毎に存在し、該プライオ
リティで実行可能状態にあるタスク数が格納される実行
可能タスク数格納領域と、 プライオリティ毎に存在し、一定のサンプリング間隔の
間に該プライオリティのタスクが消費したCPU時間が
積算される消費CPU時間積算領域と、 プライオリティ毎に存在し、該プライオリティのタスク
にCPUを割り当てる時のタイムスライスインターバル
が格納されるタイムスライスインターバル格納領域と、 タスクの実行状態が、実行保留状態または実行待機状態
から実行可能状態に変更される時に、該タスクのプライ
オリティに対応する前記実行可能タスク数格納領域の値
に1を加算し、実行可能状態から実行保留状態または実
行待機状態に変更される時に、該タスクのプライオリテ
ィに対応する前記実行可能タスク数格納領域の値を1減
算する実行可能タスク数更新手段と、 タスクのプライオリティ変更時に、対象タスクが実行可
能状態の場合は、変更前のプライオリティに対応する前
記実行可能タスク数格納領域の値を1減算し、変更後の
プライオリティに対応する前記実行可能タスク数格納領
域の値に1を加算する実行可能タスク数見直し手段と、 一定間隔のサンプリング時に、すべてのプライオリティ
について、前記実行可能タスク数格納領域と前記消費C
PU時間積算領域の値の比を基に、前記タイムスライス
インターバル格納領域のタイムスライスインターバル値
を更新し、その後、前記消費CPU時間積算領域に初期
値を設定するタイムスライスインターバル更新手段とを
備えたことを特徴とするタイムスライスディスパッチン
グシステム。 - 【請求項3】 プライオリティ毎に存在し、該プライオ
リティで実行可能状態にあるタスク数が格納される実行
可能タスク数格納領域と、 プライオリティ毎に存在し、一定のサンプリング間隔の
間に該プライオリティのタスクが消費したCPU時間が
積算される消費CPU時間積算領域と、 プライオリティ毎に存在し、該プライオリティのタスク
にCPUを割り当てる時のタイムスライスインターバル
が格納されるタイムスライスインターバル格納領域と、 システム開始時に、前記実行可能タスク数格納領域に初
期値を設定する実行可能タスク数初期化手段と、 システム開始時に、前記消費CPU時間積算領域に初期
値を設定する消費CPU時間初期化手段と、 システム開始時に、前記タイムスライスインターバル格
納領域に一定の初期値を設定するタイムスライスインタ
ーバル初期化手段と、 タスクの実行状態が、実行保留状態または実行待機状態
から実行可能状態に変更される時に、該タスクのプライ
オリティに対応する前記実行可能タスク数格納領域の値
に1を加算し、実行可能状態から実行保留状態または実
行待機状態に変更される時に、該タスクのプライオリテ
ィに対応する前記実行可能タスク数格納領域の値を1減
算する実行可能タスク数更新手段と、 タスクのプライオリティ変更時に、対象タスクが実行可
能状態の場合は、変更前のプライオリティに対応する前
記実行可能タスク数格納領域の値を1減算し、変更後の
プライオリティに対応する前記実行可能タスク数格納領
域の値に1を加算する実行可能タスク数見直し手段と、 一定間隔のサンプリング時に、すべてのプライオリティ
について、前記実行可能タスク数格納領域と前記消費C
PU時間積算領域の値の比を基に、前記タイムスライス
インターバル格納領域のタイムスライスインターバル値
を更新し、その後、前記消費CPU時間積算領域に初期
値を設定するタイムスライスインターバル更新手段と、 ディスパッチャ動作時に、それまでCPUを割り当てて
いたタスクのCPU消費時間をそのタスクのプライオリ
ティに対応する前記消費CPU時間積算領域に加算する
消費CPU時間更新手段と、 ディスパッチャ動作時に、これからCPUを割り当てる
タスクのプライオリティに対応する前記タイムスライス
インターバル格納領域の値をタイムスライスインターバ
ル値として該タスクにCPUを割り当てるCPU割り当
て手段とを備えたことを特徴とするタイムスライスディ
スパッチングシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6243762A JP2570198B2 (ja) | 1994-10-07 | 1994-10-07 | タイムスライスディスパッチングシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6243762A JP2570198B2 (ja) | 1994-10-07 | 1994-10-07 | タイムスライスディスパッチングシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08106396A JPH08106396A (ja) | 1996-04-23 |
JP2570198B2 true JP2570198B2 (ja) | 1997-01-08 |
Family
ID=17108611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6243762A Expired - Fee Related JP2570198B2 (ja) | 1994-10-07 | 1994-10-07 | タイムスライスディスパッチングシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2570198B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309463B (zh) * | 2020-02-05 | 2023-04-07 | 北京明略软件系统有限公司 | 一种任务执行时间的确定方法、确定装置及可读存储介质 |
-
1994
- 1994-10-07 JP JP6243762A patent/JP2570198B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08106396A (ja) | 1996-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3588485B2 (ja) | プロセススケジューリング方式 | |
US6349321B1 (en) | Data processing system and scheduling method | |
EP1059582A2 (en) | Virtual machine system | |
JPH0756634B2 (ja) | チユ−ニング可能なオペレ−テイングシステム手段を有するデ−タ処理システム | |
JPH07141305A (ja) | 並列計算機の実行制御方法 | |
JPS5833586B2 (ja) | 情報処理システム | |
CN111124674A (zh) | 一种硬件资源的管理方法、存储介质及终端 | |
CN112559176B (zh) | 一种指令处理方法和装置 | |
JP2570198B2 (ja) | タイムスライスディスパッチングシステム | |
JP2001117786A (ja) | プロセススケジューリング装置およびプロセススケジューリング方法 | |
JP2001256062A (ja) | 割込処理方法およびその方法を用いた演算処理装置 | |
JPH01180641A (ja) | Cpuソース平均化方式 | |
JPS63636A (ja) | タスク制御方式 | |
JPH07114518A (ja) | マルチプロセッサシステムにおけるタスクスケジューリング方式 | |
JPH0822396A (ja) | タスク実行管理装置とその方法 | |
JPS6152761A (ja) | 演算装置 | |
JP2890569B2 (ja) | プロセス制御装置 | |
JPH04340135A (ja) | 複数処理型間のcpu時間配分率制御方式 | |
JPH02211545A (ja) | ジョブ実行制御方式 | |
JPH01261730A (ja) | Cpuリソース平均化方式 | |
JP2000194573A (ja) | スレッド制御システムおよびスレッド制御方法 | |
JPH0354603A (ja) | マルチタスクの処理方法 | |
JPH01282643A (ja) | インターバル・タイムの動的変更方式 | |
JPH0512038A (ja) | Cpu待ち時間制御デイスパツチング方式 | |
JPH01177638A (ja) | ジョブスケジューリング方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960820 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071024 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091024 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091024 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101024 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |