JPH0512040A - タスクの実行制御方式 - Google Patents

タスクの実行制御方式

Info

Publication number
JPH0512040A
JPH0512040A JP19078191A JP19078191A JPH0512040A JP H0512040 A JPH0512040 A JP H0512040A JP 19078191 A JP19078191 A JP 19078191A JP 19078191 A JP19078191 A JP 19078191A JP H0512040 A JPH0512040 A JP H0512040A
Authority
JP
Japan
Prior art keywords
execution
task
time
interval
value
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
Application number
JP19078191A
Other languages
English (en)
Inventor
Katsunori Takabe
克則 高部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP19078191A priority Critical patent/JPH0512040A/ja
Publication of JPH0512040A publication Critical patent/JPH0512040A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 この発明は、各優先順位のタスクの実行が所
定の比率に従って実行されるように制御するものであ
る。 【構成】 予め各タスクの実行時間累積値と、全タスク
の実行時間の総和予測時間である見値し時間との比より
各タスク毎に実行時間の比率を求め、この比率が既定の
基準値と比較して大きいか否かを判定し(S−41)、
その結果大きく、且つ以前の実行間隔が既定の最長値よ
り短かければ当該タスクの実行間隔を長くし、((S−
44)、(S−45))上記比率が小さく、且つ既定の
最短値より長ければ実行間隔を短くする((S−4
2)、(S−43))。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ビル内の照明、空
調、或は給湯設備の稼動作業をタスクとした場合の各タ
スクの実行を制御するタスクの実行制御方式に関するも
のである。
【0002】
【従来の技術】ビル管理システムに限らず、一般に管理
装置は照明制御、空調制御処理等の種々の仕事をタスク
というプログラム単位に分割し、それらを所定の優先順
位(プライオリティ)に基づき、実行することにより、
実現されている。またこれらの優先順位されたタスクの
実行制御には、リアルタイムOSまたは、割込制御など
が用いられている。
【0003】また、このように、タスクに優先順位を付
けて実行制御するものに、例えば「特開昭59−167
38号の外部割込み処理制御装置」、「特開昭63−7
5937号のジョブ優先制御方式」がある。更には、
「実開昭63−151050号のソフトウエア監視装
置」のように各タスクの実行時間を監視し、実行時間配
分を決めるものがある。
【0004】次に上記先行技術の存在を踏まえて優先順
位付けされたタスクの実行制御について説明する。例え
ば図7に示すように、3つのタスク、A、B、Cがそれ
ぞれ優先順位付けされており(タスクAが最も優先順位
が高く、次いでタスクB、タスクC)それぞれが、所定
の間隔で実行されている。すなわち、高優先順位のタス
クAは、タスクB、タスクCの実行には無関係にあらか
じめ指定されている実行間隔TA で実行されており、タ
スクBは、タスクAの実行のすき間で実行され実行間隔
B で実行されている。またタスクCは、タスクA、タ
スクBの実行のすき間で実行され実行間隔TC で実行さ
れている。
【0005】これらの実行間隔は、システム設計時に各
タスクの実行時間を予測し、全てのタスクがバランスよ
く実行されるように設定されなければならない。次にこ
れらのタスクの実行の実現方法の1例を示す。図8にタ
スクA、B、Cの実行予定時刻を記憶するメモリ領域M
5〜M7を用意する。図9は、これらのタスクの実行制
御を行うプログラムを示す。このプログラムは、タイマ
ー割込等タスクの実行と無関係の所定間隔で実行されて
いる。
【0006】まずS−91で高優先順位であるタスクA
が実行中かどうかチェックし、もし実行中ならば終了へ
進み、タスクAの実行にもどる。S−91で実行中でな
ければS−92へ進み、タスクAの実行予定時刻を過ぎ
ているかどうかチェックし、もし過ぎていればタスクA
を実行する。
【0007】もし過ぎていなければ、S−94へ進み、
タスクBが実行中かどうかチェックし実行中ならば終了
する。もし実行中でなければS−95へ進み、タスクB
の実行予定時刻を過ぎているかチェックし、過ぎていれ
ばS−96でタスクBを実行する。
【0008】もしS−95でまだタスクBの実行予定時
刻になっていなければ、S−97へ進み、タスクCが実
行中かチェックし、実行中ならば終了する。もの、実行
中でなければS−98へ進みタスクCの実行予定時刻を
過ぎているかチェックし、もし過ぎていればS−99で
タスクCを実行する。
【0009】もしS−98で実行予定時刻を過ぎていな
ければ、実行するべきものはないので終了する。ただ
し、一般に最下位優先順位のタスクは、他のタスクに影
響を与えないので、絶えず実行させるようにする。
【0010】次に、各タスク側の処理を図10で説明す
る。図中S−103のタスクを実行する部分がタスク
A、B、Cで異なっており、それぞれのタスク個有の働
きを行っているが、他の部分はタスクの実行制御にかか
わる部分であり、全タスクで同一処理である。
【0011】S−101でタスクが実行中であることを
セットし、S−102で現在の時刻をタスクの実行開始
時刻として記憶する。ここで時刻とは、一般の時計の時
刻ではなく、1/100秒、1/1000秒といった、
リアルタイム制御に使われる時刻の単位であり、これら
は、タイマーICのカウンタ値等により作成される。
【0012】次にS−103で各タスクの処理が実行さ
れ、S−104で次のタスクの実行予定時刻を(今回の
実行開始時刻+所定値)とする。
【0013】これにより、所定間隔でタスクの実行が行
われる。また、次のタスクの実行予定時刻は(タスクの
終了時刻+所定時間)で設定されることもある。次に5
でタスクの実行中フラグをリセットする。以上述べたよ
うに、従来の制御プログラムは、あらかじめ設定され
た、優先度と実行間隔により、複数のタスクの実行を制
御している。
【0014】
【発明が解決しようとする課題】しかしビル管理システ
ムのタスク制御方式では、客先の要望の変化が大きく、
また、画面等からの制御の予約個数、管理点数や管理内
容の変更等により、タスクの実行時間の変化が激しくな
っている。このような場合、図11に示すように高優先
度のタスクAの実行時間があまりに長くなると、低プラ
イオリティのタスクB、タスクCの実行が遅くなり、制
御が遅れるなどの問題が発生する。また、あらかじめ高
優先度のタスクAの実行間隔を長くしておくと、多数の
ビルにおいて短い実行間隔でよいにもかかわらず、制御
時間が遅れ、性能低下を招くという問題が発生する。
【0015】この発明は上記のような問題点を解消する
ためになされたもので、各優先順位のタスクの実行が所
定の比率に従って実行されるように制御できるタスク実
行制御方式を得ることを目的としている。
【0016】
【課題を解決するための手段】上記課題を解決するため
の第1の発明は高優先順位を有するタスクが所定時間幅
の実行間隔を設けて各処理作業を進める際、低優先順位
のタスクは上記実行間隔毎に自己の処理作業を進めるよ
うにしたタクスの実行制御方式において、一定時間にお
ける各タスクそれぞれの実行時間累積値を求める累積値
演算手段と、上記一定時間内における各タスクの総実行
時間を予測し設定する総実行時間設定手段と、各タスク
毎に、実行時間累積値と総実行時間との比率を求め、そ
の比率と既定の基準値と比較する実行比率判定手段と、
その比較結果より各タスクの実行間隔を設定する実行間
隔設定手段を設けたものである。
【0017】また、第2の発明は、上記第1の発明にお
ける実行間隔設定手段は設定する実行間隔の最短値及び
最長値を既定し、この既定値内で実行間隔を更新するも
のである。
【0018】
【作用】この第1の発明によれば、各タスクはそれぞれ
累積値演算手段にて一定時間幅におけるそのタスク実行
時間累積値を求め、この実行時間累積値と、全タスクの
総実行時間との比率を求め既定の基準値と比較した後、
比較結果に応じて各タスクはタスク実行間隔を決めるこ
とで、各タスクはバランスよく実行される。また、この
第2の発明によれば、設定される実行間隔の最短値、最
長値を予め実行間隔設定手段にて決めておくことで、無
制限に実行間隔が短くなったり、長くなったり制御水準
を低下させることがない。
【0019】
【実施例】
実施例1.以下に、この発明の一実施例を説明する。ま
ず図1にこの実施例のイメージ図を示す、タスクの実行
制御部1は、優先順位付けられたタスクA、B、Cを所
定の優先順位で実行する。2、3、4はそれぞれ個有の
役割を果たすタスクである。5は各タスクの実際の実行
時間を、測定し、全タスクの総実行時間との実行比率を
求めるためのデータを蓄積する部分である。6は、5で
求められた実際のタスクの実行比率により、タスクの実
行間隔を設定する部分である。
【0020】この図の詳細について図2〜図5で説明す
る。図2は図1を実現するために必要なメモリ領域であ
り、実行開始時刻、実行時間累積、実行間隔は、タスク
毎に領域M1〜M4をもち、見直し時間は全体で一つの
領域があればよい。尚、ここで述べる見直し時間とは、
1分、或は10分等、統計的にタスクの実行時間が計測
できるような値として決めた時間である。
【0021】図3において、S−1で先ず最も優先順位
の高いタスクAが実行中であるかチェックし、もし実行
中であれば、S−2でタスクAの実行時間累積に単位時
間を加える。ここで単位時間とは、図3のプログラムが
タイマー割込等により、所定の時間で実行される間隔を
示している。この時、タスクAが実行されていたとする
と、前回のこのプログラムの実行から今回まで単位時間
のあいだタスクAが実行されていたと仮定する。他のタ
スクについても同様に考えると、厳密には、各タスクの
実行時間とは異なるが、サンプリングの単位時間が充分
に小さければほぼ実際のタスクの実行時間が測定でき
る。
【0022】S−2を終了するとマル1へ進む。S−1
でタスクAは実行中でなかったらS−3へ進み、タスク
Aの実行予定時刻をすぎているかチェックし、もし過ぎ
ていればS−4へ進みタスクAを実行する。もしS−3
でまだタスクAの実行時刻でなければS−5へ進みタス
クBが実行中かチェックし、実行中ならばS−6へ進
み、単位時間をタスクBの実行時間に加える。
【0023】もし実行中でなければS−7へ進みタスク
Dの実行予定時刻をすぎているかチェックし、そうなら
ばS−8でタスクDを実行する。もし、まだタスクBの
実行時刻になっていなければS−9へ進みタスクCが実
行中かチェックし、実行中ならばS−10でタスクCの
実行時間に単位時間を加える。もし実行中でなければ、
S−11へ進みタスクCの実行予定時刻をすぎているか
チェックし、もしそうならばS−12でタスクCを実行
する。
【0024】次に上記のすべてのケースについて、S−
13の処理に進み、S−13でタスクの実行時間の見直
し時間に単位時間を加える。S−14で見直し時間が所
定の時間になったらS−15で実行間隔の見直しを行
う。次に前フローチャート中のS−15の実行間隔の見
直しのプログラムを図4に示す。S−41でこの時点で
のタスクAの実行時間累積を見直し時間で割ると、タス
クAの実行時間の比率が求められる。この比率があらか
じめ設定されている基準の比率の範囲内に入っているか
チェックし、もし基準の範囲より小さければS−42へ
進み、実行間隔を短かくしようとする。
【0025】しかし、S−42で実行間隔の最短値と比
較し、それよりも長くないときは、変更しない。これ
は、無条件に短くすると制御不能範囲に入ったり、逆に
無条件に長くすると制御性能が著しく低下するからであ
る最短値より長ければS−43へ進み、実行間隔を短か
くする。
【0026】もしS−41で実行時間の比率が基準の範
囲より大きければ、S−44へ進み、もし現在の実行間
隔が最長値より短かければS−45で実行間隔を長くす
る。
【0027】もしS−41で実行時間の比率が基準の範
囲内ならばタスクAについては実行間隔をそのままにし
て、タスクBの実行間隔の設定に進む。
【0028】図中S−46〜S−S50はタスクBにつ
いてタスクAのS−41〜S−45の処理と同様の処理
を行う。タスクCについては、タスクAとタスクBの実
行間隔によって従属的に制御されるので実行間隔の設定
は行わない。次にS−51で見直し時間、各タスクの実
行時間累積のメモリー領域をクリアし、次の見直しに備
える。
【0029】次に図5は各タスクの実行の流れを示して
おり、これは図10で示した従来のタスクの実行とほぼ
同様である。ただし図中104aで次回のタスクの実行
予定時間が従来は固定値であったのに対して、図4では
図4で示したタスクの実行間隔設定部により変更されて
いる。図6は図7で示した標準的なタスクの実行に対し
てタスクAの実行時間が長くなった時、タスクA、タス
クB、タスクCの実行の比率が図7と同様になるように
実行間隔を変更した場合の例である。
【0030】
【発明の効果】以上のように、この第1の発明によれ
ば、ビルの特性や、ユーザーの設定により、非常に激し
く変化する各タスクの実行時間を実測し、その実行時間
の比率が所定の範囲に収まるように実行間隔を変化させ
たので、バランスよく全体の制御を行うことができるよ
うになった。
【0031】また、この第2の発明によれば実行間隔の
最短値と最長値とを予め設定し、この設定値の範囲で実
行間隔を変化させるようにしたので、第1の発明の効果
に加え、実行間隔の変動にも拘わらず一定水準の制御性
能を保つことができる。
【図面の簡単な説明】
【図1】この発明の一実施例によるタスクの実行制御方
式のイメージ図である。
【図2】本実施例におけるタスクの実行制御方式に用い
る各データのメモリ領域を示す図である。
【図3】本実施例におけるタスクの実行制御方式を説明
するフローチャートである。
【図4】上記フローチャート中の実行間隔の見直し動作
を説明するフローチャートである。
【図5】図3に示すフローチャート中の各タスクの実行
(S−4)、(S−8)、(S−12)を説明するフロ
ーチャートである。
【図6】各タスクの実行比率に従ってタスクの実行間隔
を変化させた場合の例を示した図である。
【図7】標準的なタスクに対して各タスクの実行間隔を
決めた場合の例を示した図である。
【図8】従来のタスクの実行制御方式においての各タス
クの実行予定時刻データを記憶したメモリ領域の図であ
る。
【図9】従来のタスクの実行制御方式を動作を説明する
フローチャートである。
【図10】図9のフローチャートにおけるステップS−
93、S−96、S−99の詳細動作を説明するフロー
チャートである。
【図11】従来の制御方式における各タスクの実行時間
及び実行間隔を示した図である。
【符号の説明】
1 タスクの実行制御部 2、3、4 タスクA、B、C 5 タスクの実行時間測定部 6 タスクの実行間隔設定部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 高優先順位を有するタスクが所定時間幅
    の実行間隔を設けて各処理作業を進める際、低優先順位
    のタスクは上記実行間隔毎に自己の処理作業を進めるよ
    うにしたタクスの実行制御方式において、一定時間にお
    ける各タスクそれぞれの実行時間累積値を求める累積値
    演算手段と、上記一定時間内における各タスクの総実行
    時間を予測し設定する総実行時間設定手段と、各タスク
    毎に、実行時間累積値と総実行時間との比率を求め、そ
    の比率と既定の基準値と比較する実行比率判定手段と、
    その比較結果より各タスクの実行間隔を設定する実行間
    隔設定手段とを備えたことを特徴とするタスクの実行制
    御方式。
  2. 【請求項2】 請求項1記載のタスクの実行制御方式に
    おいて、実行間隔設定手段は設定する実行間隔の最短値
    及び最長値を既定し、この既定値内で実行間隔を更新す
    ることを特徴とするタスクの実行制御方式。
JP19078191A 1991-07-04 1991-07-04 タスクの実行制御方式 Pending JPH0512040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19078191A JPH0512040A (ja) 1991-07-04 1991-07-04 タスクの実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19078191A JPH0512040A (ja) 1991-07-04 1991-07-04 タスクの実行制御方式

Publications (1)

Publication Number Publication Date
JPH0512040A true JPH0512040A (ja) 1993-01-22

Family

ID=16263631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19078191A Pending JPH0512040A (ja) 1991-07-04 1991-07-04 タスクの実行制御方式

Country Status (1)

Country Link
JP (1) JPH0512040A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281908A (ja) * 1994-04-04 1995-10-27 Internatl Business Mach Corp <Ibm> 目標制御データを生成する作業負荷を管理する方法及び装置
JP2001147838A (ja) * 1999-09-25 2001-05-29 Robert Bosch Gmbh プロセスの開ループ制御/閉ループ制御方法
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
US6537456B2 (en) 1996-08-12 2003-03-25 Debasish Mukhopadhyay Method and apparatus for high efficiency reverse osmosis operation
JP2007026095A (ja) * 2005-07-15 2007-02-01 Matsushita Electric Ind Co Ltd 並列演算装置
JP2011524574A (ja) * 2008-06-11 2011-09-01 クゥアルコム・インコーポレイテッド タスクロードを測定するための方法およびシステム
JP2011221751A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 情報処理装置および情報処理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281908A (ja) * 1994-04-04 1995-10-27 Internatl Business Mach Corp <Ibm> 目標制御データを生成する作業負荷を管理する方法及び装置
US6537456B2 (en) 1996-08-12 2003-03-25 Debasish Mukhopadhyay Method and apparatus for high efficiency reverse osmosis operation
JP2001525570A (ja) * 1997-12-03 2001-12-11 ストリームコア 幾人かのユーザの間における資源の分担管理用装置
JP2001147838A (ja) * 1999-09-25 2001-05-29 Robert Bosch Gmbh プロセスの開ループ制御/閉ループ制御方法
JP2007026095A (ja) * 2005-07-15 2007-02-01 Matsushita Electric Ind Co Ltd 並列演算装置
JP2011524574A (ja) * 2008-06-11 2011-09-01 クゥアルコム・インコーポレイテッド タスクロードを測定するための方法およびシステム
US8594816B2 (en) 2008-06-11 2013-11-26 Qualcomm Incorporated Method and system for measuring task load
JP2011221751A (ja) * 2010-04-08 2011-11-04 Hitachi Ltd 情報処理装置および情報処理方法

Similar Documents

Publication Publication Date Title
US7383548B2 (en) CPU usage regulation
US20170046155A1 (en) Multi-thread processor and its hardware thread scheduling method
JP3727382B2 (ja) 制御ソフトウェア実行システムの制御方法
US20130247066A1 (en) Process Scheduler Employing Adaptive Partitioning of Process Threads
US20070150898A1 (en) Method, apparatus &amp; computer program product for borrowed-virtual-time scheduling
US6473780B1 (en) Scheduling of direct memory access
US8640133B2 (en) Equal duration and equal fetch operations sub-context switch interval based fetch operation scheduling utilizing fetch error rate based logic for switching between plurality of sorting algorithms
US9529597B2 (en) Multithread processor with different schedule pattern cycle state for handling interrupt processing
US20050076337A1 (en) Method and system of optimizing thread scheduling using quality objectives
JPH0512040A (ja) タスクの実行制御方式
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
US4719996A (en) Group supervision apparatus for elevator
JPH07168726A (ja) 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法
EP1399785A2 (en) A scheduling method and system for controlling execution of processes
US20050050541A1 (en) Method of and apparatus for task control, and computer product
US7293004B1 (en) Method for tuning state-based scheduling policies
JP2002073354A (ja) タスク制御装置とタスク制御方法
JPH08272627A (ja) リアルタイムタスク制御装置
KR100298212B1 (ko) 우선순위역전현상을해결하기위한실시간태스크스케쥴링방법
JP3727637B2 (ja) 制御ソフトウェア実行システムの制御方法
CN115981829B (zh) 一种物联网中的调度方法及系统
JP2002318713A (ja) Cpu占有時間測定方法
JPH02213904A (ja) マルチ処理システム
JP3169316B2 (ja) タスクスケジューリング方法
JPS63317834A (ja) ラダ−プログラム処理方式