JP2002099435A - Control method of multi-task and information processor - Google Patents
Control method of multi-task and information processorInfo
- Publication number
- JP2002099435A JP2002099435A JP2000286796A JP2000286796A JP2002099435A JP 2002099435 A JP2002099435 A JP 2002099435A JP 2000286796 A JP2000286796 A JP 2000286796A JP 2000286796 A JP2000286796 A JP 2000286796A JP 2002099435 A JP2002099435 A JP 2002099435A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processor
- load information
- predicted load
- processing
- 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
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、リアルタイム・マ
ルチタスク・オペレーティング・システムにおけるマル
チタスク制御方法および情報処理装置に関する。[0001] 1. Field of the Invention [0002] The present invention relates to a multitask control method and an information processing apparatus in a real-time multitask operating system.
【0002】[0002]
【従来の技術】リアルタイム・マルチタスク・オペレー
ティング・システム(以下、リアルタイムOSと呼ぶ)
は、複数のタスクを実時間で処理する機能を備えたオペ
レーティング・システムである。リアルタイムOSにお
いて、特に高速応答性を要求されるような場合に、その
タスクの結果が必要になる処理制限時間内に処理が終了
できない場合があった。そこで従来から、複数のタスク
について、それぞれのタスクの処理時間内に処理を終了
できるようにタスクのスケジューリングを効率的に行う
方法が提案されてきた。具体的には、タスクの優先度を
タスクの発生時刻とその処理制限時間から動的に算出す
ることにより、タスクの優先順位を常に最適化すること
で、効率のよいタスク切り替えを実現する手段(特開平
第8−163538号公報)等が提案されている。2. Description of the Related Art A real-time multitasking operating system (hereinafter, referred to as a real-time OS)
Is an operating system with a function to process a plurality of tasks in real time. In a real-time OS, particularly when high-speed responsiveness is required, there are cases where the processing cannot be completed within the processing time limit in which the result of the task is required. Therefore, a method of efficiently performing task scheduling has been proposed for a plurality of tasks so that the processing can be completed within the processing time of each task. Specifically, a means for achieving efficient task switching by constantly optimizing task priorities by dynamically calculating task priorities from task occurrence times and their processing time limits ( JP-A-8-163538) has been proposed.
【0003】[0003]
【発明が解決しようとする課題】しかし、従来提案され
ている技術には、タスクの受付制限がなく、プロセッサ
の処理能力を越えたタスクをシステムが実行しようとし
てしまい、いずれか又はすべてのタスクの処理ができな
くなるという問題点があった。However, in the technology proposed in the past, there is no restriction on accepting tasks, the system attempts to execute a task exceeding the processing capability of the processor, and any or all of the tasks are executed. There is a problem that processing cannot be performed.
【0004】本発明は上記のような問題点を解決するた
めのものであって、新たなタスクを実行させる際に、プ
ロセッサの処理能力内でそのタスクを実行可能か否かを
予め判断でき、プロセッサの処理能力を超えるマルチタ
スク処理を回避することができるマルチタスク制御方法
およびそれを用いた情報処理装置を提供する。SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems. When a new task is executed, it can be determined in advance whether or not the task can be executed within the processing capability of a processor. A multitask control method capable of avoiding multitask processing exceeding the processing capability of a processor and an information processing apparatus using the same are provided.
【0005】[0005]
【課題を解決するための手段】本発明は、複数の異なる
情報処理をマルチタスク処理にて実行するためのもので
あって、新たにタスクを実行させる際に、少なくともそ
のタスクの処理内容にかかる命令コードの数をプロセッ
サの負荷を予測するために用いる予測負荷情報として該
タスクから獲得し、この予測負荷情報に基づきプロセッ
サの余力内で実行可能と判断したタスクを実行させるこ
とにより、新たなタスクを実行させる際に、プロセッサ
の処理能力内でそのタスクを実行可能か否かを予め判断
でき、プロセッサの処理能力を超えるマルチタスク処理
を回避することができる。SUMMARY OF THE INVENTION The present invention is to execute a plurality of different information processings in a multitasking process. When a new task is executed, at least the processing contents of the task are required. The number of instruction codes is obtained from the task as predicted load information used for predicting the load on the processor, and a task determined to be executable within the remaining capacity of the processor is executed based on the predicted load information, thereby creating a new task. Can be determined in advance whether or not the task can be executed within the processing capacity of the processor, and multitask processing exceeding the processing capacity of the processor can be avoided.
【0006】また、前記予測負荷情報に基づき実行不可
と判断したタスクに対しては、そのタスクの処理内容を
変えるパラメータを変更し、その結果変更された前記タ
スクの予測負荷情報を獲得して、該タスクを実行可能か
否かを判断することにより、新たなタスクを実行させる
際に、プロセッサの処理能力内でそのタスクを実行可能
か否かを予め判断でき、また、例えば、ストリーミング
のようなリアルタイム性を要求される場合に、実行不可
欠なタスクに対しては、その処理内容を変更させること
により、プロセッサの処理能力を超えるマルチタスク処
理を回避することができる。また、パラメータの変更に
より実行タスクの選択肢が増加し、プロセッサをその処
理能力内で効率よくマルチタスク処理が実行できる。For a task determined to be unexecutable based on the predicted load information, a parameter for changing the processing content of the task is changed, and as a result, the predicted load information of the changed task is obtained. By determining whether or not the task can be executed, when a new task is executed, it can be determined in advance whether or not the task can be executed within the processing capacity of the processor. When a real-time property is required, multitask processing exceeding the processing capability of the processor can be avoided by changing the processing content of a task that is indispensable for execution. Further, the choice of the execution task increases due to the change of the parameter, and the multitask processing can be efficiently executed by the processor within its processing capacity.
【0007】[0007]
【発明の実施の形態】以下、本発明の実施形態について
図面を参照して説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0008】本発明に係るマルチタスク制御方法の第1
の実施形態について図2に示すフローチャートを参照し
て説明する。[0008] First of the multitask control method according to the present invention
Will be described with reference to the flowchart shown in FIG.
【0009】なお、以下、第1〜第3の実施形態におい
て、タスクとは、それぞれが異なる種類の情報処理を行
う1つのモジュールであり、プロセッサが実行する複数
のタスクとしては、例えば、エンコーダ処理を実行する
タスクであったり、デコーダ処理を実行するタスクであ
ったりする。In the following, in the first to third embodiments, a task is a single module that performs different types of information processing, and a plurality of tasks executed by a processor include, for example, an encoder process. Or a task to execute a decoder process.
【0010】また、各タスクの予測負荷情報とは、例え
ば、そのタスクの処理内容にかかる命令コードの数(概
算値)で、そのタスクを実行する際のプロセッサにかか
る最悪の負荷量を推測する指標となる量である。そのタ
スクに予め設定されるパラメータ(処理内容を変更する
ようなパラメータ)が変化すれば、命令コードの数も変
化するので、この予測負荷情報も変化する。このような
パラメータとしては、タスクの処理内容をアプリケーシ
ョンレベルで変更するためのもので、例えば、そのタス
クの処理対象データに対し、サンプリング周波数を変え
たり、フィルタ係数を変えたりするパラメータがある。
この予測負荷情報は、複数のパラメータがあれば、その
パラメータに対応してタスク自身が保持するか、あるい
は、計算するものである。その場合、タスクは、予測負
荷情報をパラメータに対応付けて保持あるいは計算する
部分とタスク本来の処理を行う部分に分かれているもの
とする。以下の実施形態では、説明の簡単のため、タス
クが1または複数のパラメータのそれぞれに自身の命令
コードの数(あるいは、命令コードの数にプロセッサに
依存するオーバーヘッド分を加算したもの)を対応付け
て予め保持するものとする。The estimated load information of each task is, for example, the number (approximate value) of instruction codes related to the processing content of the task, and estimates the worst load amount applied to the processor when executing the task. This is an index amount. If the parameter set in advance for the task (a parameter that changes the processing content) changes, the number of instruction codes also changes, so the predicted load information also changes. Such parameters are for changing the processing contents of the task at the application level, and include, for example, parameters for changing the sampling frequency and the filter coefficient for the processing target data of the task.
If there are a plurality of parameters, the predicted load information is held by the task itself or calculated in accordance with the parameters. In this case, it is assumed that the task is divided into a part that holds or calculates the predicted load information in association with the parameter and a part that performs the original processing of the task. In the following embodiments, for the sake of simplicity, the task associates one or more parameters with the number of instruction codes of the task itself (or the number of instruction codes plus the overhead depending on the processor). Shall be held in advance.
【0011】あるタスクのタスク生成(実行)要求があ
った場合(ステップS3)、カーネル1はタスク2に予
測負荷情報の提供を依頼する。タスク2は該タスクの現
時点に設定されているパラメータに対応する命令コード
の数を予測負荷情報として(ステップS7)、カーネル
1に渡す。カーネル1はタスク2から予測負荷情報を獲
得すると(ステップS4)、その予測負荷情報とプロセ
ッサのMIPS(Million Instructi
ons Per Second)値とプロセッサの現時
点での稼働状況(例えば、ここでは、説明の簡単のた
め、MIPS値から求まるプロセッサが所定時間内に実
行可能な命令コードの数(処理能力)に対する、現時点
でマルチタスク処理で実行されている全てのタスクの命
令コードの数の合計値(実測値を用いる場合と、予測負
荷情報として各タスクから提示された命令コード数の合
計値であってもよい)の割合)に基づいて、プロセッサ
の余力内でのタスク2の実行可能性を判断し、タスク2
の優先順位を決定する(ステップS5)。このとき、カ
ーネル1は、タスク2から受け取った予測不可情報とし
ての命令コードの数をプロセッサのハードウエア構成に
依存する修正を行ってもよい。例えば、タクク2から受
け取った命令コードの数にプロセッサに依存するオーバ
ーヘッド分を加算してもよい。When there is a task generation (execution) request for a task (step S3), the kernel 1 requests the task 2 to provide predicted load information. The task 2 passes the number of instruction codes corresponding to the parameters set at the present time of the task to the kernel 1 as predicted load information (step S7). When the kernel 1 acquires the predicted load information from the task 2 (step S4), the predicted load information and the MIPS (Million Instruction) of the processor are acquired.
ons Per Second) value and the current operating status of the processor (for example, here, for simplicity of description, the current value of the number of instruction codes (processing capacity) executable by the processor within a predetermined time, which is obtained from the MIPS value, The total value of the number of instruction codes of all tasks executed in the multitask process (the actual value may be used, or the total value of the instruction codes presented from each task as the predicted load information) Percentage), the feasibility of task 2 within the processor's spare capacity is determined,
Are determined (step S5). At this time, the kernel 1 may modify the number of instruction codes as unpredictable information received from the task 2 depending on the hardware configuration of the processor. For example, the overhead depending on the processor may be added to the number of instruction codes received from Tact2.
【0012】タスク2の予測負荷情報とプロセッサの稼
働状況とから、タスク2の命令コードの数がプロセッサ
の余力内で実行可能な命令コードの数であるとき、実行
可能と判断し、高い優先順位をタスク2に与え、一方、
プロセッサの余力内で実行可能な命令コードの数を越え
ているとき、実行可能性が低いと判断して、低い優先順
位をタスク2に与える。その後、優先順位に基づいてタ
スク2を生成(実行)し(ステップS6)、タスク2は
タスク処理を行う(ステップS8)。When the number of instruction codes of task 2 is the number of instruction codes that can be executed within the available capacity of the processor, it is determined that the task code can be executed based on the predicted load information of task 2 and the operating state of the processor. To task 2, while
When the number of executable instruction codes exceeds the number of executable instruction codes within the remaining capacity of the processor, it is determined that the executable code is low and the task 2 is given a low priority. Thereafter, task 2 is generated (executed) based on the priority order (step S6), and task 2 performs task processing (step S8).
【0013】例えば、図4のように、プロセッサ20が
エンコーダ・タスク21とデコーダ・タスク22を実行
中だとして、フィルタA・タスク23の生成要求が発生
した場合(ステップS25)を考える。カーネル1はフ
ィルタA・タスク23から予測負荷情報を知らされ、カ
ーネルは予測負荷情報に基づいてフィルタA・タスク2
3の優先度を「10」と決定する。一方、フィルタB・
タスク24の生成要求が発生した場合に(ステップS2
6)、同様にして求められたフィルタB・タスク24の
優先度は「20」だとすると(図7参照)、カーネルは
優先度の高いフィルタB・タスク24を生成(実行)す
る。For example, as shown in FIG. 4, it is assumed that the processor 20 is executing the encoder task 21 and the decoder task 22 and a request to generate the filter A task 23 is generated (step S25). The kernel 1 is informed of the predicted load information from the filter A / task 23, and the kernel receives the filter A / task 2 based on the predicted load information.
The priority of 3 is determined to be “10”. On the other hand, filter B
When a request to generate the task 24 is issued (step S2
6) Assuming that the priority of the filter B / task 24 obtained in the same manner is “20” (see FIG. 7), the kernel generates (executes) the filter B / task 24 having a higher priority.
【0014】本発明に係るマルチタスク制御方法の第2
実施形態について図1に示すフローチャートを参照して
説明する。Second Embodiment of Multitask Control Method According to the Present Invention
An embodiment will be described with reference to the flowchart shown in FIG.
【0015】あるタスクのタスク生成(実行)要求があ
った場合(ステップS3)、カーネル1はタスク2に予
測負荷情報の提供を依頼する。タスク2は該タスクの現
時点に設定されているパラメータに対応する命令コード
の数を予測負荷情報として(ステップS7)、カーネル
1に渡す。カーネル1はタスク2から予測負荷情報を獲
得すると(ステップS4)、その予測負荷情報とプロセ
ッサのMIPS値とプロセッサの現時点での稼働状況
(例えば、ここでは、説明の簡単のため、MIPS値か
ら求まるプロセッサが所定時間内に実行可能な命令コー
ドの数(処理能力)に対する、現時点でマルチタスク処
理で実行されている全てのタスクの命令コードの数の合
計値(実測値を用いる場合と、予測負荷情報として各タ
スクから提示された命令コード数の合計値であってもよ
い)の割合)に基づいて、プロセッサの余力内でのタス
ク2が実行可能か否かを判断する(ステップS9)。こ
のとき、カーネル1は、タスク2から受け取った予測不
可情報としての命令コードの数をプロセッサのハードウ
エア構成に依存する修正を行ってもよい。例えば、タク
ク2から受け取った命令コードの数にプロセッサに依存
するオーバーヘッド分を加算してもよい。タスク2の予
測負荷情報とプロセッサの稼働状況とから、タスク2の
命令コードの数がプロセッサの余力内で実行可能な命令
コードの数であるとき、タスク2の実行可能と判断し、
一方、プロセッサの余力内で実行可能な命令コードの数
を越えているとき、タスク2の実行不可と判断する。実
行可能なら(ステップS10)タスク2を生成(実行)
する(ステップS6)。また、実行不可能な場合は(ス
テップS9)、タスク2の生成(実行)を拒否する(ス
テップS12)。When there is a task generation (execution) request for a task (step S3), the kernel 1 requests the task 2 to provide predicted load information. The task 2 passes the number of instruction codes corresponding to the parameters set at the present time of the task to the kernel 1 as predicted load information (step S7). When the kernel 1 acquires the predicted load information from the task 2 (step S4), the predicted load information, the MIPS value of the processor, and the current operating status of the processor (for example, here, it is obtained from the MIPS value for simplicity of explanation). The total value of the number of instruction codes of all the tasks currently being executed in the multitask processing at the present time (the actual load and the predicted load It may be determined whether or not the task 2 can be executed within the remaining capacity of the processor (step S9) based on the ratio of the number of instruction codes presented from each task as information). At this time, the kernel 1 may modify the number of instruction codes received as unpredictable information from the task 2 depending on the hardware configuration of the processor. For example, an overhead depending on the processor may be added to the number of instruction codes received from Tact2. When the number of instruction codes of the task 2 is the number of instruction codes executable within the remaining capacity of the processor, it is determined that the task 2 is executable from the predicted load information of the task 2 and the operation state of the processor.
On the other hand, when the number of executable instruction codes exceeds the number of executable instructions within the remaining capacity of the processor, it is determined that the task 2 cannot be executed. If executable (step S10), generate task 2 (execute)
(Step S6). If the task 2 cannot be executed (step S9), the generation (execution) of the task 2 is rejected (step S12).
【0016】例えば、図4のようにプロセッサ20がエ
ンコーダ・タスク21とデコーダ・タスク22を実行中
だとして、フィルタA・タスク23の生成(実行)要求
25が発生した場合(ステップS25)を考える。ここ
で、プロセッサ20のMIPS値から所定時間内にその
プロセッサが実行可能な命令コードの数をプロセッサの
処理能力として定義する。ここでは、例えば、「10
0」とする。各タスクの予測負荷情報、すなわち、命令
コードの数は、図6のように与えられ、フィルタAはパ
ラメータ「2」を用いるものとする。現時点では、プロ
セッサ20は、エンコーダ・タスク21とデコーダ・タ
スク22とで、負荷が「80」の処理をしていることか
ら、プロセッサ20の処理能力は残り「20」である。
すなわち、このプロセッサ20は、命令コードの数が
「20」以内のタスクであれば実行可能である。For example, consider a case where the processor 20 is executing the encoder task 21 and the decoder task 22 as shown in FIG. 4, and a generation (execution) request 25 of the filter A / task 23 is generated (step S25). . Here, the number of instruction codes executable by the processor within a predetermined time from the MIPS value of the processor 20 is defined as the processing capability of the processor. Here, for example, “10
0 ". The predicted load information of each task, that is, the number of instruction codes is given as shown in FIG. 6, and the filter A uses the parameter “2”. At this time, the processor 20 is performing the processing with the load of “80” between the encoder task 21 and the decoder task 22, so that the remaining processing capacity of the processor 20 is “20”.
That is, the processor 20 can execute the task if the number of instruction codes is within “20”.
【0017】まず、カーネル1はフィルタA・タスク2
3からその予測負荷が「30」であることを知らされ、
実行不可能であることが分かるので、フィルタA・タス
ク23の生成(実行)を拒否する。First, kernel 1 is composed of filter A and task 2
3 informs that the predicted load is "30",
Since it is found that the execution is impossible, the generation (execution) of the filter A / task 23 is rejected.
【0018】一方、同様の条件でフィルタB・タスク2
4の生成(実行)求が発生した場合を考える(ステップ
S26)。すると、カーネル1はフィルタB・タスク2
4からその予測負荷が「10」であることを知らされ、
実行可能であることが分かるので、フィルタB・タスク
24を生成(実行)する。On the other hand, under the same conditions, filter B and task 2
Consider a case where a request for generation (execution) of No. 4 occurs (step S26). Then, kernel 1 becomes filter B and task 2
4 informs that the predicted load is "10",
Since it is found that the execution is possible, the filter B / task 24 is generated (executed).
【0019】本発明に係るマルチタスク制御方法の第3
実施形態について図3に示すフローチャートを用いて説
明する。Third Embodiment of the Multitask Control Method According to the Present Invention
The embodiment will be described with reference to the flowchart shown in FIG.
【0020】あるタスクのタスク生成(実行)要求があ
った場合(ステップS3)、カーネル1はタスク2に予
測負荷情報を依頼する。タスク2は該タスクの現時点に
設定されているパラメータに対応する命令コードの数を
予測負荷情報として(ステップS7)、カーネル1に渡
す。カーネル1は、タスク2から予測負荷情報を獲得す
ると(ステップS4)、その予測負荷情報とプロセッサ
のMIPS値とプロセッサの現時点での稼働状況(例え
ば、ここでは、説明の簡単のため、MIPS値から求ま
るプロセッサが所定時間内に実行可能な命令コードの数
(処理能力)に対する、現時点でマルチタスク処理で実
行されている全てのタスクの命令コードの数の合計値
(実測値を用いる場合と、予測負荷情報として各タスク
から提示された命令コード数の合計値であってもよい)
の割合)に基づいて、プロセッサの余力内でのタスク2
が実行可能か否かを判断する(ステップS9)。このと
き、カーネル1は、タスク2から受け取った予測不可情
報としての命令コードの数をプロセッサのハードウエア
構成に依存する修正を行ってもよい。例えば、タクク2
から受け取った命令コードの数にプロセッサに依存する
オーバーヘッド分を加算してもよい。プロセッサの余力
内で実行可能な命令コードの数であるとき、タスク2を
実行可能と判断し、一方、プロセッサの余力内で実行可
能な命令コードの数を越えているとき、タスク2を実行
不可と判断する。When there is a task generation (execution) request for a task (step S3), the kernel 1 requests the task 2 for predicted load information. The task 2 passes the number of instruction codes corresponding to the parameters set at the present time of the task to the kernel 1 as predicted load information (step S7). When the kernel 1 acquires the predicted load information from the task 2 (step S4), the predicted load information, the MIPS value of the processor, and the current operation status of the processor (for example, here, for simplicity of explanation, the MIPS value The sum of the numbers of instruction codes of all the tasks currently being executed in the multitask processing with respect to the number of instruction codes executable by the processor within a predetermined time (processing capacity) (in the case where an actual measurement value is used, (It may be the total value of the number of instruction codes presented from each task as load information.)
Task 2 within the processor's spare capacity based on
It is determined whether or not is executable (step S9). At this time, the kernel 1 may modify the number of instruction codes received as unpredictable information from the task 2 depending on the hardware configuration of the processor. For example, Takuk 2
May be added to the number of instruction codes received from the processor. If the number of instruction codes that can be executed within the remaining capacity of the processor, the task 2 is determined to be executable. Judge.
【0021】実行可能なら(ステップS10)、タスク
2を生成(実行)する(ステップS6)。また、実行不
可能なら(ステップS9)、タスク2のパラメータを変
更し(ステップS13)、タスク2に再度予測負荷情報
の提示を要求し(ステップS7)、タスク2の実行可能
性を判断する(ステップS9)。この作業をタスク2が
実行可能になるまで繰り返す。If executable (step S10), task 2 is generated (executed) (step S6). If the task cannot be executed (step S9), the parameter of the task 2 is changed (step S13), the presentation of the predicted load information is requested to the task 2 again (step S7), and the feasibility of the task 2 is determined (step S7). Step S9). This operation is repeated until task 2 becomes executable.
【0022】例えば、図5のようにプロセッサ20がエ
ンコーダ・タスク21とデコーダ・タスク22を実行中
だとして、フィルタA・タスク23の生成(実行)要求
が発生した場合(ステップS25)を考える。ここで、
プロセッサ20のMIPS値から所定時間内にそのプロ
セッサが実行可能な命令コードの数をプロセッサの処理
能力として定義する。ここでは、例えば、「100」と
する。各タスクの予測負荷情報、すなわち、命令コード
の数は、図6のように与えられ、フィルタA・タスク2
3は、パラメータ「2」を用いるものとする。現時点
で、プロセッサ20は、エンコーダ・タスク21とデコ
ーダ・タスク22とで、負荷が「80」の処理をしてい
ることから、プロセッサ20の処理能力は残り「20」
である。すなわち、このプロセッサ20は、所定時間内
に実行可能な命令コードの数が「20」以内のタスクで
あれば実行可能である。For example, consider the case where the processor 20 is executing the encoder task 21 and the decoder task 22 as shown in FIG. 5 and a request to generate (execute) the filter A task 23 is generated (step S25). here,
The number of instruction codes executable by the processor within a predetermined time from the MIPS value of the processor 20 is defined as the processing capability of the processor. Here, for example, “100” is set. The predicted load information of each task, that is, the number of instruction codes is given as shown in FIG.
3 uses parameter "2". At this time, the processor 20 is performing the processing with the load of “80” between the encoder task 21 and the decoder task 22, and the processing capacity of the processor 20 is “20”.
It is. That is, the processor 20 can execute the task if the number of instruction codes executable within a predetermined time is within “20”.
【0023】まず、カーネル1はフィルタA・タスク2
3から予測負荷情報が「30」であることを知らされ、
実行不可能であることが分かるので、フィルタA・タス
ク23のパラメータを変更する(ステップS27)。例
えば、フィルタA・タスク23のパラメータを「1」に
変更した場合を考える。この変更に伴い、フィルタA・
タスク23の生成(実行)要求が再度発生すると(ステ
ップS28)、カーネル1はフィルタA・タスク23に
再度予測負荷情報の提供を依頼し、カーネル1はフィル
タA・タスク23から予測負荷が「20」であることを
知らされ、実行可能であることが分かるので、フィルタ
A・タスク23を生成(実行)する。First, kernel 1 is composed of filter A and task 2
3 informs that the predicted load information is “30”,
Since it is found that the execution is impossible, the parameters of the filter A / task 23 are changed (step S27). For example, consider a case where the parameter of the filter A / task 23 is changed to “1”. With this change, filter A
When the generation (execution) request of the task 23 occurs again (step S28), the kernel 1 requests the filter A / task 23 to provide the predicted load information again. , And it is known that the process is executable, so that the filter A / task 23 is generated (executed).
【0024】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。さらに、上記実
施形態には種々の段階の発明は含まれており、開示され
る複数の構成用件における適宜な組み合わせにより、種
々の発明が抽出され得る。例えば、実施形態に示される
全構成要件から幾つかの構成要件が削除されても、発明
が解決しようとする課題の欄で述べた課題(の少なくと
も1つ)が解決でき、発明の効果の欄で述べられている
効果(のなくとも1つ)が得られる場合には、この構成
要件が削除された構成が発明として抽出され得る。It should be noted that the present invention is not limited to the above-described embodiment, and that various modifications can be made in the implementation stage without departing from the scope of the invention. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, even if some components are deleted from all the components shown in the embodiment, (at least one of) the problems described in the column of the problem to be solved by the invention can be solved, and the effect of the invention can be solved. If at least one of the effects described in (1) is obtained, a configuration from which this component is deleted can be extracted as an invention.
【0025】[0025]
【発明の効果】以上説明したように本発明によれば、新
たなタスクを実行させる際に、プロセッサの処理能力内
でそのタスクを実行可能か否かを予め判断できるので、
プロセッサの処理能力超えるマルチタスク処理を回避す
ることができる。As described above, according to the present invention, when a new task is executed, it can be determined in advance whether or not the task can be executed within the processing capability of the processor.
Multitask processing exceeding the processing capability of the processor can be avoided.
【図1】本発明に係るマルチタスク制御方法の第2の実
施形態について説明するためのフローチャート。FIG. 1 is a flowchart for explaining a second embodiment of the multitask control method according to the present invention.
【図2】本発明に係るマルチタスク制御方法の第1の実
施形態について説明するためのフローチャート。FIG. 2 is a flowchart for explaining a first embodiment of a multitask control method according to the present invention.
【図3】本発明に係るマルチタスク制御方法の第3の実
施形態について説明するためのフローチャート。FIG. 3 is a flowchart for explaining a third embodiment of the multitask control method according to the present invention.
【図4】図1、図2の処理動作を具体的に説明するため
の図。FIG. 4 is a diagram for specifically explaining the processing operations of FIGS. 1 and 2;
【図5】図3の処理動作を具体的に説明するための図。FIG. 5 is a diagram for specifically explaining the processing operation of FIG. 3;
【図6】図1、図3の処理動作を実施の形態を説明する
ための説明図。FIG. 6 is an explanatory diagram for describing an embodiment of the processing operation of FIGS. 1 and 3;
【図7】図2の処理動作を具体的に説明するための図。FIG. 7 is a diagram for specifically explaining the processing operation of FIG. 2;
1…カーネル 2…タスク 20…プロセッサ 21…エンコーダ・タスク 22…デコーダ・タスク 23…フィルタA・タスク 24…フィルタB・タスク 1 Kernel 2 Task 20 Processor 21 Encoder task 22 Decoder task 23 Filter A task 24 Filter B task
Claims (4)
理にて実行するためのマルチタスク制御方法において、 新たにタスクを実行させる際に、少なくともそのタスク
の処理内容にかかる命令コードの数をプロセッサの負荷
を予測するために用いる予測負荷情報として該タスクか
ら獲得し、この予測負荷情報に基づきプロセッサの余力
内で実行可能と判断したタスクを実行させることを特徴
とするマルチタスク制御方法。In a multitask control method for executing a plurality of different information processes in a multitask process, when a new task is executed, at least the number of instruction codes related to the processing content of the task is determined by a processor. A multi-task control method comprising: acquiring from a task as predicted load information used for predicting a load; and executing a task determined to be executable within the remaining capacity of a processor based on the predicted load information.
断したタスクに対しては、そのタスクの処理内容を変え
るパラメータを変更し、その結果変更された前記タスク
の予測負荷情報を獲得して、該タスクを実行可能か否か
を判断することを特徴とする請求項1記載のマルチタス
ク制御方法。2. For a task determined to be unexecutable based on the predicted load information, a parameter that changes the processing content of the task is changed, and as a result, the changed predicted load information of the task is obtained. 2. The multitask control method according to claim 1, wherein it is determined whether the task can be executed.
理にて実行する情報処理装置において、 新たにタスクを実行する際に、少なくともそのタスクの
処理内容にかかる命令コードの数をプロセッサの負荷を
予測するために用いる予測負荷情報として該タスクから
獲得する手段と、 前記予測負荷情報に基づき、前記プロセッサの余力内で
実行可能と判断したタスクを実行させる手段と、 を具備したことを特徴とする情報処理装置。3. An information processing apparatus for executing a plurality of different information processings by multitask processing, wherein when a new task is executed, at least the number of instruction codes related to the processing content of the task is estimated by predicting the load of the processor. Means for acquiring from the task as predicted load information used for performing the task, and means for executing a task determined to be executable within the remaining capacity of the processor based on the predicted load information. Processing equipment.
そのタスクの処理内容を変えるパラメータを変更する手
段を具備し、 その結果変更された前記タスクの予測負荷情報を獲得し
て、前記パラメータの変更されたタスクから再度予測負
荷情報を獲得して、該タスクを実行可能か否かを判断す
ることを特徴とする請求項3記載の情報処理装置。4. When it is determined that the task cannot be executed,
Means for changing a parameter for changing the processing content of the task, acquiring predicted load information of the task changed as a result, acquiring predicted load information again from the task whose parameter is changed, 4. The information processing apparatus according to claim 3, wherein it is determined whether the task can be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000286796A JP2002099435A (en) | 2000-09-21 | 2000-09-21 | Control method of multi-task and information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000286796A JP2002099435A (en) | 2000-09-21 | 2000-09-21 | Control method of multi-task and information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002099435A true JP2002099435A (en) | 2002-04-05 |
Family
ID=18770661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000286796A Pending JP2002099435A (en) | 2000-09-21 | 2000-09-21 | Control method of multi-task and information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002099435A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048231A (en) * | 2004-08-02 | 2006-02-16 | Denso Wave Inc | Controller and computer program |
JP2006344283A (en) * | 2005-06-08 | 2006-12-21 | Toshiba Corp | Video recording and reproducing device, and video recording and reproducing method |
CN100382033C (en) * | 2004-11-24 | 2008-04-16 | 松下电器产业株式会社 | Computer system |
WO2010137233A1 (en) * | 2009-05-28 | 2010-12-02 | パナソニック株式会社 | Power saving control device for multiprocessor system, and mobile terminal |
US8028051B2 (en) | 2003-04-16 | 2011-09-27 | Fujitsu Limited | Apparatus for adjusting use resources of system and method thereof |
WO2012104899A1 (en) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | Safety control device and safety control method |
JP2016046575A (en) * | 2014-08-20 | 2016-04-04 | 株式会社日立製作所 | Traffic management device and wireless network system |
JP2018138987A (en) * | 2016-10-28 | 2018-09-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Information processing device and information processing method |
-
2000
- 2000-09-21 JP JP2000286796A patent/JP2002099435A/en active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028051B2 (en) | 2003-04-16 | 2011-09-27 | Fujitsu Limited | Apparatus for adjusting use resources of system and method thereof |
JP2006048231A (en) * | 2004-08-02 | 2006-02-16 | Denso Wave Inc | Controller and computer program |
CN100382033C (en) * | 2004-11-24 | 2008-04-16 | 松下电器产业株式会社 | Computer system |
JP2006344283A (en) * | 2005-06-08 | 2006-12-21 | Toshiba Corp | Video recording and reproducing device, and video recording and reproducing method |
WO2010137233A1 (en) * | 2009-05-28 | 2010-12-02 | パナソニック株式会社 | Power saving control device for multiprocessor system, and mobile terminal |
WO2012104899A1 (en) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | Safety control device and safety control method |
JP5267737B2 (en) * | 2011-01-31 | 2013-08-21 | トヨタ自動車株式会社 | SAFETY CONTROL DEVICE AND SAFETY CONTROL METHOD |
CN103403628A (en) * | 2011-01-31 | 2013-11-20 | 丰田自动车株式会社 | Safety control device and safety control method |
US8756606B2 (en) | 2011-01-31 | 2014-06-17 | Toyota Jidosha Kabushiki Kaisha | Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern |
JP2016046575A (en) * | 2014-08-20 | 2016-04-04 | 株式会社日立製作所 | Traffic management device and wireless network system |
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 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5324934B2 (en) | Information processing apparatus and information processing method | |
JP4367856B2 (en) | Process control system and control method thereof | |
US5805892A (en) | Method of and apparatus for debugging multitask programs | |
US7366814B2 (en) | Heterogeneous multiprocessor system and OS configuration method thereof | |
US20050086030A1 (en) | Software tool for synthesizing a real-time operating system | |
US20090158294A1 (en) | Dynamic critical-path recalculation facility | |
JP2002099435A (en) | Control method of multi-task and information processor | |
US5241676A (en) | Method for controlling process priority in semaphore operation | |
US8555285B2 (en) | Executing a general-purpose operating system as a task under the control of a real-time operating system | |
US6820153B2 (en) | Interrupt processing and memory management method in an operation processing device and a device using the same | |
US20190121327A1 (en) | Numerical controller | |
US20150363241A1 (en) | Method and apparatus to migrate stacks for thread execution | |
JP2001236236A (en) | Task controller and its task scheduling method | |
US5241634A (en) | Method of handling system calls to an operating system of a computer by system service routines stored as firmware | |
JPS62284437A (en) | Task control system | |
KR20130048504A (en) | Apparatus and method for scheduling partition based criticality | |
CN110109743B (en) | Real-time process scheduling method | |
JP2002041310A (en) | Class dynamic bind system and its method | |
CN117992198B (en) | Task processing method and system for adaptive scheduling | |
CN110308988B (en) | Dynamic scheduling method and system applied to heterogeneous computing platform | |
JPH04362745A (en) | Instruction tracing device | |
JP2822728B2 (en) | Computer system | |
JP2000353100A (en) | Task processing system | |
JPH09106358A (en) | Scheduling method of virtual computer system and device therefor | |
JPH0424828A (en) | Multi-task control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060328 |