JP2726126B2 - 定周期タスク管理方法 - Google Patents

定周期タスク管理方法

Info

Publication number
JP2726126B2
JP2726126B2 JP1317273A JP31727389A JP2726126B2 JP 2726126 B2 JP2726126 B2 JP 2726126B2 JP 1317273 A JP1317273 A JP 1317273A JP 31727389 A JP31727389 A JP 31727389A JP 2726126 B2 JP2726126 B2 JP 2726126B2
Authority
JP
Japan
Prior art keywords
task
cycle
fixed
time
periodic
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
Application number
JP1317273A
Other languages
English (en)
Other versions
JPH03177932A (ja
Inventor
豊 斉藤
正人 井出
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP1317273A priority Critical patent/JP2726126B2/ja
Publication of JPH03177932A publication Critical patent/JPH03177932A/ja
Application granted granted Critical
Publication of JP2726126B2 publication Critical patent/JP2726126B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、定周期で起動される複数のタスクを管理
するマルチタスクシステムにおける定周期タスク管理方
法に関する。
〔従来の技術〕
従来、マルチタスクシステムにおいては、定周期で起
動される定周期タスクと、この定周期タスクより優先順
位が高いタスクとを有する場合に、定周期タスクの処理
を実行している間に優先順位の高いタスクからの割込要
求が発生したときに、実行中の定周期タスクの処理が中
断されて、優先順位の高いタスクが実行され、このタス
クの実行終了後に中断された定周期タスクの処理が再開
され、この定周期タスクの処理終了後、一定時間の待ち
状態の後に、再度定周期タスクが起動されるように構成
されている。
〔発明が解決しようとする課題〕
しかしながら、上記従来のマルチタスクシステムにあ
っては、定周期タスクの処理が終了後一定の待ち状態を
経て再度定周期タスクが起動されるので、第8図(b)
に示す定周期タスクが実行されている間に優先順位の高
いタスクの割込みがないときには、区間T1に示すよう
に、定周期タスクの処理が終了した時点から一定時間t
が経過した時点で、再度定周期タスクの処理が実行され
ることになり、定周期を確保することができるが、区間
T2及びT3のように、定周期タスクの実行中に第8図
(a)に示す優先順位の高いタスクの割込みによって、
定周期タスクの実行が中断されたときには、次回の定周
期タスクの実行開始時点が中断時間即ち優先順位の高い
タスクの処理時間だけ遅れることになり、定周期タスク
の起動される間隔は必ずしも一定間隔となることはなく
システムの操作性と信頼度が低下するという未解決の課
題があった。
また、定周期タスクの処理が、優先順位の高いタスク
による長時間の中断又は幾つかの中断処理により、定周
期を越える起動タイミングの遅れが生じたときには、定
周期回数とタスク起動回数が一致しなくなり、システム
の操作性と信頼度が低下するという未解決の課題もあっ
た。
そこで、この発明は、上記従来例の未解決の課題に着
目してなされたものであり、定周期タスクの定周期起動
を確保することが可能な定周期タスク管理方法を提供す
ると共に、定周期を越える起動タイミングの遅れによる
定周期回数とタスク起動回数の不一致を防止してシステ
ムの操作性と信頼度を向上させることが定周期タスク管
理方法を提供することを目的としている。
〔課題を解決するための手段〕
上記目的を達成するために、請求項(1)に係る定周
期タスク管理方法は、予め設定された設定固定周期で起
動される定周期タスクと、該定周期タスクより優先順位
が高いタスクとを有するマルチタスクシステムにおける
定周期タスク管理方法において、前記定周期タスクのタ
スクコントロールブロックに少なくとも残り時間管理領
域、設定周期時間格納領域及び起動遅れ回数格納領域を
形成し、前記残り時間管理領域の残り時間を減算手段に
よって所定周期で減算し、当該残り時間が零となったと
きに、設定周期時間格納手段によって前記設定時間格納
領域の設定周期時間を残り時間管理領域に格納すると共
に、タスク状態判定手段によって当該定周期タスクが待
ち状態であるか否かを判定し、その判定結果が待ち状態
であるときにはタスク起動手段によって定周期タスクの
処理を開始し、処理実行状態又は中断状態であるときに
は前記起動遅れ回数格納領域の起動遅れ回数をインクリ
メントし、さらに前記タスク起動手段による定周期タス
クの処理が終了したときに、前記起動遅れ回数が零であ
るか否かを判定し、その判定結果が零であるときには定
周期タスクを待ち状態とし、零でないときには当該起動
遅れ回数をデクリメントしてから前記タスク起動手段に
よって定周期タスクの処理を再実行させることを特徴と
している。
〔作用〕
請求項(1)に係る定周期タスク管理方法において
は、定周期タスクの起動時にその定周期時間を残り時間
としてタスクコントロールブロックの残り時間格納領域
に格納し、この残り時間格納領域の残り時間を一定周期
で減算し、これが零となったときに定周期タスクの処理
が開始されるため、定周期タスクの実行中に優先順位の
高いタスクの実行による中断状態が定周期タスクの待ち
時間以内であるときには、定周期タスクの定周期起動を
確保することができる。
しかも、定周期タスクの起動時に当該定周期タスクが
待ち状態であるか否かを判定し、待ち状態であるときに
は定周期タスク処理を実行するが、待ち状態でないとき
即ち処理実行状態又は中断状態であるときには、定周期
タスクの処理が遅れているものと判断して、タスクコン
トロールブロックの起動遅れ回数格納領域の起動遅れ回
数をインクリメントし、定周期タスクの処理が終了した
時点で、起動遅れ回数を判定し、これが零であるときに
は定周期タスクを待ち状態とし、零以外であるときには
起動遅れ回数をデクリメントしてから直ちに定周期タス
クの処理を再実行させることにより、定周期タスクの起
動遅れ時間を短縮して、定周期回数とタスク起動回数と
を一致させる。
〔実施例〕
以下、この発明の実施例を図面に基づいて説明する。
第1図はこの発明の一実施例を示すタスク構成図であ
る。
定周期タスクは、永久ループ1内に待ち状態部2が存
在し、この待ち状態部2にあるとき、即ち待ち状態のと
きにそのタスクのタスクコントロールブロックTCBは定
周期タスク待ち行列にリンクされており、定周期が経過
すると待ち状態部2から処理部3に移行して処理の実行
状態となる。
タスクコントロールブロックTCBは、第2図に示すよ
うに、次の待ちタスクのポインタを格納するポインタ格
納領域R1、次回のタスクを起動するまでの残り時間tR
管理する残り時間管理領域R2、自己のタスクの設定周期
時間tSを格納する設定周期時間格納領域R3及び起動遅れ
回数を格納する起動遅れ回数格納領域R4を備えている。
そして、待ち行列には、各タスクのタスクコントロー
ルブロックTCBが第3図に示すように次回起動までの残
り時間の少ない順にリンクされており、行列の先頭タス
クの残り時間tRが定周期タイマダウンカウンタC1に格納
されている。
そして、第4図に示す定周期割込み処理(例えば10ms
ec毎の割込み処理)が実行されると、ステップで、前
記定周期タイマダウンカウンタC1のカウント内容がカウ
ントダウンされ、次いでステップに移行して、カウン
タC1のカウント値が零となってタイムアップしたか否か
を判定し、タイムアップしていないときにはそのまま割
込処理を終了し、タイムアップしたときには、ステップ
に移行して該当するタスクのタスクコントロールブロ
ックTCBの残り時間管理領域R2に設定周期時間格納領域R
3に格納されている設定周期時間tSを格納してから再度
待ち行列にリンクされ、次いで、ステップに移行し
て、定周期タスクが待ち状態であるか否かを判定する。
この判定結果が待ち状態であるときには、ステップ
に移行して定周期タスク処理を実行開始し、定周期タス
クが実行状態又は中断状態であるときには、ステップ
に移行してタスクコントロールブロックTCBにおける起
動遅れ回数格納領域R4の起動遅れ回数Nをカウントアッ
プしてから割込処理を終了するように構成され、且つ定
周期タスクTA1の処理を終了して待ち状態に移行する際
に、第5図に示す待ち状態処理が起動される。
この待ち状態処理は、ステップでタスクコントロー
ルブロックTCBにおける起動遅れ回数格納領域R4の起動
遅れ回数Nが零であるか否かを判定し、N=0であると
きには、定周期タスクTA1の起動タイミングの遅れがな
いものと判断してステップに移行して定周期タスクTA
1を待ち状態に遷移させ、N>0であるときには、ステ
ップに移行して起動遅れ回数格納領域R4の起動遅れ回
数Nをダウンカウントしてからステップに移行して再
度定周期タスクTA1を起動して際実行状態とする。
そして、タスクの処理が終了すると、実行状態から待
ち状態に遷移する。
次に、上記実施例の動作を説明する。今、第6図
(b)に示すように、時点t0で待ち状態の定周期タスク
TA1のタスクコントロールブロックTCBが待ち行列の先頭
にリンクされており、その残り時間管理領域R2の残り時
間tRが定周期タイマダウンカウンタC1に格納されている
ものとする。この状態で、第4図の定周期割込み処理が
実行されると、ステップで定周期タイマダウンカウン
タC1がダウンカウントされ、このカウンタC1がタイムア
ップしていないときにときは、引き続き定周期割込み処
理が実行される毎にカウンタC1がダウンカウントされ、
時点t1でカウンタC1がタイムアップすると、ステップ
からステップに移行してタスクコントロールブロック
TCBの残り時間管理領域R2にそのタスクの設定周期時間t
Sが格納されて、このタスクコントロールブロックTCBが
待ち行列における残り時間tRに相当する位置に再リンク
され、次いでステップに移行し、定周期タスクが待ち
状態であるので、ステップに移行して定周期タスクの
処理が第6図(b)に示すように実行開始されて実行状
態に遷移する。
このタスクの実行状態で、区間T1に示すように、優先
順位の高いタスクの実行による中断状態が生じないとき
には、実行状態を継続して処理を終了したときに、実行
状態から待ち状態に復帰する。この間、各タスクのタス
クコントロールブロックTCBの残り時間管理領域R2の残
り時間tRが第4図の定周期割込処理の開始タイミングで
順次減少される。
その後、他のタスクが残り時間の少ない順に順次起動
されて、タスクTA1が待ち行列の先頭にリンクされる状
態となると、そのタスクコントロールブロックTCBの残
り時間管理領域R1の残り時間tRが定周期タイマダウンカ
ウンタC1にセットされ、これが第4図の定周期割込み処
理が実行される毎にダウンカウントされ、このカウンダ
C1が時点t3でタイムアップすると、タスクTA1が実行状
態となり、その後時点t4で優先順位の高いタスクTA2
よる割込みが発生すると、定周期タスクTA1が実行状態
から中断状態に遷移し、これに代えてタスクTA2が実行
され、時点t5でタスクTA2の処理が終了すると、中断状
態にあるタスクTA1が実行状態に復帰し、その後時点t6
でタスクTA1の処理が終了すると待ち状態に復帰する。
このように、定周期タスクTA1の実行開始タイミング
がタスクコントロールブロックTCBに形成した残り時間
管理領域R2に格納されている残り時間tRによって決定さ
れ、この残り時間tRは定周期タスクTA1の実行開始時に
定周期タスクTA1の設定周期時間tSにセットされるの
で、定周期タスクの起動タイミングは常に設定周期時間
tSに一致することになる。したがって、定周期タスクTA
1が処理を開始してから終了するまでの時間が設定周期
時間tS以内であるときには、常に定周期性を確保するこ
とができる。
一方、定周期タスクの処理開始から終了までの時間が
設定周期時間を越える場合には、第7図に示すように、
今、時点t0で、定周期タスクTA1のタスクコントロール
ロックTCBの起動遅れ回数格納領域R4の起動遅れ回数N
が零であり、且つ待ち状態で待ち行列の先頭にあるもの
とする。
この状態で、第4図の定周期割込処理が実行される
と、前述したように、定周期タイマダウンカウンタC1
タイムアップするまでは待ち状態が継続され、時点t1
カウンタC1がタイムアップすると、タスクコントロール
ブロックTCBの残り時間管理領域R2の残り時間tRとして
定周期タスクTA1の設定周期時間tSがセットされて、待
ち行列に再リンクされ(ステップ)、次いで定周期タ
スクTA1が待ち状態であるので、定周期タスクTA1を実行
状態に遷移させる(ステップ)。このとき軌道送れ回
数格納領域R4の起動遅れ回数Nは零の状態を継続する。
その後、時点t2で定周期タスクTA1の処理を終了する
と、第7図の待ち状態処理が起動され、そのステップ
で起動遅れ回数格納領域R4の起動遅れ回数Nが零である
か否かを判定し、N=0であるので、定周期タスクTA1
を待ち状態に遷移させる。
その後、時点t3で再度定周期タスクTA1が実行状態に
遷移し、時点t4で優先順位の高いタスクの割込みにより
定周期タスクTA1が中断状態となり、この中断状態が次
の定周期タスクの起動時点t5を越えて継続されたときに
は、第4図の定周期割込処理が実行されて、定周期タイ
マダウンカウンタC1がタイムアップした時点t5で、ステ
ップを経てステップに移行し、定周期タスクTA1
中断状態であるので、ステップに移行して起動遅れ回
数Nを“1"にアップカウントしてから割込処理を終了す
る。
このため、時点t6で優先順位の高いタスクTA2の処理
が終了して定周期タスクTA1が実行状態に復帰し、次い
で時点t7で定周期タスクTA1の処理が終了したときに、
第5図に示す待ち状態処理が実行されると、起動遅れ回
数NがN>0であるので、ステップからステップに
移行して、起動遅れ回数Nをダウンカウントして“0"と
し、次いでステップに移行して定周期タスクTA1を再
度実行状態とする。
その後、時点t8で再度定周期割込処理によって起動遅
れ回数Nが“1"にアップカウントされるので、定周期タ
スクTA1の処理が終了した時点t9で再度定周期タスクTA1
が実行状態となり、この処理が終了した時点t10では定
周期割込処理によって起動遅れ回数Nがカウントアップ
されていないので、第5図の待ち状態処理でステップ
からステップに移行して定周期タスクTA1が待ち状態
に遷移される。
このように、上記実施例によると、前述したように、
定周期タスクTA1が処理を開始してから終了するまでの
時間が設定周期時間tS以内であるときには常に定周期性
を確保することができると共に、定周期タスクの処理が
開始されてから終了するまでの時間が設定周期時間を越
えたときには、定周期タスクの処理が終了した時点で再
度処理を開始するので、たとえ定周期タスクに対して優
先順位の高いタスクの実行時間が長いか或いは優先順位
の高いタスクの実行回数が多い場合であっても、定周期
回数とタスク起動回数とが一致するように調整すること
ができる。
〔発明の効果〕
以上説明したように、請求項(1)に係る定周期タス
ク管理方法によれば、定周期タスクの起動管理を定周期
タスクが実行開始された時点で残り時間をこの定周期タ
スクの設定周期時間に設定することにより管理するよう
にしているので、定周期タスクの起動タイミングが設定
周期時間間隔からずれることはなく、正確な定周期性を
もって起動することができ、マルチタスクシステムの操
作性と信頼度とを向上させることができ、しかも、定周
期タスクの処理を開始してから終了するまでの時間がそ
のタスクに対して設定された設定周期時間より長い場合
に、処理が終了した時点で再度処理を開始するようにし
たので、定周期回数とタスク起動回数のずれを補正して
両者の不一致を確実に解消することができるという効果
が得られる。
【図面の簡単な説明】
第1図はこの発明の第1実施例を示す定周期タスクの構
成図、第2図は定周期タスクのタスクコントロールブロ
ックを示す構成図、第3図は待ち行列を示す状態図、第
4図は定周期割込処理の一例を示すフローチャート、第
5図は待ち状態処理の一例を示すフローチャート、第6
図は定周期タスクの処理を開始してから終了するまでの
時間が設定周期時間より短い場合の動作の説明に供する
タイミングチャート、第7図は定周期タスクの処理を開
始してから終了するまでの時間が設定周期時間より長い
場合の動作の説明に供するタイミングチャート、第8図
は従来例の動作の説明に供するタイミングチャートであ
る。 図中、1は永久ループ、2は待ち状態部、3は処理部、
TA1は定周期タスク、TA2は高優先順位タスク、TCBはタ
スクコントロールブロック、R1はポインタ領域、R2は残
り時間管理領域、R3は設定周期時間格納領域、R4は起動
遅れ回数格納領域である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−75938(JP,A) 特開 昭61−229128(JP,A) 特開 昭62−266625(JP,A) 実開 昭62−46950(JP,U)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】予め設定された設定固定周期で起動される
    定周期タスクと、該定周期タスクより優先順位が高いタ
    スクとを有するマルチタスクシステムにおける定周期タ
    スク管理方法において、前記定周期タスクのタスクコン
    トロールブロックに少なくとも残り時間管理領域、設定
    周期時間格納領域及び起動遅れ回数格納領域を形成し、
    前記残り時間管理領域の残り時間を減算手段によって所
    定周期で減算し、当該残り時間が零となったときに、設
    定周期時間格納手段によって前記設定時間格納領域の設
    定周期時間を残り時間管理領域に格納すると共に、タス
    ク状態判定手段によって当該定周期タスクが待ち状態で
    あるか否かを判定し、その判定結果が待ち状態であると
    きにはタスク起動手段によって定周期タスクの処理を開
    始し、処理実行状態又は中断状態であるときには前記起
    動遅れ回数格納領域の起動遅れ回数をインクリメント
    し、さらに前記タスク起動手段による定周期タスクの処
    理が終了したときに、前記起動遅れ回数が零であるか否
    かを判定し、その判定結果が零であるときには定周期タ
    スクを待ち状態とし、零でないときには当該起動遅れ回
    数をデクリメントしてから前記タスク起動手段によって
    定周期タスクの処理を再実行させることを特徴とする定
    周期タスク管理方法。
JP1317273A 1989-12-06 1989-12-06 定周期タスク管理方法 Expired - Fee Related JP2726126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1317273A JP2726126B2 (ja) 1989-12-06 1989-12-06 定周期タスク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1317273A JP2726126B2 (ja) 1989-12-06 1989-12-06 定周期タスク管理方法

Publications (2)

Publication Number Publication Date
JPH03177932A JPH03177932A (ja) 1991-08-01
JP2726126B2 true JP2726126B2 (ja) 1998-03-11

Family

ID=18086395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1317273A Expired - Fee Related JP2726126B2 (ja) 1989-12-06 1989-12-06 定周期タスク管理方法

Country Status (1)

Country Link
JP (1) JP2726126B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4918053B2 (ja) * 2008-02-18 2012-04-18 株式会社藤商事 遊技機

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6075938A (ja) * 1983-10-03 1985-04-30 Oki Electric Ind Co Ltd タイマ−割込み時のデイスパツチ方式
JPS61229128A (ja) * 1985-04-04 1986-10-13 Mitsubishi Electric Corp タイマ管理方式
JP2666824B2 (ja) * 1986-05-15 1997-10-22 三菱電機株式会社 プログラマブル制御装置

Also Published As

Publication number Publication date
JPH03177932A (ja) 1991-08-01

Similar Documents

Publication Publication Date Title
JPH10301793A (ja) 情報処理装置及びスケジューリング方法
US20050015766A1 (en) Time deadline based operating system
JPH0454255B2 (ja)
US5968168A (en) Scheduler reducing cache failures after check points in a computer system having check-point restart function
JP2726126B2 (ja) 定周期タスク管理方法
JP2001236236A (ja) タスク制御装置およびそのタスクスケジューリング方法
JP6861275B2 (ja) 車両制御装置
JPH0877039A (ja) テスト方法
JP3734042B2 (ja) プロセス管理方法
JPS6368934A (ja) タスクスケジユ−ル方式
WO2019159310A1 (ja) 電子制御装置
JP5127541B2 (ja) タイマ管理方法、並びにタイマ管理装置
JP2004070579A (ja) タスクスケジューリング装置、タスクスケジューリング方法、プログラム
KR20230167901A (ko) 멀티 스레드 프로그램의 실행 주기 보정 방법
JP2689778B2 (ja) 電子制御装置の暴走検知装置
JP3169316B2 (ja) タスクスケジューリング方法
JP4156148B2 (ja) タスクスケジューリング装置
JPH05204667A (ja) 計算機システムのタスク実行制御装置
JPS6114548B2 (ja)
JP2814956B2 (ja) ディスパッチャ制御方式
JPH11194951A (ja) 情報処理装置
JPH06295248A (ja) タスク資源解放方式
JP2000276360A (ja) タスクスケジューリング方法及び装置
JPH04275635A (ja) 定周期処理方式
JPH0146960B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071205

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees