JPH02281338A - タスクの制御方法 - Google Patents
タスクの制御方法Info
- Publication number
- JPH02281338A JPH02281338A JP10300889A JP10300889A JPH02281338A JP H02281338 A JPH02281338 A JP H02281338A JP 10300889 A JP10300889 A JP 10300889A JP 10300889 A JP10300889 A JP 10300889A JP H02281338 A JPH02281338 A JP H02281338A
- Authority
- JP
- Japan
- Prior art keywords
- task
- request
- running
- address
- tasks
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000010586 diagram Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はオペレーティングシステム内の各タスクへCP
Uを割り当てる制御であるタスクの制御方法に係り、特
に割り当てる優先度を動的に変更して行うタスクの制御
方法に関する。
Uを割り当てる制御であるタスクの制御方法に係り、特
に割り当てる優先度を動的に変更して行うタスクの制御
方法に関する。
(従来の技術)
周知のように、オペレーティングシステムでは、仕事の
単位としてジョブが定義され、さらにジョブ実行の基本
構成単位としてタスクが定義される。
単位としてジョブが定義され、さらにジョブ実行の基本
構成単位としてタスクが定義される。
タスクは、中央処理袋z(cpu)の使用権を与えられ
る基本単位であり、プログラムを実行する実体である。
る基本単位であり、プログラムを実行する実体である。
即ち、処理プログラム及び多くの制御プログラムは、シ
ステム内ではタスクという単位を利用して実行される。
ステム内ではタスクという単位を利用して実行される。
ところで、システム内の各タスクへCPUを割り当てる
制御方式(スケジューリング方式)には、タスクに予め
与えられた優先度に従う優先度スケジューリング方式、
割当時間を区切って行うラウントロピンスケジューリン
グ方式の他、割り当てる優先度を動的に変更する動的優
先度方式が知られている。
制御方式(スケジューリング方式)には、タスクに予め
与えられた優先度に従う優先度スケジューリング方式、
割当時間を区切って行うラウントロピンスケジューリン
グ方式の他、割り当てる優先度を動的に変更する動的優
先度方式が知られている。
ここに、従来の動的優先度方式は、例えば、文献「オペ
レーティングシステム−設計から実装へ−」(齋藤忠夫
監訳 丸善株式会社発行)の第266頁から同267頁
に紹介されている通り、各種の基準(例えば、装置の利
用度、資源共用の度合い等)に基づいてタスクの優先度
を調整する方式である。
レーティングシステム−設計から実装へ−」(齋藤忠夫
監訳 丸善株式会社発行)の第266頁から同267頁
に紹介されている通り、各種の基準(例えば、装置の利
用度、資源共用の度合い等)に基づいてタスクの優先度
を調整する方式である。
(発明が解決しようとする課題)
しかし、上述した従来の動的優先度方式にあっては、装
置の利用度や資源共用の度合い等を基準とするので、タ
スクの走行要求待ちが多量に発生すること、及び片寄っ
て発生することがある。また、優先度は装置の利用度や
資源共用の度合い等をオンラインで統計分析して設定す
るので、統計分析を行うための処理が複雑であるととも
に、CPUのオーバーヘッド時間が長くなる、等種々の
問題がある。
置の利用度や資源共用の度合い等を基準とするので、タ
スクの走行要求待ちが多量に発生すること、及び片寄っ
て発生することがある。また、優先度は装置の利用度や
資源共用の度合い等をオンラインで統計分析して設定す
るので、統計分析を行うための処理が複雑であるととも
に、CPUのオーバーヘッド時間が長くなる、等種々の
問題がある。
本発明は、このような問題に鑑みなされたもので、その
目的は、タスクの優先度の動的な変更制御を簡単な処理
で効率良くなし得るタスクの制御方法を提供することに
ある。
目的は、タスクの優先度の動的な変更制御を簡単な処理
で効率良くなし得るタスクの制御方法を提供することに
ある。
(課題を解決するための手段)
前記目的を達成するために、本発明のタスク制御方法は
次の如き構成を有する。
次の如き構成を有する。
即ち、本発明のタスク制御方法は、タスク走行管理テー
ブルにタスクの走行レベルごとに設けられる要求待アド
レス部に登録されている走行要求待タスクの待行列の長
さをチェックし; その長さが所定値以上である該当要
求待アドレス部に登録されている走行要求待タスクを優
、先して走行させる; ことを特徴とするものである。
ブルにタスクの走行レベルごとに設けられる要求待アド
レス部に登録されている走行要求待タスクの待行列の長
さをチェックし; その長さが所定値以上である該当要
求待アドレス部に登録されている走行要求待タスクを優
、先して走行させる; ことを特徴とするものである。
(作 用)
次に、前記の如く構成される本発明のタスクの制御方法
の作用を説明する。
の作用を説明する。
本発明方法では、タスク走行管理テーブルの要求待アド
レス部に登録されている走行要求待タスクの待行列の長
さをチェックし、その長さが所定値以上であるか否かに
よってタスクの走行順序を変更制御する。
レス部に登録されている走行要求待タスクの待行列の長
さをチェックし、その長さが所定値以上であるか否かに
よってタスクの走行順序を変更制御する。
その結果、タスクの走行要求待ちが多量に発生すること
や片寄って発生することを有効に防止しつつ、オンライ
ンリアルタイムにて動的にタスクの走行順序の変更制御
をなし得る。また、制御のための処理も簡素なもので済
むので、CPUのオーバーヘッド時間も少なくて良く、
効率の良いタスク制御方法を提供できる。
や片寄って発生することを有効に防止しつつ、オンライ
ンリアルタイムにて動的にタスクの走行順序の変更制御
をなし得る。また、制御のための処理も簡素なもので済
むので、CPUのオーバーヘッド時間も少なくて良く、
効率の良いタスク制御方法を提供できる。
(実 施 例)
以下、本発明の実施例を図面を参照して説明する。
第1図は本発明の一実施例に係るタスクの制御方法を実
施する際に用いるタスク走行管理テーブルの構成例及び
走行要求待行列の発生態様例を示す。
施する際に用いるタスク走行管理テーブルの構成例及び
走行要求待行列の発生態様例を示す。
周知のように、オペレーティングシステム内の各タスク
には走行レベルが付されるが、内容の異なる複数のタス
クに同一の走行レベルが割り付けられるようになってい
る。そこで、本実施例では、タスクの走行レベルがレベ
ル1から同7までの7種あるとすれば、タスク走行管理
テーブルとしてアドレスA1から同A、までの8個のア
ドレスを用意し、アドレスA2から同A8までの各アド
レスをタスクの走行レベルに順次割り当て、アドレスA
1は全ての走行レベルに優先する特権レベルとしてレベ
ル0を割り当てる。そして、タスク走行管理テーブルの
構成として、各アドレスに要求待アドレス部1の他に、
要求待数部2を設けである。
には走行レベルが付されるが、内容の異なる複数のタス
クに同一の走行レベルが割り付けられるようになってい
る。そこで、本実施例では、タスクの走行レベルがレベ
ル1から同7までの7種あるとすれば、タスク走行管理
テーブルとしてアドレスA1から同A、までの8個のア
ドレスを用意し、アドレスA2から同A8までの各アド
レスをタスクの走行レベルに順次割り当て、アドレスA
1は全ての走行レベルに優先する特権レベルとしてレベ
ル0を割り当てる。そして、タスク走行管理テーブルの
構成として、各アドレスに要求待アドレス部1の他に、
要求待数部2を設けである。
このタスク走行管理テーブルには、第2図(a)に示す
手順で走行要求待ちのタスクが登録される。
手順で走行要求待ちのタスクが登録される。
そして、その登録された走行要求待ちタスクは、第2図
(b)に示す手順でその走行順序制御がなされる。以下
、第2図を参照して本実施例に係るタスクの制御方法を
説明する。
(b)に示す手順でその走行順序制御がなされる。以下
、第2図を参照して本実施例に係るタスクの制御方法を
説明する。
第2図(a)において、システム内の各タスクは、走行
要求を受けると、走行要求タスクのレベルを判定しくス
テップ21)、そのタスクの走行レベルに対応したタス
ク走行管理テーブルのアドレスの要求待アドレス部1に
、当該タスクのタスク制御テーブルのアドレスをセット
、または、チエインする(ステップ22)とともに、要
求待数部2に「1」を加算する(ステップ23)。
要求を受けると、走行要求タスクのレベルを判定しくス
テップ21)、そのタスクの走行レベルに対応したタス
ク走行管理テーブルのアドレスの要求待アドレス部1に
、当該タスクのタスク制御テーブルのアドレスをセット
、または、チエインする(ステップ22)とともに、要
求待数部2に「1」を加算する(ステップ23)。
第1図のアドレスA、におけるタスクaのタスク制御テ
ーブルa′、アドレスA6におけるタスクb〜同gのタ
スク制御テーブルb′〜同g′はこのようにして登録さ
れたものである。つまり、タスクaは走行レベルがレベ
ル2であり、現時点ではレベル2のタスクの走行要求特
数は「1」である、また、タスクb〜同gは走行レベル
がレベル5であり、このレベル5のタスクの走行要求特
数は「6」であることが示されている。
ーブルa′、アドレスA6におけるタスクb〜同gのタ
スク制御テーブルb′〜同g′はこのようにして登録さ
れたものである。つまり、タスクaは走行レベルがレベ
ル2であり、現時点ではレベル2のタスクの走行要求特
数は「1」である、また、タスクb〜同gは走行レベル
がレベル5であり、このレベル5のタスクの走行要求特
数は「6」であることが示されている。
次いで、ステップ24では、前記加算処理した要求特数
部2の値が規定値Q。以上か否かを判定する0例えば、
規定値Q。が値「5」に設定しであるとすれば、アドレ
スA6の要求特数部2は値「6」であるから、判定結果
は肯定(YES)となり、次のステップ25へ進む、一
方、アドレスA3の要求特数部2での判定結果は否定(
No)となり、本受付処理を終了する。
部2の値が規定値Q。以上か否かを判定する0例えば、
規定値Q。が値「5」に設定しであるとすれば、アドレ
スA6の要求特数部2は値「6」であるから、判定結果
は肯定(YES)となり、次のステップ25へ進む、一
方、アドレスA3の要求特数部2での判定結果は否定(
No)となり、本受付処理を終了する。
最後のステップ25では、特権レベルとして定めたレベ
ル0の要求待アドレス部1にアドレスA6をセットし、
本受付処理を終了する。
ル0の要求待アドレス部1にアドレスA6をセットし、
本受付処理を終了する。
次に、第2図(b)において、タスクの走行順序制御は
、通常の手順に従ってタスク走行管理テーブルの先頭ア
ドレスたるアドレスA1からサーチを開始する。即ち、
最初のステップ31では、レベルOに対応するアドレス
A1の要求待アドレス部1にアドレスがセットされてい
るか否かが判定される0判定結果が否定(No)であれ
ばステップ32へ進み、アドレスA2以降の各要求待ア
ドレス部1が順次サーチされることになる。
、通常の手順に従ってタスク走行管理テーブルの先頭ア
ドレスたるアドレスA1からサーチを開始する。即ち、
最初のステップ31では、レベルOに対応するアドレス
A1の要求待アドレス部1にアドレスがセットされてい
るか否かが判定される0判定結果が否定(No)であれ
ばステップ32へ進み、アドレスA2以降の各要求待ア
ドレス部1が順次サーチされることになる。
前記したように、アドレスA1の要求待アドレス部1に
はアドレスがセットされているので、ステップ31の判
定結果は肯定(YES)となりステップ33へ進む。
はアドレスがセットされているので、ステップ31の判
定結果は肯定(YES)となりステップ33へ進む。
ステップ33では、アドレスA6にチエイン化してセッ
トされている6個のタスクのうち、まず先頭のタスクb
を走行させ、そのタスクbのタスク制御テーブルb′の
チエインを外すとともに、要求特数部の値を「5」にし
、次のステップ34でその要求特数5が規定値Qt以下
か否かを判定する0例えば、規定値Q1が値4であると
すれば、ステップ35の判定結果は否定(NO)となり
、先のステップ33へ戻り、次のタスクCを走行させ、
そのタスクCのタスク制御テーブルのチエインを外し、
要求特数を−1し、ステップ34で判定する。このよう
に、要求特数が規定値Q1以下となるまで、ステップ3
3→同34→同33のループを繰り返し実行し、ステッ
プ34の判定結果が肯定(YES)となると、ステップ
35へ進む。
トされている6個のタスクのうち、まず先頭のタスクb
を走行させ、そのタスクbのタスク制御テーブルb′の
チエインを外すとともに、要求特数部の値を「5」にし
、次のステップ34でその要求特数5が規定値Qt以下
か否かを判定する0例えば、規定値Q1が値4であると
すれば、ステップ35の判定結果は否定(NO)となり
、先のステップ33へ戻り、次のタスクCを走行させ、
そのタスクCのタスク制御テーブルのチエインを外し、
要求特数を−1し、ステップ34で判定する。このよう
に、要求特数が規定値Q1以下となるまで、ステップ3
3→同34→同33のループを繰り返し実行し、ステッ
プ34の判定結果が肯定(YES)となると、ステップ
35へ進む。
ステップ35では、レベルOに対応するタスク走行管理
テーブルのアドレスA1の要求待アドレス部1に前述し
たようにセットされていたアドレスA6を消去し、ステ
ップ32へ進む。
テーブルのアドレスA1の要求待アドレス部1に前述し
たようにセットされていたアドレスA6を消去し、ステ
ップ32へ進む。
ステップ32では、アドレスA2以降の各要求待アドレ
ス1を順次サーチし、最初にアドレスA3の要求待アド
レス部1にアドレスが入っていることが検出されるので
、まずタスクaを走行させる。
ス1を順次サーチし、最初にアドレスA3の要求待アド
レス部1にアドレスが入っていることが検出されるので
、まずタスクaを走行させる。
次いで、アドレスA6の要求待アドレス部1にアドレス
が入っていることが検出され、タスクe〜同gを順次走
行させる。このステップ32の走行制御は通常行われて
いるものである。
が入っていることが検出され、タスクe〜同gを順次走
行させる。このステップ32の走行制御は通常行われて
いるものである。
なお、以上説明した実施例方法では、走行要求待タスク
の待行列の長さをチェックするために、タスク走行管理
テーブルに要求特数部2を設けたが、待行列の長さチェ
ックの方法はこれに限定されることなく任意の方法が採
用可能である。また、優先走行を実現するために全ての
走行レベルに優先する特権レベルとしてレベル0を設定
したが、優先走行を実現できれば良いから、本実施例に
限定されないことは勿論である。
の待行列の長さをチェックするために、タスク走行管理
テーブルに要求特数部2を設けたが、待行列の長さチェ
ックの方法はこれに限定されることなく任意の方法が採
用可能である。また、優先走行を実現するために全ての
走行レベルに優先する特権レベルとしてレベル0を設定
したが、優先走行を実現できれば良いから、本実施例に
限定されないことは勿論である。
(発明の効果)
以上説明したように、本発明のタスクの制御方法によれ
ば、タスクの走行要求待行列の長さによってタスクの走
行順序を制御するようにしたので、タスクの走行要求待
ちが多量に発生することや片寄って発生することを有効
に防止しつつ、オンラインリアルタイムにて動的にタス
クの走行順序の変更制御をなし得る。また、制御のため
の処理も簡素なもので済むので、CPUのオーバーヘッ
ド時間も少なくて良く、効率の良いタスク制御方法を提
供できる効果がある。
ば、タスクの走行要求待行列の長さによってタスクの走
行順序を制御するようにしたので、タスクの走行要求待
ちが多量に発生することや片寄って発生することを有効
に防止しつつ、オンラインリアルタイムにて動的にタス
クの走行順序の変更制御をなし得る。また、制御のため
の処理も簡素なもので済むので、CPUのオーバーヘッ
ド時間も少なくて良く、効率の良いタスク制御方法を提
供できる効果がある。
第1図は本発明の一実施例に係るタスクの制御方法を実
施する際に用いるタスク走行管理テーブルの構成例と走
行要求待行列の発生態様を示す図、第2図は実施例方法
の動作を説明するフローチャートである。 1・・・・・・要求待アドレス部、 2・・・・・・要求特数部、 ντル アドνス a′〜g′・・・・・・タスクミル同gに対応するタス
ク制御テーブル。
施する際に用いるタスク走行管理テーブルの構成例と走
行要求待行列の発生態様を示す図、第2図は実施例方法
の動作を説明するフローチャートである。 1・・・・・・要求待アドレス部、 2・・・・・・要求特数部、 ντル アドνス a′〜g′・・・・・・タスクミル同gに対応するタス
ク制御テーブル。
Claims (1)
- タスク走行管理テーブルにタスクの走行レベルごとに設
けられる要求待アドレス部に登録されている走行要求待
タスクの待行列の長さをチェックし;その長さが所定値
以上である該当要求待アドレス部に登録されている走行
要求待タスクを優先して走行させる;ことを特徴とする
タスクの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1103008A JP2522388B2 (ja) | 1989-04-21 | 1989-04-21 | タスクの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1103008A JP2522388B2 (ja) | 1989-04-21 | 1989-04-21 | タスクの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02281338A true JPH02281338A (ja) | 1990-11-19 |
JP2522388B2 JP2522388B2 (ja) | 1996-08-07 |
Family
ID=14342628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1103008A Expired - Fee Related JP2522388B2 (ja) | 1989-04-21 | 1989-04-21 | タスクの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2522388B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04264927A (ja) * | 1991-02-20 | 1992-09-21 | Matsushita Electric Ind Co Ltd | スケジューリング装置 |
JPH06202912A (ja) * | 1992-09-11 | 1994-07-22 | Internatl Business Mach Corp <Ibm> | データ処理方法および装置 |
CN108009006A (zh) * | 2016-11-02 | 2018-05-08 | 华为技术有限公司 | I/o请求的调度方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63300326A (ja) * | 1987-05-30 | 1988-12-07 | Nec Corp | トランザクション実行スケジュ−ル方式 |
-
1989
- 1989-04-21 JP JP1103008A patent/JP2522388B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63300326A (ja) * | 1987-05-30 | 1988-12-07 | Nec Corp | トランザクション実行スケジュ−ル方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04264927A (ja) * | 1991-02-20 | 1992-09-21 | Matsushita Electric Ind Co Ltd | スケジューリング装置 |
JPH06202912A (ja) * | 1992-09-11 | 1994-07-22 | Internatl Business Mach Corp <Ibm> | データ処理方法および装置 |
CN108009006A (zh) * | 2016-11-02 | 2018-05-08 | 华为技术有限公司 | I/o请求的调度方法及装置 |
CN108009006B (zh) * | 2016-11-02 | 2022-02-18 | 华为技术有限公司 | I/o请求的调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2522388B2 (ja) | 1996-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5999963A (en) | Move-to-rear list scheduling | |
JP3887353B2 (ja) | ワークロード・マネージャをシステム・タスク・スケジューラと統合する装置および方法 | |
US6658448B1 (en) | System and method for assigning processes to specific CPU's to increase scalability and performance of operating systems | |
US6473780B1 (en) | Scheduling of direct memory access | |
JPH0628323A (ja) | プロセス実行制御方法 | |
JPH02281338A (ja) | タスクの制御方法 | |
JPS62177641A (ja) | 排他優先制御方式 | |
JPH05120039A (ja) | タスクスケジユーリング方式 | |
JP3374480B2 (ja) | データ処理装置 | |
JPH11249917A (ja) | 並列型計算機及びそのバッチ処理方法及び記録媒体 | |
NISHIGAKI et al. | An experiment on the general resources manager in multiprogrammed computer systems | |
JPS6331818B2 (ja) | ||
JPH0877029A (ja) | 負荷率に基づいた処理要求実行順序制御方式 | |
JP2601693B2 (ja) | 自動ジヨブスケジユーリング方法 | |
JP2692647B2 (ja) | マルチタスク制御方法および制御システム | |
JP2023171264A (ja) | 分散型異機種混在システムに基づくタスクインテリジェント処理方法 | |
JPH0512038A (ja) | Cpu待ち時間制御デイスパツチング方式 | |
JP2022049877A (ja) | トランザクション制御装置、トランザクション制御方法、及び、プログラム | |
JPH0640315B2 (ja) | 中央処理装置割り当て制御方式 | |
JPH01240937A (ja) | 実行優先度制御方式 | |
JPS61136134A (ja) | 待ち行列資源管理方式 | |
JPH08272728A (ja) | 中央処理装置の使用権配分最適化方法及び中央処理装置の使用権配分最適化システム | |
JPH01177638A (ja) | ジョブスケジューリング方式 | |
JPH03225417A (ja) | 拡張記憶装置入出力制御方式 | |
JPH113235A (ja) | 仮想プロセッサによるタスク制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |