JPH03177932A - Periodical task control system - Google Patents
Periodical task control systemInfo
- Publication number
- JPH03177932A JPH03177932A JP31727389A JP31727389A JPH03177932A JP H03177932 A JPH03177932 A JP H03177932A JP 31727389 A JP31727389 A JP 31727389A JP 31727389 A JP31727389 A JP 31727389A JP H03177932 A JPH03177932 A JP H03177932A
- Authority
- JP
- Japan
- Prior art keywords
- task
- periodic
- remaining time
- time
- period
- 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
- 230000000737 periodic effect Effects 0.000 claims description 103
- 238000007726 management method Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 27
- 230000001934 delay Effects 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 14
- 238000001994 activation Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 244000171726 Scotch broom Species 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、定周期で起動される複数のタスクヲ管理す
るマルチタスクシステムにおける定周期タスク管理方式
に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a periodic task management method in a multitasking system that manages a plurality of tasks activated at regular intervals.
〔従来の技術]
従来、マルチタスクシステムにおいては、定周期で起動
される定周期タスクと、この定周期タスクより優先順位
が高いタスクとを有する場合に、定周期タスクの処理を
実行している間に優先順位の高いタスクからの割込要求
が発生したときに、実行中の定周期タスクの処理が中断
されて、優先順位の高いタスクが実行され、このタスク
の実行終了後に中断された定周期タスクの処理が再開さ
れ、この定周期タスクの処理終了後、一定時間の待ち状
態の後に、再度定周期タスクが起動されるように構成さ
れている。[Prior Art] Conventionally, in a multitasking system, when there is a fixed-period task that is activated at regular intervals and a task that has a higher priority than the fixed-period task, processing of the fixed-period task is executed. If an interrupt request occurs from a high-priority task during the interval, the processing of the currently executing periodic task is interrupted, the high-priority task is executed, and the interrupted routine is resumed after the execution of this task is completed. Processing of the periodic task is restarted, and after the periodic task has finished processing, the periodic task is configured to be activated again after a waiting state for a certain period of time.
〔発明が解決しようとする課題]
しかしながら、上記従来のマルチタスクシステムにあっ
ては、定周期タスクの処理が終了後一定の待ち状態を経
て再度定周期タスクが起動されるので、第9図0))に
示す定周期タスクが実行されている間に優先順位の高い
タスクの割込みがないときには、区間T1に示すように
、定周期タスクの処理が終了した時点から一定時間もが
経過した時点で、再度定周期タスクの処理が実行される
ことになり、定周期を確保することができるが、区間T
2及びT3のように、定周期タスクの実行中に第9図(
a)に示す優先順位の高いタスクの割込みによって、定
周期タスクの実行が中断されたときには、次回の定周期
タスクの実行開始時点が中断時間即ち優先順位の高いタ
スクの処理時間だけ遅れることになり、定周期タスクの
起動される間隔は必ずしも一定間隔となることはなくシ
ステムの操作性と信頼度が低下するという未解決の課題
があった。[Problems to be Solved by the Invention] However, in the conventional multitasking system described above, after the processing of the periodic task is completed, the periodic task is activated again after a certain waiting state. )) When there is no interrupt from a task with a higher priority while the periodic task shown in ()) is being executed, the task is executed after a certain period of time has passed from the end of the periodic task processing, as shown in section T1. , the process of the periodic task will be executed again, and the periodic period can be secured, but the period T
2 and T3, during the execution of a periodic task, FIG.
When the execution of a periodic task is interrupted due to an interrupt from a task with a high priority as shown in a), the start of execution of the next periodic task will be delayed by the interruption time, that is, the processing time of the task with a high priority. However, there has been an unresolved problem that the intervals at which periodic tasks are activated are not necessarily constant, reducing the operability and reliability of the system.
また、定周期タスクの処理が、優先順位の高いタスクに
よる長時間の中断又は幾つかの中断処理により、定周期
を越える起動タイミングの遅れが生じたときには、定周
期回数とタスク起動回数が一致しなくなり、システムの
操作性と信頼度が低下するという未解決の課題もあった
。In addition, if the processing of a fixed-period task is delayed beyond the fixed period due to a long interruption by a task with a higher priority or several interruption processes, the number of fixed-period tasks and the number of task activations may not match. There was also an unresolved issue that the operability and reliability of the system deteriorated.
そこで、この発明は、上記従来例の未解決の課題に着目
してなされたものであり、定周期タスクの定周期起動を
確保することが可能な定周期タスク管理方式を提供する
と共に、定周期を越える起動タイミングの遅れによる定
周期回数とタスク起動回数の不一致を防止してシステム
の操作性と信頼度を向上させることが定周期タスク管理
方式を提供することを目的としている。Therefore, the present invention has been made by focusing on the unresolved problems of the above-mentioned conventional example, and provides a periodic task management method that can ensure periodic activation of periodic tasks, and also It is an object of the present invention to provide a periodic task management method to improve the operability and reliability of the system by preventing discrepancies between the number of regular periods and the number of task activations due to a delay in activation timing that exceeds .
上記目的を達成するために、請求項(1)に係る定周期
タスク管理方式は、予め設定された設定固定周期で起動
される定周期タスクと、該定周期タスクより優先順位が
高いタスクとを有するマルチタスクシステムにおいて、
前記定周期タスクのタスクコントロールブロックに少な
くとも残り時間管理領域及び設定周期時間格納領域を形
成し、前記残り時間管理領域の残り時間を減算手段によ
って所定周期で凍算し、当該残り時間が零となったとき
に設定周期時間格納手段によって前記設定時間格納領域
の設定周期時間を残り時間管理領域に格納し、且つタス
ク起動手段によって前記定周期タスクの処理を開始する
ようにしたことを特徴としている。In order to achieve the above object, the periodic task management method according to claim (1) includes a periodic task that is started at a preset fixed period, and a task that has a higher priority than the periodic task. In a multitasking system with
At least a remaining time management area and a set cycle time storage area are formed in the task control block of the fixed periodic task, and the remaining time in the remaining time management area is frozen at a predetermined period by a subtraction means, so that the remaining time becomes zero. The present invention is characterized in that the set cycle time storage means stores the set cycle time in the set time storage area in the remaining time management area, and the task activation means starts processing the fixed cycle task.
声た、請求項(2)に係る定周期タスク管理方式は、予
め設定された設定固定周期で起動される定周期タスクと
、該定周期タスクより優先順位が高いタスクとを有する
マルチタスクシステムにおいて、前記定周期タスクのタ
スクコントロールブロックに少なくとも残り時間管理領
域、設定周期時間格納領域及び起動遅れ回数格納領域を
形成し、前記残り時間管理領域の残り時間を減算手段に
よって所定周期で減算し、当該残り時間が零となったと
きに設定周期時間格納手段によって前記設定時間格納領
域の設定周期時間を残り時間管理領域に格納し、且つタ
スク状態判定手段によって当該定周期タスクが待ち状態
であるか否かを判定し、待ち状態であるときにはタスク
起動手段によって定周期タスクの処理を開始し、待ち状
態でないときには前記起動遅れ回数格納領域の起動遅れ
回数をインクリメントし、定周期タスクの処理が終了し
たときに、前記起動遅れ回数が零であるか否かを判定し
、零であるときには定周期タスクを待ち状態とし、零で
ないときに当該起動遅れ回数をデクリメントしてから前
記タスク起動手段によって定周期タスクの処理を再実行
させることを特徴としている。The fixed-period task management method according to claim (2) is applicable to a multi-task system having a fixed-period task that is activated at a preset fixed period, and a task that has a higher priority than the fixed-period task. , forming at least a remaining time management area, a set cycle time storage area, and a startup delay count storage area in the task control block of the fixed periodic task, and subtracting the remaining time in the remaining time management area at a predetermined period by a subtracting means; When the remaining time becomes zero, the set cycle time storage means stores the set cycle time in the set time storage area in the remaining time management area, and the task status determination means determines whether or not the fixed cycle task is in a waiting state. If it is in a waiting state, the task activation means starts processing the fixed-period task, and if it is not in a waiting state, it increments the number of startup delays in the startup delay number storage area, and when the processing of the fixed-period task is finished. Then, it is determined whether or not the number of startup delays is zero, and if it is zero, the fixed periodic task is placed in a waiting state, and if it is not zero, the number of startup delays is decremented, and then the task starting means executes the fixed periodic task. The feature is that the process is re-executed.
〔作用]
請求項(1)に係る定周期タスク管理方式においては、
定周期タスクの起動時にその定周期時間を残り時間とし
てタスクコントロールブロックの残す時間格納領域に格
納し、この残り時間格納領域の残り時間を一定周期で減
算し、これが零となったときに定周期タスクの処理が開
始されるため、定周期タスクの実行中に優先順位の高い
タスクの実行による中断状態が定周期タスクの待ち時間
以内であるときには、定周期タスクの定周期起動を確保
することができる。[Operation] In the periodic task management method according to claim (1),
When a fixed-period task is started, the fixed-period time is stored as the remaining time in the remaining time storage area of the task control block, the remaining time in this remaining time storage area is subtracted at a fixed period, and when this becomes zero, the fixed-period time is stored as the remaining time. Since task processing is started, if the interruption state due to the execution of a task with a higher priority during execution of a periodic task is within the waiting time of the periodic task, it is possible to ensure the periodic activation of the periodic task. can.
また、請求項(2)に係る定周期タスク管理方式におい
ては、定周期タスクの起動時に当該定周期タスクが待ち
状態であるか否かを判定し、待ち状態であるときには定
周期タスク処理を実行するが、待ち状態でないとき即ち
処理実行状態又は中断状態であるときには、定周期タス
クの処理が遅れているものと判断して、タスクコントロ
ールブロックの起動遅れ回数格納領域の起動遅れ回数を
インクリメントし、定周期タスクの処理が終了した時点
で、起動遅れ回数を判定し、これが零であるときには定
周期タスクを待ち状態とし、零以外であるときには起動
遅れ回数をデクリメントしてから直ちに定周期タスクの
処理を再実行させることにより、定周期タスクの起動遅
れ時間を短縮して、定周期回数とタスク起動回数とを一
致させる。Further, in the fixed-period task management method according to claim (2), when the fixed-period task is activated, it is determined whether the fixed-period task is in a waiting state, and when the fixed-period task is in the waiting state, the fixed-period task processing is executed. However, when it is not in the waiting state, that is, when it is in the processing execution state or the suspended state, it is determined that the processing of the periodic task is delayed, and the number of startup delays in the startup delay number storage area of the task control block is incremented, When the processing of a fixed-period task is completed, the number of startup delays is determined. If this is zero, the fixed-period task is placed in a waiting state, and if it is other than zero, the number of startup delays is decremented and the fixed-period task is immediately processed. By re-executing the task, the activation delay time of the fixed-period task is shortened, and the number of fixed-period tasks and the number of task activations are matched.
以下、この発明の実施例を図面に基づいて説明する。 Embodiments of the present invention will be described below based on the drawings.
第1図はこの発明の第1実施例を示すタスク構成図であ
る。FIG. 1 is a task configuration diagram showing a first embodiment of the present invention.
定周期タスクは、永久ループ1内に待ち状態部2が存在
し、この待ち状態部2にあるとき、即ち待ち状態のとき
にそのタスクのタスクコントロールプロ・ツクTCBは
定周期タスク待ち行列にリンクされており、定周期が経
過すると待ち状態部2から処理部3に移行して処理の実
行状態となる。A periodic task has a waiting state section 2 in the eternal loop 1, and when it is in this waiting state section 2, that is, when it is in the waiting state, the task control program TCB of the task is linked to the periodic task queue. When a fixed period has elapsed, the waiting state section 2 shifts to the processing section 3 and enters the processing execution state.
タスクコントロールブロックTCBは、第2図に示すよ
うに、次の待ちタスクのポインタを格納するポインタ格
納領域RI、次回のタスクを起動するまでの残り時間t
Rを管理する残り時間管理領域R2、自己のタスクの設
定周期時間t、を格納する設定周期時間格納領域R3及
び起動遅れ回数を格納する起動遅れ回数格納領域R4を
備えている。As shown in FIG. 2, the task control block TCB includes a pointer storage area RI for storing the pointer of the next waiting task, and a remaining time t until starting the next task.
It has a remaining time management area R2 for managing R, a set cycle time storage area R3 for storing the set cycle time t of its own task, and a start delay count storage area R4 for storing the number of start delays.
そして、待ち行列には、各タスクのタスクコントロール
ブロックTCBが第3図に示すように次回起動までの残
り時間の少ない順にリンクされており、行列の先頭タス
クの残り時間tRが定周期タイマダウンカウンタC1に
格納されている。In the queue, the task control blocks TCB of each task are linked in descending order of the remaining time until the next activation, as shown in FIG. It is stored in C1.
そして、第4図に示す定周期割込み処理(例えば10m
5ec毎の割込み処理)が実行されると、ステップ■で
、前記定周期タイマダウンカウンタCのカウント内容が
カウントダウンされ、次いでステップ■に移行して、カ
ウンタC1のカウント値が零となってタイムアンプした
か否かを判定し、タイムアツプしていないときにはその
まま割込処理f終了し、タイムアツプしたときには、ス
テップ■に移行して該当するタスクのタスクコントロー
ルブロックTCBの残り時間管理領域R2に設定周期時
間格納領域R1に格納されている設定周期時間り、を格
納してから再度待ち行列にリンクされ、次いでステップ
■に移行して定周期タスクを待ち状態から実行状態に遷
移させる。Then, the periodic interrupt processing (for example, 10 m
When the interrupt processing (interrupt processing every 5ec) is executed, the count contents of the fixed-cycle timer down counter C are counted down in step (2), and then the process proceeds to step (2), where the count value of the counter C1 becomes zero and the time amplifier If the time has not expired, the interrupt processing f is immediately terminated, and if the time has expired, the process moves to step 2 and stores the set cycle time in the remaining time management area R2 of the task control block TCB of the corresponding task. After storing the set cycle time stored in the area R1, the task is linked to the queue again, and then the process moves to step (2) to transition the fixed cycle task from the wait state to the execution state.
そして、タスクの処理が終了すると、実行状態から待ち
状態に遷移する。When the processing of the task is completed, the execution state transitions to the wait state.
次に、上記実施例の動作を説明する。今、第5図(b)
に示すように、時点t。で待ち状態の定周期タスクTA
、のタスクコントロールブロックTCBが待ち行列の先
頭にリンクされたおり、その残り時間管理領域R2の残
り時間t、lが定周期タイマダウンカウンタCIに格納
されているものとする。この状態で、第4図の定周期割
込み処理が実行されると、ステップので定周期タイマダ
ウンカウンタC8がダウンカウントされ、二〇カウン才
C1がタイムアツプしていないときにときは、引き続き
定周期割込み処理が実行される毎にカウンタC1がダウ
ンカウントされ、時点t1でカウンタC9がタイムアツ
プすると、ステップ■からステップ■に移行してタスク
コントlコールブロックTCBの残り時間管理領域R2
にそのタスクの設定周期時間り、が格納されて、このタ
スクコントロールブロックTCBが待ち行列における残
り時間1Rに相当する位置に再リンクされ、次いでステ
ップ■に移行して定周期タスクの処理が第5図中)に示
すように実行開始されて実行状態に遷移する。Next, the operation of the above embodiment will be explained. Now, Figure 5(b)
As shown at time t. Periodic task TA in waiting state
It is assumed that the task control block TCB of , is linked to the head of the queue, and the remaining times t and l of the remaining time management area R2 are stored in the fixed-cycle timer down counter CI. In this state, when the periodic interrupt process shown in FIG. Each time a process is executed, the counter C1 is counted down, and when the counter C9 times out at time t1, the process moves from step ■ to step ■, and the remaining time management area R2 of the task control call block TCB is counted down.
The set cycle time of the task is stored in , and this task control block TCB is re-linked to the position corresponding to the remaining time 1R in the queue, and then the process moves to step (2) where the processing of the fixed cycle task is started in the fifth As shown in (in the figure), execution starts and transitions to the execution state.
このタスクの実行状態で、区間TIに示すように、優先
順位の高いタスクの実行による中断状態が生じないとき
には、実行状態を継続して処理を終了したときに、実行
状態から待ち状態に復帰する。この間、各タスクのタス
クコントロールブロックTCBの残り時間管理領域R2
の残り時間t、Rが第4図の定周期割込処理の開始タイ
ミングで順次減少される。In the execution state of this task, if no interruption occurs due to the execution of a task with a higher priority, as shown in interval TI, the execution state is continued and when the processing is completed, the execution state is returned to the wait state. . During this time, the remaining time management area R2 of the task control block TCB of each task
The remaining times t and R are sequentially decreased at the start timing of the periodic interrupt process shown in FIG.
その後、他のタスクが残り時間の少ない順に順次起動さ
れて、タスクTA、が待ち行列の先頭にリンクされる状
態となると、そのタスクコントロールブロックTCBの
残り時間管理領域R1の残り時間tRが定周期タイマダ
ウンカウンタC0にセットされ、これが第4図の定周期
割込み処理が実行される毎番こダウンカウントされ、こ
のカウンタC3が時点L2でタイムアツプすると、タス
クTA、が実行状態となり、その後時点t3で優先順位
の高いタスクTA、による割込みが発生すると、定周期
タスクTA、が実行状態から中断状態に遷移し、これに
代えてタスクTA、が実行され、時点t4でタスクTA
、の処理が終了すると、中断状態にあるタスクTA、が
実行状態に復帰し、その後時点L5でタスクTAlの処
理が終了すると待ち状態に復帰する。Thereafter, other tasks are activated in order of decreasing remaining time, and when task TA is linked to the head of the queue, the remaining time tR in the remaining time management area R1 of the task control block TCB changes at regular intervals. This is set in a timer down counter C0, which is counted down every time the periodic interrupt processing shown in FIG. When an interrupt by a task TA with a high priority occurs, the periodic task TA transits from the execution state to the suspended state, and task TA is executed instead, and at time t4 task TA
When the processing of , , is completed, the suspended task TA returns to the execution state, and thereafter, when the processing of task TA is completed at time L5, the task TA returns to the waiting state.
このように、定周期タスクTA、の実行開始タイミング
がタスクコントロールブロックTCBに形成した残り時
間管理領域R7!ご格納されている残り時間tRによっ
て決定され、この残り時間tI+は定周期タスクTA、
の実行開始時に定周期タスクTA、の設定周期時間Ls
にセットされるので、定周期タスクの起動タイミングは
常に設定周期時間り、に一致することになる、したがっ
て、定周期タスクT A +が処理を開始してから終了
するまでの時間が設定周期時間り3以内であるときには
、常に定周期性を確保することができる。In this way, the execution start timing of the periodic task TA is determined by the remaining time management area R7! formed in the task control block TCB! This remaining time tI+ is determined by the stored remaining time tR, and this remaining time tI+ is determined by the periodic task TA,
At the start of execution of periodic task TA, set periodic time Ls
Therefore, the activation timing of the periodic task always matches the set period time. Therefore, the time from when the periodic task T A + starts processing until it ends is equal to the set period time. When it is within 3, constant periodicity can always be ensured.
次に、この発明の第2実施例を第6図〜第8図について
説明する。Next, a second embodiment of the present invention will be described with reference to FIGS. 6 to 8.
この第2実施例は、上記第1実施例の定周期性の確保に
加えて、定周期タスクの処理開始から終了までの時間が
設定周期時間を越える場合に定面間回数とタスク起動回
数とを一致させるようにしたちのである。In addition to ensuring regular periodicity as in the first embodiment, this second embodiment also ensures that when the time from the start to the end of processing of a periodic task exceeds the set period time, the number of inter-periodic tasks and the number of task activations are The aim is to match the
すなわち、第6図に示すように、定周期割込み処理が第
4図のステップ■及びステップ■間に定周期タスクが待
ち状態であるか否かを判定するステップ■が追加され、
この判定結果が待ち状態であるときには、ステップ■に
移行して定周期タスク処理を実行開始し、定周期タスク
が実行状態又は中断状態であるときには、ステップ■に
移行してタスクコントロールブロックTCBにおける起
動、遅れ回数格納領域R6の起動遅れ回数Nをカウント
アツプしてから割込処理を終了するように構成され、且
つ定周期タスクTA、の処理を終了して待ち状態に移行
する際に、第7図に示す待ち状態処理が起動される。That is, as shown in FIG. 6, in the periodic interrupt processing, a step (2) for determining whether or not a periodic task is in a waiting state is added between step (2) and step (2) in FIG.
If the result of this determination is that the task is in the waiting state, the process moves to step (2) to start executing the periodic task process, and if the periodic task is in the running or suspended state, the process moves to step (2) and the process is started in the task control block TCB. , is configured to end the interrupt processing after counting up the number of startup delays N in the delay number storage area R6, and when the periodic task TA finishes processing and transitions to the waiting state, the seventh The wait state process shown in the figure is activated.
この待ち状態処理は、ステップ■でタスクコントロール
ブロックTCBにおける起動遅れ回数格納領域R4の起
動遅れ回数Nが零であるか否かを判定し、N=Oである
ときには、定周期タスクTA、の起動タイミングの遅れ
がないものと判断してステップ@に移行して定周期タス
クTA、を待ち状態に遷移させ、N>0であるときには
、ステップ■に移行して起動遅れ回数格納領域R4の起
動遅れ回数Nをダウンカウントしてからステップ[相]
に移行して再度定周期タスクTA、を起動して再実行状
態とする。In this wait state process, in step (3), it is determined whether the number of startup delays N in the startup delay number storage area R4 in the task control block TCB is zero, and if N=O, the periodic task TA is activated. If it is determined that there is no timing delay, the process moves to step @, and the periodic task TA is placed in a waiting state. If N>0, the process moves to step 2, and the start delay count in the start delay count storage area R4 is changed. Count down the number of times N and then step [phase]
Then, the periodic task TA is restarted and put into a re-execution state.
次に、上記第2実施例の動作を第8図のタイミングチャ
ートを伴って説明する。Next, the operation of the second embodiment will be explained with reference to the timing chart of FIG.
今、時点t0で、定周期タスクT A +のタスクコン
トロールブロックTCHの起動遅れ回数格納領域R4の
起動遅れ回数Nが零であり、且つ待ち状態で待ち行列の
先頭にあるものとする。この状態で、第6図の定周期割
込処理が実行されると、前述したように、定周期タイマ
ダウンカウンタCがタイムアツプするまでは待ち状態が
継続され、時点t1でカウンタC1がタイムアツプする
と、タスクコントロールブロックTCBの残り時間管理
領域R2の残り時間tRとして定周期タスクTA1の設
定周期時間t、がセットされて、待ち行列に再リンクさ
れ(ステップ■)、次いで定周期タスクTA、が待ち状
態であるので、定周期タスクTA、を実行状態に遷移さ
せる(ステップ■)。Now, at time t0, it is assumed that the number of startup delays N in the startup delay number storage area R4 of the task control block TCH of the periodic task T A + is zero, and the task control block TCH of the periodic task T A + is at the head of the queue in a waiting state. When the periodic interrupt processing shown in FIG. 6 is executed in this state, as described above, the waiting state continues until the periodic timer down counter C times up, and when the counter C1 times up at time t1, The set periodic time t of the periodic task TA1 is set as the remaining time tR in the remaining time management area R2 of the task control block TCB, and the periodic task TA1 is relinked to the queue (step ■), and then the periodic task TA is placed in a waiting state. Therefore, the periodic task TA is transitioned to the execution state (step 2).
このとき起動遅れ回数格納領域R4の起動遅れ回数Nは
零の状態を継続する。At this time, the number of startup delays N in the startup delay number storage area R4 continues to be zero.
その後、時点t2で定周期タスクTA、の処理を終了す
ると、第7図の待ち状態処理が起動され、そのステップ
■で起動遅れ回数格納領域R4の起動遅れ回数Nが零で
あるか否かを判定し、N=0であるので、定周期タスク
TA、を待ち状態に遷移させる。After that, when the processing of the periodic task TA is finished at time t2, the waiting state process shown in FIG. Since N=0, the periodic task TA is transited to the waiting state.
その後、時点t3で再度定周期タスクTA、が実行状態
に遷移し、時点L4で優先順位の高いタスクの割込みに
より定周期タスクTA、が中断状態となり、この中断状
態が次の定周期タスクの起動時点t、を越えて継続され
たときには、第6図の定周期割込処理が実行されて、定
周期タイマダウンカウンタC1がタイムアツプした時点
t、で、ステップ■を経てステップ■に移行し、定周期
タスクTA、が中断状態であるので、ステップ■に移行
して起動遅れ回数Nをパ1°“にアップカウントしてか
ら割込処理を終了する。Thereafter, at time t3, the periodic task TA transits to the execution state again, and at time L4, the periodic task TA becomes suspended due to an interrupt from a task with a higher priority, and this suspended state causes the next periodic task to start. When the interrupt processing continues beyond time t, the periodic interrupt process shown in FIG. Since the periodic task TA is in a suspended state, the process moves to step (3), counts up the number of startup delays N to "1", and then ends the interrupt process.
このため、時点L6で優先順位の高いタスクTA2の処
理が終了して定周期タスクTA、が実行状態に復帰し、
次いで時点も、で定周期タスクTAIの処理が終了した
ときに、第7図に示す待ち状態処理が実行されると、起
動遅れ回数NがN〉0であるので、ステップ0からステ
ップ@に移行して・起動遅れ回数Nをダウンカウントし
てO“。Therefore, at time L6, the processing of the high priority task TA2 is completed and the periodic task TA returns to the execution state.
Next, when the processing of the periodic task TAI is completed at the time point, when the waiting state processing shown in FIG.・Count down the number of startup delays N and turn O".
とし、次いでステップ@に移行して定周期タスクTA、
を再度実行状態とする。Then, proceed to step @ and execute the periodic task TA,
Put it into running state again.
その後、時点1aで再度定周期割込処理によって起動遅
れ回数Nが“1”にアップカウントされるので、定周期
タスクTA、の処理が終了した時点t9で再度定周期タ
スクTAIが実行状態となり、この処理が終了した時点
tooでは定周期割込処理によって起動遅れ回数Nがカ
ウントアツプされていないので、第7図の待ち状態処理
でステップ■からステップ@に移行して定周期タスクT
A。Thereafter, at time 1a, the number of startup delays N is incremented to "1" by the periodic interrupt processing again, so at time t9 when the processing of periodic task TA is completed, periodic task TAI is again in the execution state. At the time too when this processing is completed, the number of startup delays N has not been counted up due to the periodic interrupt processing, so the periodic task T is transferred from step ■ to step @ in the waiting state processing of FIG.
A.
が待ち状態に遷移される。is transitioned to the waiting state.
このように、上記第2実施例によると、定周期タスクの
処理が開始されてから終了するまでの時間が設定周期時
間を越えたときに、定周期タスクの処理が終了した時点
で再度処理を開始するので、たとえ定周期タスクに対し
て優先順位の高いタスクの実行時間が長いか或いは優先
順位の高いタスクの実行回数が多い場合であっても、定
周期回数とタスク起動回数とが一致するように調整する
ことができる。As described above, according to the second embodiment, when the time from the start to the end of the periodic task processing exceeds the set period time, the processing is restarted at the point when the periodic task processing is completed. Therefore, even if a task with a higher priority has a longer execution time than a fixed-period task or a task with a higher priority has been executed more often than a fixed-period task, the number of fixed-period tasks and the number of task starts will match. It can be adjusted as follows.
以上説明したように、請求項(1)に係る定周期タスク
管理方式によれば、定周期タスクの起動管理を定周期タ
スクが実行開始された時点で残り時間をこの定周期タス
クの設定周期時間に設定することにより管理するように
しているので、定周期タスクの起動タイごングが設定周
期時間間隔からずれることはなく、正確な定周期性をも
って起動することができ、マルチタスクシステムの操作
性と信頼度とを向上させることができる効果が得られる
。As explained above, according to the fixed-period task management method according to claim (1), when the start-up management of a fixed-period task is started, the remaining time is determined by the set period of the fixed-period task. Since the startup timing of periodic tasks does not deviate from the set periodic time interval, it can be started with accurate periodicity, improving the operability of the multitasking system. The effect of improving reliability and reliability can be obtained.
また、請求項(2)に係る定周期タスク管理方式によれ
ば、上記効果に加えて、定周期タスクの処理を開始して
から終了するまでの時間がそのタスクの設定された設定
周期時間より長い場合に、処理が終了した時点で再度処
理を開始するようにしたので、定周期回数とタスク起動
回数のずれを補正して両者の不一致を解消することがで
きる効果が得られる。Further, according to the periodic task management method according to claim (2), in addition to the above effects, the time from the start to the end of processing of a periodic task is longer than the set periodic time for that task. Since the process is started again when the process is completed if the process is long, it is possible to correct the difference between the number of regular cycles and the number of task activations, thereby resolving the discrepancy between the two.
第1図はこの発明の第1実施例を示す定周期タスクの構
成図、第2図は定周期タスクのタスクコントロールブロ
ックを示す構成図、第3図は待ち行列を示す状態図、第
4図は定周期割込処理の異例を示すフローチャート、第
5図は第1実施例の動作の説明に供するタイミングチャ
ート、第6図及び第7図は夫々この発明の第2実施例を
示す定周期割込処理及び待ち状態処理の一例を示すフロ
ーチャート、第8図は第2実施例の動作の説明に供する
タイミングチャート、第9図は従来例の動作の説明に供
するタイミングチャートである。
図中、1は永久ループ、2は待ち状態部、3は処理部、
TA、は定周期タスク、TA2は高優先順位タスク、T
CBはタスクコントロールブロック、R1はポインタ領
域、R2は残り時間管理領域、R3は設定周期時間格納
領域、R4は起動遅れ回数格納領域である。
箒7図FIG. 1 is a configuration diagram of a periodic task showing a first embodiment of the present invention, FIG. 2 is a configuration diagram showing a task control block of a periodic task, FIG. 3 is a state diagram showing a queue, and FIG. 4 is a flowchart showing an unusual example of fixed period interrupt processing, FIG. 5 is a timing chart for explaining the operation of the first embodiment, and FIGS. FIG. 8 is a timing chart for explaining the operation of the second embodiment, and FIG. 9 is a timing chart for explaining the operation of the conventional example. In the figure, 1 is an eternal loop, 2 is a waiting state part, 3 is a processing part,
TA is a periodic task, TA2 is a high priority task, T
CB is a task control block, R1 is a pointer area, R2 is a remaining time management area, R3 is a setting cycle time storage area, and R4 is a startup delay count storage area. Broom diagram 7
Claims (2)
タスクと、該定周期タスクより優先順位が高いタスクと
を有するマルチタスクシステムにおいて、前記定周期タ
スクのタスクコントロールブロックに少なくとも残り時
間管理領域及び設定周期時間格納領域を形成し、前記残
り時間管理領域の残り時間を減算手段によって所定周期
で減算し、当該残り時間が零となったときに設定周期時
間格納手段によって前記設定時間格納領域の設定周期時
間を残り時間管理領域に格納し、且つタスク起動手段に
よって前記定周期タスクの処理を開始するようにしたこ
とを特徴とする定周期タスク管理方式。(1) In a multitasking system having a fixed cycle task that is started at a preset fixed cycle and a task that has a higher priority than the fixed cycle task, at least the remaining time is managed in the task control block of the fixed cycle task. A subtracting means subtracts the remaining time in the remaining time management area at a predetermined period, and when the remaining time becomes zero, the setting period time storage area is stored in the setting period storage area. A periodic task management method, characterized in that a set periodic time is stored in a remaining time management area, and processing of the periodic task is started by a task starting means.
タスクと、該定周期タスクより優先順位が高いタスクと
を有するマルチタスクシステムにおいて、前記定周期タ
スクのタスクコントロールブロックに少なくとも残り時
間管理領域、設定周期時間格納領域及び起動遅れ回数格
納領域を形成し、前記残り時間管理領域の残り時間を減
算手段によって所定周期で減算し、当該残り時間が零と
なったときに設定周期時間格納手段によって前記設定時
間格納領域の設定周期時間を残り時間管理領域に格納し
、且つタスク状態判定手段によって当該定周期タスクが
待ち状態であるか否かを判定し、待ち状態であるときに
はタスク起動手段によって定周期タスクの処理を開始し
、待ち状態でないときには前記起動遅れ回数格納領域の
起動遅れ回数をインクリメントし、定周期タスクの処理
が終了したときに、前記起動遅れ回数が零であるか否か
を判定し、零であるときには定周期タスクを待ち状態と
し、零でないときに当該起動遅れ回数をデクリメントし
てから前記タスク起動手段によって定周期タスクの処理
を再実行させることを特徴とする定周期タスク管理方式
。(2) In a multitasking system having a fixed cycle task that is activated at a preset fixed cycle and a task that has a higher priority than the fixed cycle task, the task control block of the fixed cycle task at least manages the remaining time. forming a storage area, a setting cycle time storage area, and a startup delay count storage area, subtracting the remaining time in the remaining time management area at a predetermined period by a subtracting means, and when the remaining time becomes zero, setting cycle time storage means; The set cycle time of the set time storage area is stored in the remaining time management area, and the task state determining means determines whether the periodic task is in a waiting state, and if it is in the waiting state, the task activation means Starts processing of a fixed-period task, increments the number of startup delays in the startup delay number storage area when it is not in a waiting state, and checks whether the number of startup delays is zero when processing of the fixed-period task is completed. The periodic task is characterized in that the periodic periodic task is determined, and when the periodic periodic task is zero, the periodic periodic task is placed in a waiting state, and when it is not zero, the periodic periodic task is made to re-execute the process of the periodic task after decrementing the number of startup delays concerned and then re-executed by the task starting means. Management method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1317273A JP2726126B2 (en) | 1989-12-06 | 1989-12-06 | Periodic task management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1317273A JP2726126B2 (en) | 1989-12-06 | 1989-12-06 | Periodic task management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03177932A true JPH03177932A (en) | 1991-08-01 |
JP2726126B2 JP2726126B2 (en) | 1998-03-11 |
Family
ID=18086395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1317273A Expired - Fee Related JP2726126B2 (en) | 1989-12-06 | 1989-12-06 | Periodic task management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2726126B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009189710A (en) * | 2008-02-18 | 2009-08-27 | Fujishoji Co Ltd | Game machine |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6075938A (en) * | 1983-10-03 | 1985-04-30 | Oki Electric Ind Co Ltd | Dispatching system during timer interruption |
JPS61229128A (en) * | 1985-04-04 | 1986-10-13 | Mitsubishi Electric Corp | Timer managing system |
JPS62266625A (en) * | 1986-05-15 | 1987-11-19 | Mitsubishi Electric Corp | Programmable controller |
-
1989
- 1989-12-06 JP JP1317273A patent/JP2726126B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6075938A (en) * | 1983-10-03 | 1985-04-30 | Oki Electric Ind Co Ltd | Dispatching system during timer interruption |
JPS61229128A (en) * | 1985-04-04 | 1986-10-13 | Mitsubishi Electric Corp | Timer managing system |
JPS62266625A (en) * | 1986-05-15 | 1987-11-19 | Mitsubishi Electric Corp | Programmable controller |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009189710A (en) * | 2008-02-18 | 2009-08-27 | Fujishoji Co Ltd | Game machine |
Also Published As
Publication number | Publication date |
---|---|
JP2726126B2 (en) | 1998-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080104610A1 (en) | Hardware threads processor core utilization | |
JPH03217962A (en) | Information processor | |
US20050015766A1 (en) | Time deadline based operating system | |
KR100959548B1 (en) | A method of interrupt scheduling | |
JPH03177932A (en) | Periodical task control system | |
JP2003131892A (en) | Task execution control device and method therefor | |
US10430234B2 (en) | Thread coordination in a rule engine using a state machine | |
WO2018211865A1 (en) | Vehicle control device | |
CN111338425B (en) | Method and system for realizing countdown of wireless low-power-consumption equipment | |
JP2021163425A (en) | Electronic control device | |
JP3690555B2 (en) | Time management change device and external interrupt protection device | |
JPH0877039A (en) | Test method | |
KR20230167901A (en) | Time correction method to ensure periodicity of multi-threaded programs | |
JP5127541B2 (en) | Timer management method and timer management apparatus | |
CN117667342A (en) | Flexible scheduling method, device and storage medium of embedded RTOS | |
JPS5916054A (en) | Microprocessor | |
JPS6114548B2 (en) | ||
JP4156148B2 (en) | Task scheduling device | |
JPH07175406A (en) | Scan start control system of programmable controller | |
JP2001229035A (en) | Processing system and processing method | |
JPH0433127A (en) | Check point control system | |
JPH08202548A (en) | Processing cycle controller of programmable controller | |
JPS5990102A (en) | Program controller | |
JPH10275097A (en) | Hang-up detecting method for data processing system | |
JP2557785Y2 (en) | Single chip microcomputer |
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 |