JP2006059340A - Real-time processing software controller and method - Google Patents
Real-time processing software controller and method Download PDFInfo
- Publication number
- JP2006059340A JP2006059340A JP2005213357A JP2005213357A JP2006059340A JP 2006059340 A JP2006059340 A JP 2006059340A JP 2005213357 A JP2005213357 A JP 2005213357A JP 2005213357 A JP2005213357 A JP 2005213357A JP 2006059340 A JP2006059340 A JP 2006059340A
- Authority
- JP
- Japan
- Prior art keywords
- state
- real
- priority
- task
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は機器組み込み向けの実時間処理ソフトウェア制御装置、及び制御方法に関するものである。 The present invention relates to a real-time processing software control apparatus and a control method for incorporation into a device.
従来の機器組み込み向けの実時間処理ソフトウェアによる制御方法としては、例えば特許文献1に記載のタスク実行制御方法のように、予め決定されているタスクの実行時刻に基づきタスクの優先度を変更させてタスクスケジューリングを行う方法がある。
As a conventional control method using real-time processing software for device incorporation, for example, the task priority is changed based on a predetermined task execution time as in the task execution control method described in
以下、従来のタスク実行制御方法について説明する。
図5は、従来のタスク実行制御方法を説明するための図である。
図5において、Aはタスクの実行環境を表す。実行環境Aは、ハードウェア層A1と、オペレーションシステム(OS)層A2と、OS層A2上で動作するアプリケーション層A3とから成る。
Hereinafter, a conventional task execution control method will be described.
FIG. 5 is a diagram for explaining a conventional task execution control method.
In FIG. 5, A represents a task execution environment. The execution environment A includes a hardware layer A1, an operation system (OS) layer A2, and an application layer A3 operating on the OS layer A2.
ハードウェア層A1は、中央演算装置(CPU)506、メモリ507、グラフィックデバイス508などのハードウェア資源を有する。
The hardware layer A1 includes hardware resources such as a central processing unit (CPU) 506, a
アプリケーション層A3内には、アプリケーション群の実行に伴って実行されるタスクが複数含まれている。図5には、アプリケーション層A3内のタスクとして、タスクA509、タスクB510、及びタスクC511を例示している。ここで、タスクAは、所定の周期で繰り返し実行される性質を有するものであり、タスクA〜Cのうち優先度が最も高いものである。タスクBは、タスクAとタスクBの共有資源(以下「セマフォ」とする。)を使用して実行されるものであり、タスク処理を実行するために要する前記共有資源の占有時間長が固定されている性質を有する。タスクBはその優先度がタスクA〜Cのうち最も低いものである。タスクCは、タスクA、Bと資源を共有するものではなく、その優先度がタスクA〜Cのうち2番目のものである。 The application layer A3 includes a plurality of tasks that are executed as the application group is executed. FIG. 5 illustrates a task A509, a task B510, and a task C511 as tasks in the application layer A3. Here, the task A has a property of being repeatedly executed at a predetermined cycle, and has the highest priority among the tasks A to C. Task B is executed using a shared resource (hereinafter referred to as “semaphore”) of task A and task B, and the occupation time length of the shared resource required for executing the task processing is fixed. Have the properties Task B has the lowest priority among tasks A to C. Task C does not share resources with tasks A and B, and its priority is the second of tasks A to C.
また、タスク実行制御装置500は、OS層A2に含まれるカーネルの一部として、タスクのスケジューリングに関する処理を行なうものである。つまり、このタスク実行制御装置500は、タスクA509、タスクB510、及びタスクC511の実行順序を制御するスケジューリング部501と、タスク共有資源の排他制御やタスク割り込みに伴う優先度の逆転を回避するための処理を行なう管理部502と、スケジューリング部501がタスク実行順序制御を行なうために参照するための時間情報である余裕時間を算出する余裕時間算出部503とを有している。ここで、余裕時間とは、タスクC511が共有資源を解放してからタスクA509が実行開始されるまでの時間的な余裕を示すものであり、以下の計算式(1)により算出される。
The task
余裕時間=タスクAの実行開始予定時刻−タスクBの共有資源解放時刻・・・(1)
また、前記管理部502は、タスク共有資源の排他制御に関する処理を行なうセマフォ管理部504と、タスクの割り込みに関連してタスクの優先度を調整する優先度管理部505とを有する。
Margin time = scheduled execution start time of task A−shared resource release time of task B (1)
In addition, the
次に動作について説明する。
タスクB510が、セマフォ獲得要求をセマフォ管理部504に対して発行すると、余裕時間算出部503は、セマフォ管理部504からの指示に従って、余裕時間を算出する。
Next, the operation will be described.
When task B510 issues a semaphore acquisition request to the
セマフォ管理部504は、上記余裕時間が負の値である場合は、タスクB510による前記共有資源の占有を認めず、その旨をスケジューリング部501に通知する。スケジューリング部501は、タスクB510を待機状態とし、タスクA509の処理終了をまってからタスクB510の処理を行なわせる。一方、セマフォ管理部504は、上記余裕時間が正の値である場合は、タスクB510に共有資源の占有を認め、その旨をスケジューリング部501に通知する。スケジューリング部501は、かかる通知を受けて、タスクB510を動作状態とする。
When the margin time is a negative value, the
次に、タスクB510の動作中に、スケジューリング部501がタスクC511からの実行開始要求を受けると、優先度管理部505は、セマフォ管理部504から前記余裕時間に関する情報を得る。そして、この余裕時間を初期値とする許容時間を設定し、該許容時間を付加した優先度切替指示をスケジューリング部501に送る。
Next, when the
スケジューリング部501は、前記優先度切替指示を受けると、タスクC511の実行開始からの経過時間を割込処理時間として計測し、前記割込処理時間が前記許容時間を超えないようにチェックしながらタスクC511の終了を待つ。スケジューリング部501は、タスクC511が前記許容時間の範囲内でその処理を終えた場合、タスクB510を動作状態にする。一方、スケジューリング部501は、タスクC511の処理が前記許容時間となるまで続いた場合は、前記優先度切替指示に従って、タスクB510の優先度を、タスクA509と同じレベルまで引き上げる。これにより、タスクC511による割り込み処理が生じた場合、その割込処理時間が余裕時間長に達した時点でタスクB510の優先度がタスクA509と同じ優先度に上げられるため、タスクB510の処理がタスクC511の割込みの影響で遅らされる「優先度逆転現象」を回避することが可能となる。
以上のように、従来の実時間処理ソフトウェアによる制御方法では、予め決定されているタスクの実行時刻に基づきタスクの優先度を変更させて、タスクスケジューリングを行なっているので、実時間処理ソフトウェアを設計する際には、各タスクの実行時刻を制御対象機器の設計段階において予め決定しておく必要がある。 As described above, in the conventional control method using real-time processing software, task scheduling is performed by changing the task priority based on a predetermined task execution time, so the real-time processing software is designed. In doing so, it is necessary to determine the execution time of each task in advance at the design stage of the control target device.
ところが、タスクの実行時刻は、設計の細部が決定する設計最終段階までは、その詳細な値を決定することが非常に困難であり、また、機器仕様を基にした上流工程の設計段階においては、そもそも設計内容にタスクの実行時刻を含めることは行なわない。このため、従来の実時間処理ソフトウェア制御方法は、実時間処理を行なうためのソフトウェアの十分な設計を行っておくことが非常に困難なものであった。 However, it is very difficult to determine the detailed value of the task execution time until the final design stage where the details of the design are determined, and in the design stage of the upstream process based on the equipment specifications. In the first place, the task execution time is not included in the design contents. For this reason, it is very difficult for the conventional real-time processing software control method to sufficiently design software for performing real-time processing.
本発明は上記課題を解決するためになされたものであり、機器仕様を基にした機器の状態遷移に実時間処理が必要か否かの情報を対応付け、機器の状態遷移に伴ってタスクの優先度を自動的に変更することにより、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能な実時間処理ソフトウェア制御装置、及び方法を提供することを目的とする。 The present invention has been made to solve the above-described problems, and associates information on whether or not real-time processing is necessary for the device state transition based on the device specification. Real-time processing software control device that enables software design that takes real-time characteristics into consideration from the prior design stage by automatically changing priorities, and can flexibly change task priorities during program execution And to provide a method.
本願の請求項1に係る発明は、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御方法であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する優先度更新ステップを含むものである。
The invention according to
本願の請求項2に係る発明は、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するステップとしたものである。
The invention according to
本願の請求項3に係る発明は、請求項2に記載の実時間処理ソフトウェア制御方法において、前記優先度レベル値は、前記機器の遷移直前の状態と遷移後の状態とにより決まる値であることとしたものである。
The invention according to
本願の請求項4に係る発明は、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新することを特徴とするものである。
The invention according to
本願の請求項5に係る発明は、請求項4に記載の実時間処理ソフトウェア制御方法において、前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断するステップとしたものである。
The invention according to
本願の請求項6に係る発明は、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御装置であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するタスク優先度管理部を備えることとしたものである。
The invention according to
本願の請求項7に係る発明は、請求項6に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更することとしたものである。
The invention according to claim 7 of the present application is the real-time processing software control device according to
本願の請求項8に係る発明は、請求項6又は請求項7に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新することとしたものである。
The invention according to
本願請求項1の発明によれば、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御方法であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するので、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能となる。 According to the first aspect of the present invention, a real-time processing software control method for performing execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task Since the priority of the task corresponding to the operation state after the transition of the device is updated each time the state of the device transitions, it is possible to design software considering real time from the preliminary design stage. The task priority at the time of program execution can be flexibly changed.
本願請求項2の発明によれば、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するので、状態遷移に伴ってタスクの優先度を動的かつ自動的に変化させることができ、これにより、複数の動作状態を有する機器の上流設計段階から、タスク実行時の優先度設計を状態遷移設計に同調させ、且つ実際の動作状態に基づいて行なうことが可能となる。また、予め状態遷移毎の優先度記述を行うこととしたので、機器設計の後工程でのタスク優先度設計を行う必要がなくなる。 According to a second aspect of the present invention, in the real-time processing software control method according to the first aspect, the priority update step is based on a priority level value set for each of a plurality of operating states of the device. Since the priority is updated, the priority of the task can be dynamically and automatically changed in accordance with the state transition, and from the upstream design stage of the device having a plurality of operation states, The priority design can be synchronized with the state transition design and can be performed based on the actual operation state. In addition, since priority description for each state transition is performed in advance, it is not necessary to perform task priority design in a later process of device design.
本願請求項3の発明によれば、請求項2に記載の実時間処理ソフトウェア制御方法において、前記優先度レベル値を、前記機器の遷移直前の状態と遷移後の状態とにより決定するので、状態毎の優先度を相対的に記述することができ、これにより、被制御機器のタスク実行時刻の詳細が判明する前の上流設計工程において、実時間性を考慮した状態遷移とタスク優先度の設計を行うことができる。 According to the third aspect of the present invention, in the real-time processing software control method according to the second aspect, the priority level value is determined by the state immediately before and after the transition of the device. Each priority can be described relatively, so that in the upstream design process before the details of the task execution time of the controlled device are known, state transition and task priority design considering real-time characteristics It can be performed.
本願請求項4の発明によれば、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するので、実時間処理の必要性のないタスクに対する優先度の更新を回避できる。
According to
本願請求項5の発明によれば、請求項4に記載の実時間処理ソフトウェア制御方法において、前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断するので、タスクの実時間処理の必要性の判断は簡単なものとなる。
According to
本願請求項6の発明によれば、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御装置であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するタスク優先度管理部を備えることとしたので、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能となる。
According to the invention of
本願請求項7の発明によれば、請求項6に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更することとしたので、状態遷移に伴ってタスクの優先度を動的かつ自動的に変化させることができ、これにより、複数の動作状態を有する機器の上流設計段階から、タスク実行時の優先度設計を状態遷移設計に同調させ、且つ実際の動作状態に基づいて行なうことが可能となる。また、予め状態遷移毎の優先度記述を行うこととしたので、機器設計の後工程でのタスク優先度設計を行う必要がなくなる。
According to claim 7 of the present application, in the real-time processing software control device according to
本願請求項8の発明によれば、請求項6又は請求項7に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新することとしたので、簡単な判断により、実時間処理の必要性のないタスクに対する優先度の更新を回避できる。
According to
以下、本発明の実施の形態について説明する。
(実施の形態1)
この実施の形態1のソフトウェア制御装置は、複数の動作状態を有する機器の各状態に対応するタスクの実行制御を、各タスク毎に設定される優先度に基づいて行なうものであり、本発明に係るソフトウェア制御装置では、被制御対象機器の状態遷移毎に、遷移後の動作状態に対応するタスクに対して設定される優先度が更新される。
Hereinafter, embodiments of the present invention will be described.
(Embodiment 1)
The software control apparatus according to the first embodiment performs task execution control corresponding to each state of a device having a plurality of operation states based on the priority set for each task. In such a software control device, the priority set for the task corresponding to the operation state after the transition is updated for each state transition of the controlled device.
図1は、本発明の実施の形態1による実時間処理ソフトウェア制御装置の構成を表す概略図である。
図1において、実時間処理ソフトウェア制御装置100は、状態遷移実行部101と、リアルタイム性フラグ保持部102と、優先度レベルテーブル格納部103と、タスク優先度管理部104とを有している。
FIG. 1 is a schematic diagram showing the configuration of a real-time processing software control apparatus according to
In FIG. 1, the real-time processing
状態遷移実行部101は、複数の動作状態を有する機器の各状態に対応するタスクTs(1)〜Ts(n)を実行するものである。ここで、複数の動作状態を有する機器は、例えば、ビデオテープレコーダやDVDプレイヤーなどのAV機器であり、当該機器の複数の動作状態は、停止状態、再生状態、録画状態、早送り状態などである。なお、以下、被制御機器の状態を、状態〔1〕,状態〔2〕,・・・,状態〔n〕(nは整数)と表す。機器の状態〔1〕〜状態〔n〕に対応するタスクTs(1)〜Ts(n)には、それぞれのタスクが他のタスクに比べてどの程度優先して動作する必要があるかを示すタスク優先度Tp(1)〜Tp(n)が割り当てられている。
The state
リアルタイム性フラグ保持部102は、被制御機器が状態〔i〕(i=1〜n)にあるときリアルタイム処理を行う必要性があるかどうかを示すリアルタイム性フラグF(i)を格納するものである。リアルタイム性フラグF(i)は、各状態〔1〕〜状態〔n〕毎に設定されており、リアルタイム性フラグ保持部102には、機器の状態〔1〕〜状態〔n〕に対応するリアルタイム性フラグF(1)〜F(n)が格納されている。
The real-time
優先度レベルテーブル格納部103は、機器の機器の状態〔1〕〜状態〔n〕毎に設定される対応テーブルであって、状態機器の遷移直前の状態と、タスクTs(1)〜Ts(n)のタスク優先度Tp(1)〜Tp(n)を変更するためのパラメータ値である優先度レベル値とを対応させた優先度レベルテーブルT(1)〜T(n)を格納するものである。つまり、優先度レベルテーブル格納部103には、機器の状態〔1〕〜状態〔n〕のそれぞれに対応する優先度レベルテーブルT(1)〜T(n)が格納されている。
The priority level
ここで、優先度レベルテーブルT(i)の詳細について説明する。
図2は、優先度レベルテーブルT(i)の内部の詳細な構造を示す。
優先度レベルテーブルT(i)は、直前状態インデックス部201と、直前状態に対応した優先度レベル値保持部202とからなり、機器の動作状態〔i〕に応じて設定されている。
Here, details of the priority level table T (i) will be described.
FIG. 2 shows the detailed structure inside the priority level table T (i).
The priority level table T (i) includes a previous
優先度レベルテーブルT(i)の直前状態インデックス部201に表されている値は、被制御機器の現状態〔k〕に遷移する直前にあった動作状態〔1〕,〔2〕,・・・,〔n〕を示すインデックス値X(1),X(2),・・・,X(n)である。また、優先度レベルテーブルT(i)の優先度レベル値保持部202の値は、直前にあった状態〔1〕,〔2〕,・・・,〔n〕から現状態〔k〕に遷移した際のそれぞれ個別の優先度レベル値Pk(1),Pk(2),・・・,Pk(n)であり、これら直前状態インデックス部201の直前状態インデックス値X(n)と、優先度レベル値保持部202の優先度レベル値Pk(n)は、一組として扱われる。
The value shown in the immediately preceding
次に、図1における、タスク優先度管理部104は、機器の動作状態が遷移する毎に、現在の状態〔k〕に対応するタスクTs(k)のタスク優先度Tp(k)を更新するものである。タスク優先度管理部104は、図1に示すように状態遷移管理部105と、タスク優先度更新部106とを有しており、状態遷移管理部105は、被制御機器の現在の状態〔k〕、及び直前の動作状態を監視し、リアルタイム性フラグ格納部102から、現在の状態〔k〕に対応付けられているリアルタイム性フラグF(k)を読み出して、実時間処理の必要性を判断するものである。また、状態遷移管理部105は、優先度レベルテーブル格納部103にアクセスし、現在の状態〔k〕に対応する優先度レベルテーブルT(k)から、現在の状態と、直前の状態とに対応する優先度レベル値Pk(k)を読み出す。
Next, the task
タスク優先度更新部106は、状態遷移管理部105から出力される優先度レベル値Pk(k)に基づいて、現在の状態〔k〕に対応するタスクTs(k)のタスク優先度Tp(k)を更新するものである。
Based on the priority level value Pk (k) output from the state
以上のように構成される実時間処理ソフトウェア制御装置100は、CPUやメモリ等からなるハードウェア層と、リアルタイムOS層と、リアルタイムOS層上で動作するアプリケーション層とからなる階層構造により実現することができ、状態遷移実行部101は、アプリケーション層の一部として、タスク優先度管理部104は、リアルタイムOS層の一部として、また、優先度レベルテーブル格納部103、及びリアルタイム性フラグ保持部102は、ハードウェア層のメモリの一部を割り当てることにより、それぞれ実現することができる。
The real-time processing
図3(a)は、被制御機器がDVDプレイヤーである場合の動作状態の遷移の例を示す図であり、タスク優先度管理部104が、DVDプレイヤーの停止状態〔1〕311、再生状態〔2〕312、早送り状態〔3〕313、一時停止状態〔4〕314、逆再生状態〔5〕315、及びスロー再生状態〔6〕316の動作遷移を管理する様子を模式的に表した図である。
FIG. 3A is a diagram illustrating an example of the transition of the operation state when the controlled device is a DVD player. The task
また、図3(b)は、DVDプレイヤーが再生状態である場合における優先度レベルテーブルの具体的な内部構成の一例を示す図である。 FIG. 3B is a diagram showing an example of a specific internal structure of the priority level table when the DVD player is in a playback state.
図4は、機器の動作状態がある状態から次の状態に遷移した際に、タスク優先度Tp(n)が更新される処理を示す。 FIG. 4 shows a process in which the task priority Tp (n) is updated when the device operation state transitions from one state to the next state.
次に本実施の形態1の動作について図1ないし図4を用いて説明する。
今、被制御機器がDVDプレイヤーであるとすると、その動作状態は、使用者のボタン操作等による各種のコマンド入力をきっかけとして遷移する。例えば図示しないコントローラに設けられた再生キー(ボタン)の押下により、図3(a)に示すように、停止状態〔1〕から再生状態〔2〕に遷移する。この際に、遷移条件として、例えばペアレンタルロックが掛けられているような場合は、当該ロックが解除された場合のみ、再生状態に遷移することができる。同様に、再生状態〔2〕からは早送りキーの押下により高速再生を行う早送り状態〔3〕に、一時停止キーの押下により同じコマの再生を繰り返す一時停止状態〔4〕に、逆再生キーの押下により通常再生とは逆方向再生を行う逆再生状態〔5〕に、スロー再生キーの押下により通常再生よりも遅い速度で再生を行うスロー再生状態〔6〕に、それぞれ遷移する。また、これら早送り状態〔3〕、一時停止状態〔4〕、逆再生状態〔5〕、スロー再生状態〔6〕から再生キーの押下により、再生状態〔2〕に遷移する。また、再生状態〔2〕、早送り状態〔3〕、一時停止状態〔4〕、逆再生状態〔5〕、スロー再生状態〔6〕では停止キーを押下することにより、停止状態〔1〕にそれぞれ遷移する。
Next, the operation of the first embodiment will be described with reference to FIGS.
Now, assuming that the controlled device is a DVD player, its operating state transitions triggered by various command inputs by a user's button operation or the like. For example, when a reproduction key (button) provided on a controller (not shown) is pressed, the state changes from the stop state [1] to the reproduction state [2] as shown in FIG. At this time, as a transition condition, for example, when a parental lock is applied, it is possible to transit to the reproduction state only when the lock is released. Similarly, from the playback state [2], the fast playback key is pressed to the fast forward state [3] where high speed playback is performed, and the pause key is pressed to the pause state [4] where playback of the same frame is repeated. When pressed, a transition is made to a reverse playback state [5] in which playback is performed in the reverse direction to normal playback, and to a slow playback state [6] in which playback is performed at a slower speed than normal playback when the slow playback key is pressed. In addition, the fast-forward state [3], the pause state [4], the reverse reproduction state [5], and the slow reproduction state [6] transition to the reproduction state [2] by pressing the reproduction key. In the playback state [2], fast forward state [3], pause state [4], reverse playback state [5], and slow playback state [6], the stop key is pressed to enter the stop state [1]. Transition.
ここで、DVDプレイヤーの状態遷移の各状態とそのリアルタイム処理の要否、各状態における優先度レベル値は、ベクトル的に、
(状態,リアルタイム処理の要否,優先度レベル値)
と表わすことができる。
Here, each state of the state transition of the DVD player, necessity / unnecessity of real-time processing, and a priority level value in each state are vector-wise,
(Status, necessity of real-time processing, priority level value)
Can be expressed as
この表記法によれば、図3(b)に示す、現在の状態を再生状態とした場合にその直前の状態が停止,再生,早送り,一時停止,逆再生,スロー再生のいずれかの状態である場合は、それぞれ以下のように記すことができる。 According to this notation, when the current state shown in FIG. 3B is set to the playback state, the state immediately before that is one of stop, playback, fast forward, pause, reverse playback, and slow playback. In some cases, each can be written as:
(停止,否,+10)
(再生,要,0)
(早送り,要,+5)
(一時停止,否,+8)
(逆再生,要,+4)
(スロー再生,要,+5)
(Stop, no, +10)
(Reproduction, necessary, 0)
(Fast forward, required, +5)
(Pause, no, +8)
(Reverse playback, required, +4)
(Slow playback, required, +5)
機器の状態が遷移すると、まず、状態遷移管理部105は、遷移後の状態を判断し、リアルタイム性フラグ保持部102から現在の状態〔k〕に対応するリアルタイム性フラグF(k)を取得する(ステップS401)。続いて、状態遷移管理部105は、取得したリアルタイム性フラグF(k)を用いて現在の状態〔k〕が実時間処理を必要とする状態であるかどうかを判定する(ステップS402)。
When the state of the device transitions, first, the state
この判定の結果、実時間処理が必要な状態であると判断されると、状態遷移管理部105は、優先度レベルテーブル格納部103から現在の状態〔k〕に対応する優先度レベルテーブルT(k)における優先度レベル値Pk(i)を取得する(ステップS403)。この優先度レベルテーブルT(k)の優先度レベル値Pk(i)は、遷移前の状態が状態〔1〕〜〔n〕のうちのどの状態にあったかによって異なる値であり、遷移前の機器の状態によって、取得される優先度レベル値Pk(i)は異なる値となる。
As a result of this determination, if it is determined that the state requires real-time processing, the state
そして、状態遷移管理部105は、ステップS403で取得した優先度レベル値Pk(i)を、タスク優先度更新部106に出力する。
Then, the state
タスク優先度更新部106は、現在の状態〔k〕に対応するタスクTs(k)が保持しているタスク優先度Tp(k)に、状態遷移管理部105から出力される優先度レベル値Pk(i)を加えて新たなタスク優先度に更新する(ステップS404)。さらに、タスク優先度更新部106は、ステップS404で求められた新たなタスク優先度を現在のタスクのタスク優先度Tp(k)として設定する(ステップS405)。
The task
ここで、優先度レベルテーブルT(k)に保持される優先度レベル値Pk(i)は、現在の状態になる直前の状態と比較して現在の状態がより実時間処理を優先して必要である場合には正の値をもち、実時間処理は必要であるが直前の状態に比較して実時間処理の優先度が低い場合には負の値を持つ。また、現在の状態で直前の状態と比較してより強く実時間処理が求められる場合には、優先度レベル値Pk(i)は絶対値の大きな正の値を持つ。逆に現在の状態で直前の状態に比較してより弱い実時間処理しか必要とされない場合には、優先度レベル値Pk(i)は、絶対値の大きな負の値を持つ。 Here, the priority level value Pk (i) held in the priority level table T (k) requires the current state to give priority to real-time processing compared to the state immediately before the current state is reached. Is positive, and real-time processing is required, but it has a negative value when the priority of real-time processing is lower than the previous state. Also, when real-time processing is required more strongly in the current state than in the immediately preceding state, the priority level value Pk (i) has a positive value with a large absolute value. Conversely, if only weaker real-time processing is required in the current state than in the immediately preceding state, the priority level value Pk (i) has a negative value with a large absolute value.
上記のようにステップS401〜S405までの処理によって新たな状態に適応したタスクの優先度が設定されると、その後は、CPUなどの演算部(図示せず)は、実際に現在の状態〔k〕で必要とされる処理を行う(ステップS406)。 When the priority of the task adapted to the new state is set by the processing from steps S401 to S405 as described above, thereafter, the arithmetic unit (not shown) such as a CPU actually sets the current state [k The processing required in step S406 is performed (step S406).
以後、機器の状態が遷移する毎に上記ステップS401〜S406と同様の処理が行われ、状態遷移に伴ってタスクの優先度が動的かつ自動的に変化される。 Thereafter, every time the state of the device changes, processing similar to steps S401 to S406 is performed, and the priority of the task is dynamically and automatically changed with the state transition.
以下では、本実施の形態1に係る実時間処理ソフトウェア制御装置100の具体的な動作として、DVDプレイヤーが停止状態から再生状態に遷移する場合を例にとって説明する。
Hereinafter, as a specific operation of the real-time processing
上述したように、停止状態〔1〕311〜スロー再生状態〔6〕316のそれぞれには、各状態に対応するリアルタイム性フラグF(1)〜F(6)、及び優先度レベルテーブルT(1)〜T(6)がそれぞれ対応付けられている。また、図示しないが、停止状態〔1〕311〜逆再生状態〔6〕316のそれぞれは、各状態で行われるべき機器制御プログラム、状態変化のきっかけとなる信号入力によって次にどの状態へ遷移するべきかを示す遷移先情報や遷移条件などの情報を保持している。 As described above, each of the stop state [1] 311 to the slow playback state [6] 316 includes the real-time flags F (1) to F (6) corresponding to each state and the priority level table T (1). ) To T (6) are associated with each other. Although not shown, each of the stopped state [1] 311 to the reverse reproduction state [6] 316 transitions to which state next by the device control program to be executed in each state and the signal input that triggers the state change. It holds information such as transition destination information and transition conditions indicating what should be done.
状態遷移管理部105は、このような動作状態の状態遷移を監視しており、現在の状態に対応するリアルタイム性フラグを取得する。
The state
今、停止状態から再生キーが操作されて、DVDプレイヤーの動作状態が、停止状態〔1〕311から再生状態〔2〕312に遷移した場合に、タスク優先度管理部104内の状態遷移管理部105は、現在の状態である再生状態〔2〕312に対応するリアルタイム性フラグF(2)を、リアルタイム性フラグ保持部102から読み出し、現在の状態である再生状態(状態〔2〕)に対応するリアルタイム性フラグF(2)として「要(リアルタイム処理)」を得る(ステップS401)。
Now, when the playback key is operated from the stop state and the operation state of the DVD player changes from the stop state [1] 311 to the playback state [2] 312, the state transition management unit in the task
状態遷移管理部105は、再生状態〔2〕312の実時間処理の必要性を判断する(ステップS402)。状態遷移管理部105は、リアルタイム性フラグF(2)として「要(リアルタイム処理)」を得たため、再生状態〔2〕312に対して設定されているフラグが、実時間処理の必要性を示すものであると判断し、優先度レベルテーブル格納部103にアクセスし、優先度レベルテーブル格納部103に格納されている複数の優先度レベルテーブルの中から、再生状態〔2〕312に対応する優先度レベルテーブルT(2)にアクセスする。
The state
状態遷移管理部105は、優先度レベルテーブルT(2)から、直前の状態である停止状態〔1〕311からの遷移X(1)に対応する優先度レベル値Pk(2)として「+10」を読み出し(ステップS403)、該読み出した優先度レベル値を、タスク優先度更新部106に出力する。
From the priority level table T (2), the state
タスク優先度更新部106は、現在の状態に対応するタスクのタスク優先度を更新する。例えば、再生状態〔2〕312に対応するタスクTs(2)のタスク優先度Tp(2)に、状態遷移管理部105から出力される優先度レベル値「+10」を加算し、タスクTs(2)のタスク優先度Tp(2)の値をタスク優先度更新部106に渡す。タスク優先度更新部106はこの優先度レベル値Pk(2)の値「+10」を増分値としてタスクTs(2)のタスク優先度Tp(2)に加算することでタスク優先度を更新する(ステップS404,S405)。その結果、タスクTs(2)はタスク優先度が上昇し、状態遷移前の状態に比して優先して実行されやすくなる。
The task
これにより、DVDプレイヤーの状態遷移に伴って、再生状態〔2〕312に対応するタスクTs(2)のタスク優先度Tp(2)が動的かつ自動的に更新される。状態遷移実行部101は、この動的かつ自動的に変更されたタスク優先度に応じてタスクに対応する動作状態内のプログラムの動作を開始する(ステップS406)。
As a result, the task priority Tp (2) of the task Ts (2) corresponding to the playback state [2] 312 is dynamically and automatically updated with the state transition of the DVD player. The state
このように、本実施の形態1では、制御対象機器の取り得る状態のそれぞれに対して、その状態中での処理が実時間処理を必要としているか否かを示すリアルタイム性フラグF(i)と、直前の状態と現在の状態とで決まる優先度レベル値Pk(i)とを設定し、制御対象機器の状態遷移に伴って、リアルタイム性フラグF(i)と優先度レベル値Pk(i)とに基づいてタスクの優先度を変化させるようにしたので、各状態の実時間処理の必要性によって状態の優先度を相対的に記述できることとなり、この結果、詳細な実行時刻が判明する前の上流設計工程において実時間性を考慮した状態遷移、及びタスク優先度の設計を行うことができるという効果が得られる。 As described above, in the first embodiment, for each of the states that can be taken by the control target device, the real-time flag F (i) that indicates whether the processing in that state requires real-time processing or not. , A priority level value Pk (i) determined by the immediately preceding state and the current state is set, and the real-time flag F (i) and the priority level value Pk (i) are associated with the state transition of the control target device. Since the task priority is changed based on the above, the priority of the state can be relatively described according to the necessity of the real-time processing of each state, and as a result, before the detailed execution time becomes clear In the upstream design process, it is possible to design state transition and task priority in consideration of real-time characteristics.
なお、上記実施の形態1では、優先度レベル値Pk(i)を、直前の動作状態と現在の状態〔k〕とにより決定される相対的な値としたが、優先度レベル値Pk(i)は、現在の動作状態のみにより決定される絶対的な値としてもよい。 In the first embodiment, the priority level value Pk (i) is a relative value determined by the previous operation state and the current state [k]. However, the priority level value Pk (i ) May be an absolute value determined only by the current operating state.
また、上記実施の形態1では、タスク優先度を変化させるタスクは、状態遷移が発生した自タスクとしたが、タスク優先度を変化させるタスクは、状態遷移が発生した自タスク以外の1つまたは複数の他タスクであってもよい。 In the first embodiment, the task whose task priority is changed is the own task in which the state transition has occurred. However, the task whose task priority is changed is one or a task other than the own task in which the state transition has occurred. It may be a plurality of other tasks.
本発明は、例えばビデオテープレコーダ、DVDプレイヤーなどのように、複数の動作状態を有し、各状態毎にタスクの優先度を変化させなければならない機器の組み込みソフトウェア制御方法として有用である。 The present invention is useful as an embedded software control method for a device that has a plurality of operation states such as a video tape recorder and a DVD player and in which the priority of a task must be changed for each state.
101 状態遷移実行部
102 リアルタイム性フラグ保持部
103 優先度レベルテーブル格納部
104 タスク優先度管理部
105 状態遷移管理部
106 タスク優先度更新部
201 直前状態インデックス部
202 優先度レベル値保持部
F(1)〜F(5) リアルタイム性フラグ
Pk(1),Pk(2),Pk(n) 優先度レベル値
T(k) 優先度レベルテーブル
Tp(n) タスク優先度
Ts(n) タスク
X(1)〜X(n) 直前状態インデックス値
DESCRIPTION OF
Claims (8)
前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する優先度更新ステップを含む、
ことを特徴とする実時間処理ソフトウェア制御方法。 A real-time processing software control method for performing execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task,
A priority update step of updating the priority of the task corresponding to the operation state after the transition of the device every time the state of the device transitions;
A real-time processing software control method.
前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するステップである、
ことを特徴とする実時間処理ソフトウェア制御方法。 The real-time processing software control method according to claim 1,
The priority update step is a step of updating the priority based on a priority level value set for each of a plurality of operation states of the device.
A real-time processing software control method.
前記優先度レベル値は、前記機器の遷移直前の状態と遷移後の状態とにより決まる値である、
ことを特徴とする実時間処理ソフトウェア制御方法。 In the real-time processing software control method according to claim 2,
The priority level value is a value determined by a state immediately before the transition of the device and a state after the transition,
A real-time processing software control method.
前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、
前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する、
ことを特徴とする実時間処理ソフトウェア制御方法。 The real-time processing software control method according to claim 1,
The priority update step includes a determination step of determining the necessity of real-time processing of a task corresponding to the operation state after the device transition every time the device state transitions,
Only when it is determined that real-time processing is necessary in the determination step, the priority of the task corresponding to the operation state after the transition of the device is updated.
A real-time processing software control method.
前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断する、
ことを特徴とする実時間処理ソフトウェア制御方法。 In the real-time processing software control method according to claim 4,
The determination step requires real-time processing of a task corresponding to the state after the transition of the device based on a real-time flag indicating the necessity of real-time processing set for each of a plurality of operation states of the device. Judge sex,
A real-time processing software control method.
前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を変更するタスク優先度管理部を備える、
ことを特徴とする実時間処理ソフトウェア制御装置。 A real-time processing software control device that performs execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task,
A task priority management unit that changes the priority of a task corresponding to the operation state after the transition of the device each time the state of the device transitions;
A real-time processing software control device.
前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、
前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更する、
ことを特徴とする実時間処理ソフトウェア制御装置。 The real-time processing software controller according to claim 6,
A priority level table storage unit that stores a priority level table that is set for each of a plurality of operating states of the device and associates the state immediately before the device transition with the change parameter value of the priority,
The task priority management unit refers to the priority level table storage unit every time the state of the device changes, and changes the device from the priority level table set for the state after the transition. Read the change parameter value corresponding to the immediately previous state, and based on the read change parameter value, change the priority of the task corresponding to the operation state after the transition of the device,
A real-time processing software control device.
前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、
前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新する、
ことを特徴とする実時間処理ソフトウェア制御装置。 In the real-time processing software control device according to claim 6 or 7,
A real-time flag holding unit for storing a real-time flag indicating the necessity of real-time processing of a task corresponding to each of the plurality of operation states of the device;
The task priority management unit reads the real-time flag corresponding to the state after the device transition from the real-time flag holding unit every time the device state transitions, and executes the task corresponding to the state. Only when it is determined that real-time processing is necessary, the priority of the task corresponding to the state after the transition of the device is updated.
A real-time processing software control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005213357A JP2006059340A (en) | 2004-07-23 | 2005-07-22 | Real-time processing software controller and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004216343 | 2004-07-23 | ||
JP2005213357A JP2006059340A (en) | 2004-07-23 | 2005-07-22 | Real-time processing software controller and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006059340A true JP2006059340A (en) | 2006-03-02 |
Family
ID=36106728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005213357A Pending JP2006059340A (en) | 2004-07-23 | 2005-07-22 | Real-time processing software controller and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006059340A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186044A (en) * | 2007-01-26 | 2008-08-14 | Kyocera Corp | Electronic device and control method in electronic device |
US8631413B2 (en) | 2007-01-26 | 2014-01-14 | Kyocera Corporation | Determining the termination priority of applications based on capability of applications to retain operation state information |
JP2018138987A (en) * | 2016-10-28 | 2018-09-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Information processing device and information processing method |
CN111309462A (en) * | 2020-01-21 | 2020-06-19 | 腾讯科技(深圳)有限公司 | Task processing method and device and computer readable storage medium |
-
2005
- 2005-07-22 JP JP2005213357A patent/JP2006059340A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186044A (en) * | 2007-01-26 | 2008-08-14 | Kyocera Corp | Electronic device and control method in electronic device |
US8631413B2 (en) | 2007-01-26 | 2014-01-14 | Kyocera Corporation | Determining the termination priority of applications based on capability of applications to retain operation state information |
JP2018138987A (en) * | 2016-10-28 | 2018-09-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Information processing device and information processing method |
JP7009092B2 (en) | 2016-10-28 | 2022-01-25 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Information processing equipment and information processing method |
CN111309462A (en) * | 2020-01-21 | 2020-06-19 | 腾讯科技(深圳)有限公司 | Task processing method and device and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080295104A1 (en) | Realtime Processing Software Control Device and Method | |
KR101724176B1 (en) | Opportunistic multitasking | |
JP5605970B2 (en) | Minimizing resource latency between processor application states in portable computing devices by scheduling resource set migration | |
JP6199477B2 (en) | System and method for using a hypervisor with a guest operating system and virtual processor | |
US8365180B2 (en) | Information terminal, computer resource managing method, and virtual machine execution switching method | |
JP4476193B2 (en) | Information processing method and information processing apparatus | |
CN109698979B (en) | Video playing method and device and electronic equipment | |
US20070250834A1 (en) | Information processing device including manipulation task reservation function, manipulation task reservation processing program and manipulation task reservation processing method | |
US8589933B2 (en) | Low power execution of a multithreaded program | |
US20210311782A1 (en) | Thread scheduling for multithreaded data processing environments | |
JP2006059340A (en) | Real-time processing software controller and method | |
US10430245B2 (en) | Systems and methods for dynamic low latency optimization | |
JP2008276666A (en) | Information processor and processing method, and program | |
EP3401784A1 (en) | Multicore processing system | |
JP5542643B2 (en) | Simulation apparatus and simulation program | |
JP2001117786A (en) | Process scheduling device and process scheduling method | |
CN107360470B (en) | Media file playing method and device and electronic equipment | |
JP2001236236A (en) | Task controller and its task scheduling method | |
US9176771B2 (en) | Priority scheduling of threads for applications sharing peripheral devices | |
JP6584655B2 (en) | Graphics context scheduling based on flip-queue management | |
JP3830133B2 (en) | Power control apparatus and method, and power control program | |
JP4962026B2 (en) | User level process control device having process management function, method and program thereof | |
KR20100125672A (en) | Method and apparatus for performing java application | |
JP2001154872A (en) | Device and method for supporting software development and recording medium having the same program recorded thereon | |
JP2010003153A (en) | Information processor and program |