JPH0553836A - タスク実行優先順位自動決定方法 - Google Patents
タスク実行優先順位自動決定方法Info
- Publication number
- JPH0553836A JPH0553836A JP24465791A JP24465791A JPH0553836A JP H0553836 A JPH0553836 A JP H0553836A JP 24465791 A JP24465791 A JP 24465791A JP 24465791 A JP24465791 A JP 24465791A JP H0553836 A JPH0553836 A JP H0553836A
- Authority
- JP
- Japan
- Prior art keywords
- task
- execution priority
- priority order
- average
- 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.)
- Pending
Links
Abstract
(57)【要約】
【目的】 本発明は、ユーザに負担をかけずにシステム
側で自動的にタスクを実行する優先順位を自動決定する
方法を提供することを目的とする。 【構成】 リアルタイム・マルチタスク環境下で動作す
るシステムにおいて、各タスクは実行優先順位変更可/
不可のフラグを備え、システムは実行優先順位変更可能
なタスクに起動がかかる度に、その動作待ち時間と起動
周期をサンプリングし、ある変更可能なタスクに関して
起動回数が予め設定した設定値を超えた場合に、サンプ
リングデータの平均値から、現在の実行優先順位が不適
当であると判断された場合には、そのタスクの実行優先
順位を1ランク上げる処理を実行処理を各タスクに関し
て繰り返すことを特徴とする。
側で自動的にタスクを実行する優先順位を自動決定する
方法を提供することを目的とする。 【構成】 リアルタイム・マルチタスク環境下で動作す
るシステムにおいて、各タスクは実行優先順位変更可/
不可のフラグを備え、システムは実行優先順位変更可能
なタスクに起動がかかる度に、その動作待ち時間と起動
周期をサンプリングし、ある変更可能なタスクに関して
起動回数が予め設定した設定値を超えた場合に、サンプ
リングデータの平均値から、現在の実行優先順位が不適
当であると判断された場合には、そのタスクの実行優先
順位を1ランク上げる処理を実行処理を各タスクに関し
て繰り返すことを特徴とする。
Description
【0001】
【産業上の利用分野】鉄鋼プラント、産電システム、F
Aシステム等で製造現場に設置されるCRT監視装置等
のリアルタイム・マルチタスクシステムに係わり、特に
タスクの実行優先順位決定方式に関するものである。
Aシステム等で製造現場に設置されるCRT監視装置等
のリアルタイム・マルチタスクシステムに係わり、特に
タスクの実行優先順位決定方式に関するものである。
【0002】
【従来の技術】リアルタイム・マルチタスク環境の下で
動作するシステムでは、タスクの実行順位は、従来オン
ラインでは固定であるか、または可変であったとしても
ユーザー側からのファンクション・コールを必要として
おり(図5参照)、システム側で自動的に変更すること
はできなかった。
動作するシステムでは、タスクの実行順位は、従来オン
ラインでは固定であるか、または可変であったとしても
ユーザー側からのファンクション・コールを必要として
おり(図5参照)、システム側で自動的に変更すること
はできなかった。
【0003】
【発明が解決しようとする課題】しかしながらシステム
の動作状況によっては、あるタスクの実行優先順位が不
適当になってしまう可能性がある。この様な場合には、
タスクに余分な待ち時間が生じるなどしてシステムの動
作に重大な影響を及ぼす危険性がある。このため、オン
ライン時においても、タスクの実行優先順位を変更して
やる必要があるが、従来の方法ではユーザ側で各アプリ
ケーションタスクに実行優先順位を管理する処理を作成
しておく必要があり、アプリケーション開発の簡易性を
損なっていた。一方、特開平3−42730には、タス
ク優先順位や資源専有時間などから、チェインに接続す
る順位を制御する技術が開示されているが、タスク優先
順位そのものを制御するものではない。そこで、本発明
は、ユーザに負担をかけずにシステム側で自動的にタス
クを実行する優先順位そのものを決定する方法を提供す
ることを目的とする。
の動作状況によっては、あるタスクの実行優先順位が不
適当になってしまう可能性がある。この様な場合には、
タスクに余分な待ち時間が生じるなどしてシステムの動
作に重大な影響を及ぼす危険性がある。このため、オン
ライン時においても、タスクの実行優先順位を変更して
やる必要があるが、従来の方法ではユーザ側で各アプリ
ケーションタスクに実行優先順位を管理する処理を作成
しておく必要があり、アプリケーション開発の簡易性を
損なっていた。一方、特開平3−42730には、タス
ク優先順位や資源専有時間などから、チェインに接続す
る順位を制御する技術が開示されているが、タスク優先
順位そのものを制御するものではない。そこで、本発明
は、ユーザに負担をかけずにシステム側で自動的にタス
クを実行する優先順位そのものを決定する方法を提供す
ることを目的とする。
【0004】
【課題を解決するための手段】この目的を解決するた
め、この発明は次のような構成としている。すなわち、
各タスクは実行優先順位変更可/不可のフラグを備え、
システムは実行優先順位変更可能なタスクに起動がかか
る度に、その動作待ち時間と起動周期をサンプリング
し、ある変更可能なタスクに関して起動回数が設定値を
超えた場合に、サンプリングデータの平均値を算出して
判別式にかけるようにしている。
め、この発明は次のような構成としている。すなわち、
各タスクは実行優先順位変更可/不可のフラグを備え、
システムは実行優先順位変更可能なタスクに起動がかか
る度に、その動作待ち時間と起動周期をサンプリング
し、ある変更可能なタスクに関して起動回数が設定値を
超えた場合に、サンプリングデータの平均値を算出して
判別式にかけるようにしている。
【0005】
【作用】この判別式により、現在の実行優先順位が不適
当であると判断された場合には、そのタスクの実行優先
順位を1ランク上げる処理を実行する。この処理を各タ
スクに関して繰り返すことにより、システムの動作状況
に応じた実行優先順位をシステムで自動的に決定し最適
化することが可能となる。
当であると判断された場合には、そのタスクの実行優先
順位を1ランク上げる処理を実行する。この処理を各タ
スクに関して繰り返すことにより、システムの動作状況
に応じた実行優先順位をシステムで自動的に決定し最適
化することが可能となる。
【0006】
【実施例】以下本発明を図1、図2、図3に示す実施例
に基づいて説明する。図1は本発明の処理フロー、図2
は本発明のシステムのタスク実行優先順位(以降順位と
書く)の内部構造、図3は本発明のタスクに付随する情
報である。図2に示すように、各タスク順位には22の
存在可能最大タスク数が設定されており、この数を超え
た数のタスクはその順位には存在できない。このため、
システムはタスク順位の変更が発生する度に、20の各
タスク順位が持つタスク数、21の存在タスク番号を参
照して各順位のタスク数を管理する。また各タスクは第
4図に示すようにタスク情報保持領域24を持つ。この
領域には、順位変更可/不可フラグ24a、タスク起動
回数24b、待ち時間24c、起動周期24d、タスク
順位24e保持用領域が確保されておりシステム立ち上
げ時に常駐領域にロードされる。なおここで、「待ち時
間24c」を(起動要求発生時刻−処理開始時刻)、
「起動周期24d」を(今回起動要求発生時刻時刻−前
回起動要求発生時刻時刻−前回待ち時間)すなわち、
(今回起動要求発生時刻−前回処理開始時刻)と定義す
る。(図4参照)以下図1の処理フローに従って説明す
る。あるタスクに起動要求が入ると、1でタスク起動処
理が開始される。処理が始まると、まず2で24aを参
照し、起動対象タスクが順位変更可能かどうかを判断
し、変更可能でなければ15の通常タスク起動処理にジ
ャンプする。変更可能タスクであれば3で24bを参照
し、タスクの起動回数が規定起動回数(システム側で固
定)に到達したかどうかを判断する。規定回数に達して
いなければ14のデータサンプリング処理にジャンプす
る。規定回数に到達していれば、4で24c、24dを
参照し、サンプリングされたデータの平均値を算出す
る。次に5で平均タスク待ち時間と平均タスク起動周期
のα%を比較する(このαのデフォルト値は「100」
に設定されているがユーザが指定することが可能であり
プログラマブルである)。5で平均タスク待ち時間の方
が小さかった場合には、タスク順位変更不要であると判
断し、14のデータサンプリング処理にジャンプする。
大きかった場合には、6で順位変更対象順位(以降変更
対象順位と書く)の初期値を、24eの起動対象タスク
の順位に設定する。この変更対象順位は順位変更処理後
の起動対象タスクの順位となる。7では変更対象順位を
マイナス1する。8で20、22を参照し、変更対象順
位に存在するタスクの数がシステムで定めた数未満であ
るかどうかを判断する。定めた数未満であれば、12に
ジャンプして起動タスク順位を変更対象順位に変更す
る。定めた数未満でなければ、9で21、24aを参照
し、変更対象順位に存在するタスクの中に順位変更可能
なタスクが存在するかどうかを判断する。存在しなけれ
ば13にジャンプし、変更対象順位が最高順位(=1)
であるかが判断される。最高順位であれば起動タスクの
順位は変更されず14のデータサンプリング処理にジャ
ンプする。最高順位でなければ、7に戻り変更対象順位
をマイナス1して、同様の処理を行う。存在すれば、1
0でその変更可能なタスクの中から平均起動周期/平均
待ち時間の値が最大となるタスクを検出する。11では
10で検出されたタスクの順位を起動対象タスク順位に
設定する。さらに12では起動対象タスクの順位を変更
対象順位に設定する。14ではデータのサンプリングを
実行し15で通常のタスク起動処理を実行して、16で
タスク起動処理を終了する。
に基づいて説明する。図1は本発明の処理フロー、図2
は本発明のシステムのタスク実行優先順位(以降順位と
書く)の内部構造、図3は本発明のタスクに付随する情
報である。図2に示すように、各タスク順位には22の
存在可能最大タスク数が設定されており、この数を超え
た数のタスクはその順位には存在できない。このため、
システムはタスク順位の変更が発生する度に、20の各
タスク順位が持つタスク数、21の存在タスク番号を参
照して各順位のタスク数を管理する。また各タスクは第
4図に示すようにタスク情報保持領域24を持つ。この
領域には、順位変更可/不可フラグ24a、タスク起動
回数24b、待ち時間24c、起動周期24d、タスク
順位24e保持用領域が確保されておりシステム立ち上
げ時に常駐領域にロードされる。なおここで、「待ち時
間24c」を(起動要求発生時刻−処理開始時刻)、
「起動周期24d」を(今回起動要求発生時刻時刻−前
回起動要求発生時刻時刻−前回待ち時間)すなわち、
(今回起動要求発生時刻−前回処理開始時刻)と定義す
る。(図4参照)以下図1の処理フローに従って説明す
る。あるタスクに起動要求が入ると、1でタスク起動処
理が開始される。処理が始まると、まず2で24aを参
照し、起動対象タスクが順位変更可能かどうかを判断
し、変更可能でなければ15の通常タスク起動処理にジ
ャンプする。変更可能タスクであれば3で24bを参照
し、タスクの起動回数が規定起動回数(システム側で固
定)に到達したかどうかを判断する。規定回数に達して
いなければ14のデータサンプリング処理にジャンプす
る。規定回数に到達していれば、4で24c、24dを
参照し、サンプリングされたデータの平均値を算出す
る。次に5で平均タスク待ち時間と平均タスク起動周期
のα%を比較する(このαのデフォルト値は「100」
に設定されているがユーザが指定することが可能であり
プログラマブルである)。5で平均タスク待ち時間の方
が小さかった場合には、タスク順位変更不要であると判
断し、14のデータサンプリング処理にジャンプする。
大きかった場合には、6で順位変更対象順位(以降変更
対象順位と書く)の初期値を、24eの起動対象タスク
の順位に設定する。この変更対象順位は順位変更処理後
の起動対象タスクの順位となる。7では変更対象順位を
マイナス1する。8で20、22を参照し、変更対象順
位に存在するタスクの数がシステムで定めた数未満であ
るかどうかを判断する。定めた数未満であれば、12に
ジャンプして起動タスク順位を変更対象順位に変更す
る。定めた数未満でなければ、9で21、24aを参照
し、変更対象順位に存在するタスクの中に順位変更可能
なタスクが存在するかどうかを判断する。存在しなけれ
ば13にジャンプし、変更対象順位が最高順位(=1)
であるかが判断される。最高順位であれば起動タスクの
順位は変更されず14のデータサンプリング処理にジャ
ンプする。最高順位でなければ、7に戻り変更対象順位
をマイナス1して、同様の処理を行う。存在すれば、1
0でその変更可能なタスクの中から平均起動周期/平均
待ち時間の値が最大となるタスクを検出する。11では
10で検出されたタスクの順位を起動対象タスク順位に
設定する。さらに12では起動対象タスクの順位を変更
対象順位に設定する。14ではデータのサンプリングを
実行し15で通常のタスク起動処理を実行して、16で
タスク起動処理を終了する。
【0007】
【発明の効果】このようにして本発明によれば、リアル
タイム・マルチタスク環境下において、システム側で自
動的にタスクの実行優先順位を決定し最適化することが
可能なシステムを提供することができる。
タイム・マルチタスク環境下において、システム側で自
動的にタスクの実行優先順位を決定し最適化することが
可能なシステムを提供することができる。
【図1】本発明のタスク実行優先順位自動変更処理を示
すフローチャート
すフローチャート
【図2】本発明の各タスク実行優先順位の内部構造を示
す図
す図
【図3】本発明のタスクに付随する情報を示す図
【図4】「待ち時間」と「起動周期」の定義を表現した
図
図
【図5】従来のタスク実行優先順位変更処理の簡単なフ
ローチャート
ローチャート
Claims (1)
- 【請求項1】 リアルタイム・マルチタスク環境下で動
作するシステムにおいて、各タスクは実行優先順位変更
可/不可のフラグを備え、システムは実行優先順位変更
可能なタスクに起動がかかる度に、その動作待ち時間と
起動周期をサンプリングし、ある変更可能なタスクに関
して起動回数が予め設定した設定値を超えた場合に、サ
ンプリングデータの平均値から、現在の実行優先順位が
不適当であると判断された場合には、そのタスクの実行
優先順位を1ランク上げる処理を各タスクに関して繰り
返すことを特徴とするタスク実行優先順位自動決定方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24465791A JPH0553836A (ja) | 1991-08-28 | 1991-08-28 | タスク実行優先順位自動決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24465791A JPH0553836A (ja) | 1991-08-28 | 1991-08-28 | タスク実行優先順位自動決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0553836A true JPH0553836A (ja) | 1993-03-05 |
Family
ID=17122011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24465791A Pending JPH0553836A (ja) | 1991-08-28 | 1991-08-28 | タスク実行優先順位自動決定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0553836A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042202A1 (ja) * | 2011-09-20 | 2013-03-28 | 富士通株式会社 | 割込監視装置、およびコンピュータシステム |
-
1991
- 1991-08-28 JP JP24465791A patent/JPH0553836A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042202A1 (ja) * | 2011-09-20 | 2013-03-28 | 富士通株式会社 | 割込監視装置、およびコンピュータシステム |
US9355049B2 (en) | 2011-09-20 | 2016-05-31 | Fujitsu Limited | Interrupt monitoring system and computer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006248A (en) | Job application distributing system among a plurality of computers, job application distributing method and recording media in which job application distributing program is recorded | |
JP2000347883A (ja) | 仮想計算機装置 | |
JP3006551B2 (ja) | 複数コンピュータ間の業務分散システム、業務分散方法および業務分散プログラムを記録した記録媒体 | |
US20070186024A1 (en) | Method, computer program product and computer system for controlling execution of an interruption routine | |
US8555285B2 (en) | Executing a general-purpose operating system as a task under the control of a real-time operating system | |
JPH0553836A (ja) | タスク実行優先順位自動決定方法 | |
US20020178209A1 (en) | Method and device for determining the load of a computing element | |
CN109709900B (zh) | 数值控制装置 | |
JPH11232148A (ja) | 計算機の負荷率計測方法及び計測システム | |
WO2005013130A1 (ja) | リアルタイム制御システム | |
JPH08272627A (ja) | リアルタイムタスク制御装置 | |
JP2005071171A (ja) | バッチジョブ実行制御方法 | |
JPS6240735B2 (ja) | ||
JP2006172229A (ja) | タスクの動作制御方法、タスクの動作制御システムおよびプログラム | |
EP0264317B1 (fr) | Dispositif pour l'optimalisation des performances de primitives temps réel d'un noyau d'exécutif temps réel sur des structures multiprocesseurs | |
KR100302566B1 (ko) | 제어기에서의 에스에프씨 해석장치 | |
EP2166450A1 (en) | A method to dynamically change the frequency of execution of functions within tasks in an ECU | |
JPH01258135A (ja) | トランザクション実行制御方式 | |
JPH05204667A (ja) | 計算機システムのタスク実行制御装置 | |
JP3910422B2 (ja) | 管理装置及び管理方法 | |
JP2003015888A (ja) | Cpu負荷計測方式 | |
JPH08137703A (ja) | タスク切替装置 | |
JPH0962520A (ja) | 無限ループ監視装置 | |
JPH04287234A (ja) | 処理多重度制御方式 | |
JPH04245547A (ja) | プロセッサの処理異常検出方式 |