JPH03177932A - Periodical task control system - Google Patents

Periodical task control system

Info

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
Application number
JP31727389A
Other languages
Japanese (ja)
Other versions
JP2726126B2 (en
Inventor
Yutaka Saito
豊 斉藤
Masato Ide
井出 正人
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/en
Publication of JPH03177932A publication Critical patent/JPH03177932A/en
Application granted granted Critical
Publication of JP2726126B2 publication Critical patent/JP2726126B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To start a periodical task with the accurate periodicity by setting the remaining time to the set periodical time of the periodical task when the execution of this task is started. CONSTITUTION:A task control block TCB includes a remaining time control area R2 which controls the remaining time until the next task is started. The execution start timing of a periodical task TA1 is decided by the remaining time stored in the area R2. This remaining time is set to the set periodical time of the task TA1 when starting the execution of the task TA1. Thus the periodical start of the task TA1 is secured even when the interruption state of the task TA1 caused by execution of a task TA2 having the higher priority than the task TA1 is kept within a waiting time.

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 .

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、請求項(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.

〔実施例〕〔Example〕

以下、この発明の実施例を図面に基づいて説明する。 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.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、請求項(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.

【図面の簡単な説明】[Brief explanation of drawings]

第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)

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

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009189710A (en) * 2008-02-18 2009-08-27 Fujishoji Co Ltd Game machine

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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