JP3243849B2 - Task scheduling device - Google Patents
Task scheduling deviceInfo
- Publication number
- JP3243849B2 JP3243849B2 JP21808092A JP21808092A JP3243849B2 JP 3243849 B2 JP3243849 B2 JP 3243849B2 JP 21808092 A JP21808092 A JP 21808092A JP 21808092 A JP21808092 A JP 21808092A JP 3243849 B2 JP3243849 B2 JP 3243849B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- frame
- information
- configuration list
- frame number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】[0001]
【産業上の利用分野】本発明は、タスクにCPU実行権
を与えるタスクスケジューリング装置において、フレー
ム番号カウンタ値と起動間隔に基づき起動される同じフ
レームに対応したタスク群をグループ化することによ
り、複数タスクを一定時間内で繰り返し起動できるよう
にした複数タスク周期起動方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a task scheduling apparatus for assigning a CPU execution right to a task, by grouping a group of tasks corresponding to the same frame activated based on a frame number counter value and an activation interval. The present invention relates to a method for periodically starting a plurality of tasks in which a task can be repeatedly started within a predetermined time.
【0002】タスクにCPU実行権を与えるタスクスケ
ジューリング処理は、例えば、自分の航跡確認のため、
また近接航空機の確認等のために、レーダ等の電子機器
から、ある一定時間内で繰り返しデータをサンプリング
する航空機搭載システム(アビオニクスシステム)と
か,ファクトリオートメーション分野の、例えば、鉄
鋼、セメント等流体を扱う分野における、一定時間毎
に、温度・液位・濃度等を計測し、その値によって次の
コントロールを行う、プロセス制御システムのようなリ
アルタイムシステムに用いられる。A task scheduling process for giving a task a CPU execution right includes, for example,
For confirmation of nearby aircraft, etc., we handle fluids such as steel and cement in the field of factory automation, such as airborne systems (avionics systems) that repeatedly sample data within a certain period of time from electronic equipment such as radar. It is used in a real-time system such as a process control system that measures temperature, liquid level, concentration, and the like at regular intervals in the field, and performs the next control based on the measured values.
【0003】このようなシステムにおけるタスクスケジ
ューリング処理においては、金融機関の勘定系システム
等で要求される以上のリアルタイム性が,厳しく要求さ
れる。このため、システム全体のオーバヘッドを低減し
て厳密なリアルタイム性を発揮できる、タスクスケジュ
ーリング処理の複数タスク周期起動技術が要求される。[0003] In the task scheduling process in such a system, a real-time property more than that required by an accounting system of a financial institution is strictly required. For this reason, there is a need for a technique for activating a plurality of tasks in a task scheduling process, which can reduce the overhead of the entire system and exhibit strict real-time properties.
【0004】[0004]
【従来の技術】従来、用いられているタスクスケジュー
リング装置の複数タスク起動方法を図6、図7を用いて
説明する。2. Description of the Related Art A conventional method of starting a plurality of tasks by a task scheduling apparatus will be described with reference to FIGS.
【0005】ある時刻に、あるタスクを起動したい場
合、予め、タスクリクエストブロック(以下、TRBと
いう)をタスク数分作成しておく。例えば、TASK1 の場
合、時刻 1H00M00S 経過時に、時刻 1H05M00S の登録を
すれば良い。従って、各時刻において、図6(c) {この
図は、1H00M00Sより前に作成された実行タスクのキュー
の例を示しており、1H00M00Sを経過すると、次の時刻、
例えば、1H05M00Sに実行されるタスクのキューが作成さ
れる}に示すように、タスク数分作成すれば良い。When a certain task is to be started at a certain time, task request blocks (hereinafter referred to as TRBs) are created in advance for the number of tasks. For example, in the case of TASK1, the time 1H05M00S may be registered after the time 1H00M00S has elapsed. Therefore, at each time, FIG. 6 (c) {This figure shows an example of the queue of the execution task created before 1H00M00S, and after 1H00M00S, the next time,
For example, as shown in (1), a queue of tasks to be executed in 1H05M00S is created, the number of tasks may be created for the number of tasks.
【0006】TRBは図6(b)に示すように、次のT
RBの存在を管理するタイマキュー情報、対応するタス
クコントロールブロック(以下、TCBという)アドレ
スと,起動時刻が格納された制御ブロックであり、作成
されたTRBを上記タイマキュー情報により時系列でキ
ューイングしておく。[0006] As shown in FIG.
A control block in which timer queue information for managing the existence of RBs, a corresponding task control block (hereinafter referred to as TCB) address, and a start time are stored. The created TRBs are queued in time series based on the timer queue information. Keep it.
【0007】例えば、図6(a)のように、時刻1時に
TASK1、4を、1時5分にTASK1、2を、1時
10分にTASK1、3を1時15分にTASK1、5
を起動したい場合、図6(c)のように、最初の起動時
刻毎に1TRB(この例では、計5つのTRB)を用意
し、時系列でキューイングしておく。For example, as shown in FIG. 6A, TASK1 and TASK1 at time 1, TASK1 and TASK2 at 1: 5, TASK1 and TASK1 and 3 at 1:10 and TASK1 and TASK1 at 1:15.
6A, one TRB (in this example, a total of five TRBs) is prepared for each first activation time and queued in time series as shown in FIG. 6C.
【0008】一方、実際のタスク起動方法を図7を使っ
て説明する。先ずインタバルタイマ割り込みを契機に、
タイマキューの先頭から現在時刻を経過したTRBを検
索する(ステップ101 )。On the other hand, an actual task activation method will be described with reference to FIG. First, triggered by the interval timer interrupt,
A search is made for a TRB whose current time has passed from the head of the timer queue (step 101).
【0009】該TRB内の起動時刻が現在時刻を経過し
ていなければ(ステップ102 )、処理を終了するために
ステップ 105に分岐する。又、起動時刻が、現在時刻を
経過していれば(ステップ102 )、該TRB内に格納さ
れたTCBアドレスから該当タスクを知り、そのタスク
を起動できる(タスク起動要求)状態にする(ステップ
103 )。If the start time in the TRB has not passed the current time (step 102), the flow branches to step 105 to end the processing. If the activation time has passed the current time (step 102), the corresponding task is known from the TCB address stored in the TRB, and the task can be activated (task activation request) (step 102).
103).
【0010】更に、次のタイマキューがあるか否かをT
RBのタイマキュー情報より知り(ステップ104 )、も
し、次のTRBが存在すれば、ステップ101 に戻り同様
の処理を繰り返す。一方、次のTRBが存在しなければ
(ステップ104 )、起動要求のあるタスクの有無を調べ
(ステップ105 )、無ければ処理を終了し、有れば、タ
スクスケジューラに分岐し(ステップ106 )、起動要求
のでているタスクのうち優先順位の最も高いタスクにC
PU実行権を与える。即ち、デキューイングされる。Further, whether or not there is a next timer queue is determined by T
Knowing from the timer queue information of the RB (step 104), if the next TRB exists, the process returns to step 101 and repeats the same processing. On the other hand, if the next TRB does not exist (step 104), it is checked whether there is a task for which an activation request has been made (step 105). If not, the process is terminated. If there is, the process branches to the task scheduler (step 106). The task with the highest priority among the tasks requested by the activation request is C
Grant PU execution right. That is, it is dequeued.
【0011】このように従来技術においては、同一時刻
に複数タスクを同時に起動させるためには、タイマキュ
ーの先頭から順次検索し、タイマキューがなくなるか、
あるいはTRB内の起動時刻が現在時刻を経過しなくな
るまで、ステップ101 からステップ104 を繰り返し処理
するものであった。As described above, in the prior art, in order to simultaneously start a plurality of tasks at the same time, the tasks are sequentially searched from the head of the timer queue, and whether or not the timer queue runs out is determined.
Alternatively, steps 101 to 104 are repeated until the activation time in the TRB does not exceed the current time.
【0012】[0012]
【発明が解決しようとする課題】ところで、航空機搭載
システムやプロセス制御システムでは、外部装置(ディ
スプレイ装置、センサ等)が複数接続され、各々が異な
る機能を有し、それらに対応したタスクが機能単位に構
成されるため、各フレーム内で起動されるタスクが複数
存在し、しかもある一定時間間隔で繰り返し処理するこ
とが要求される。By the way, in an airborne system or a process control system, a plurality of external devices (display devices, sensors, etc.) are connected, each has a different function, and a task corresponding to each function is defined as a function unit. Therefore, there are a plurality of tasks to be started in each frame, and it is required to perform the processing repeatedly at a certain time interval.
【0013】このようなシステムでも、従来は、図6、
図7を使用して説明したように、タイマキューのキュー
イング機能、デキューイング機能等を使用して、複数タ
スクの起動処理を行っていた。In such a system, conventionally, FIG.
As described with reference to FIG. 7, the activation processing of a plurality of tasks is performed using the queuing function and the dequeuing function of the timer queue.
【0014】このため、同一フレーム内で起動されるタ
スクが多くなればなるほど、タイマキュー検索や時刻判
定の処理を繰り返すため、タイマキューの検索からタス
ク起動までの処理時間が長くなり、しいては、システム
全体のオーバヘッドが大きくなるという問題を生じてい
た。For this reason, as the number of tasks started in the same frame increases, the processing of timer queue search and time determination is repeated, so that the processing time from the search of the timer queue to the start of the task becomes longer. However, there has been a problem that the overhead of the entire system increases.
【0015】本発明は、タスクスケジューリング装置に
おいて、フレーム制御情報およびタスク構成リストか
ら、該当フレーム内の複数タスクを即座に起動させるこ
とができる、複数タスクの周期起動方法を提供すること
を目的とする。An object of the present invention is to provide a method of periodically starting a plurality of tasks in a task scheduling apparatus, which can immediately start a plurality of tasks in a corresponding frame from frame control information and a task configuration list. .
【0016】[0016]
【課題を解決するための手段】図1は本発明の原理構成
図である。上記の問題点は下記の如くに構成したタスク
スケジューリング装置の複数タスク周期起動方法により
解決される。FIG. 1 is a block diagram showing the principle of the present invention. The above problem is solved by a method for activating a plurality of tasks in a task scheduling apparatus configured as follows.
【0017】タスクスケジューリング装置を、周期的に
起動される各タスクの起動の時間間隔を規定するフレー
ムの制御情報4と,各フレーム内のタスク起動情報であ
るタスク構成リスト5を格納した制御情報部1と、該制
御情報部1に上記各フレームと起動タスクの関係を設定
し、インタバルタイマ割り込みを契機に、上記フレーム
制御情報4に基づき、複数のタスクを一度に起動させる
処理部2と、上記各フレームと起動タスクの関係等の情
報を入力する情報入出力手段10,及びインタバルタイマ
11 とからなる入力部3とで構成し、該制御情報部1
に、あるインタバルタイマ割り込みで、対象となるフレ
ームの番号を管理しているフレーム番号カウンタ4b
と,該フレーム番号カウンタ4bが指示するフレームで
起動されるタスク群を管理しているタスク構成リスト5
のアドレス情報4cと、タスク群を周期的に起動させる
ための管理に使用する最大フレーム番号情報4aからな
るフレーム制御情報4と、当該インタバルタイマ割り込
みで起動されるタスク数と、それらのタスクコントロー
ルブロック(TCB)群のアドレスを管理しているタス
ク構成リスト5とを設け、上記フレーム読み出しの開始
を通知するためのインタバルタイマ割り込みを契機に、
上記フレーム番号カウンタ4b、最大フレーム番号4a
より、該当フレームのタスク構成リスト5のアドレスを
求め、該タスク構成リスト5上に記された各フレーム番
号当たりの当該タスク群のタスクコントロールブロック
(TCB)アドレスを一度に検索することにより、各フ
レーム毎に複数タスクを一度に、かつ周期的に起動させ
るに構成する。The task scheduling apparatus is provided with a control information section storing frame control information 4 for defining a time interval of activation of each task that is periodically activated, and a task configuration list 5 which is task activation information in each frame. 1, a processing unit 2 for setting the relationship between each frame and the activation task in the control information unit 1, and activating a plurality of tasks at once based on the frame control information 4 when an interval timer interrupt occurs. Information input / output means 10 for inputting information such as the relationship between each frame and the activation task, and an interval timer
11 and an input unit 3 comprising the control information unit 1
And a frame number counter 4b which manages the number of a target frame by a certain interval timer interrupt.
And a task configuration list 5 managing a group of tasks started in the frame designated by the frame number counter 4b.
Address information 4c, frame control information 4 including maximum frame number information 4a used for management for periodically starting a task group, the number of tasks started by the interval timer interrupt, and their task control blocks. And a task configuration list 5 that manages the addresses of the (TCB) group.
The frame number counter 4b, the maximum frame number 4a
Thus, the address of the task configuration list 5 of the corresponding frame is obtained, and the task control block (TCB) address of the task group for each frame number described on the task configuration list 5 is searched at a time, thereby obtaining each frame. It is configured to activate a plurality of tasks at once and periodically every time.
【0018】[0018]
【作用】本発明では、インタバルタイマ割り込みを契機
に、図1に示したフレーム制御情報4上のフレーム番号
カウンタ値をインデックスとして、該当フレームのタス
ク構成リストを参照し、更に、該タスク構成リストによ
り、起動しなければならない複数のタスクを一度に把握
できる。またフレーム制御情報4上の最大フレーム番号
と、インタバルタイマ割り込み毎のフレーム番号カウン
タの更新とにより、一定周期毎にフレーム番号カウンタ
を同一フレーム番号に設定でき、その結果、周期的に同
じタスク群を起動することができる。According to the present invention, when the interval timer interrupt is triggered, the task configuration list of the relevant frame is referred to using the frame number counter value on the frame control information 4 shown in FIG. 1 as an index. , You can grasp multiple tasks that must be started at once. Also, by updating the maximum frame number on the frame control information 4 and updating the frame number counter for each interval timer interrupt, the frame number counter can be set to the same frame number at regular intervals. Can be started.
【0019】従って、従来の方法であるタイマキューの
キューイング、デキューイング機能を中心としたタイマ
管理方法に頼る必要がないので、キュー検索、時間経過
の判定の繰り返し処理等から生ずるシステム全体のオー
バーヘッドの回避ができ、複数タスクの周期起動を効率
的に行なえるという効果を発揮する。Therefore, there is no need to rely on the conventional timer management method centering on the queuing and dequeuing functions of the timer queue, so that the overhead of the entire system resulting from the repetitive processing of queue search and time lapse determination, etc. Can be avoided, and the periodic activation of a plurality of tasks can be efficiently performed.
【0020】[0020]
【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1は、本発明の原理説明図であり、図2、
図3は本発明の一実施例を示した図である。尚、全図を
通して同じ符号は同じ対象物を示している。BRIEF DESCRIPTION OF THE DRAWINGS FIG. FIG. 1 is an explanatory view of the principle of the present invention.
FIG. 3 is a diagram showing one embodiment of the present invention. Note that the same reference numerals indicate the same object throughout the drawings.
【0021】先ず、制御情報部1はメモリに常駐し、本
装置(タスクスケジューリング装置)起動時、あるいは
フレーム内のタスク構成変更時に、フレーム番号カウン
タの初期値を設定(例えば7に設定)したり、タスク構
成リスト情報(各フレーム毎のタスク構成リストアドレ
ス)を設定する。First, the control information section 1 is resident in the memory, and sets the initial value of the frame number counter (for example, 7) when the present apparatus (task scheduling apparatus) is started or when the task configuration in a frame is changed. , The task configuration list information (task configuration list address for each frame) is set.
【0022】その構成は、図3に示すように、フレーム
制御情報4とタスクをグループ化したタスク構成リスト
5を含み、フレーム制御情報4として、最大フレーム番
号4aとフレーム番号カウンタ4bを装置全体で1つず
つ備え、タスク構成リスト5として、タスク数とタスク
を識別するためのTCBアドレスとを、起動すべきタス
クでグループ化された単位、すなわち各フレーム毎に起
動させるタスク群の組合せパターン数分備えている。As shown in FIG. 3, the configuration includes a frame control information 4 and a task configuration list 5 in which tasks are grouped. As the frame control information 4, a maximum frame number 4a and a frame number counter 4b are used in the entire apparatus. The task configuration list 5 includes the number of tasks and the TCB address for identifying the tasks in a unit grouped by the tasks to be started, that is, in the number of combination patterns of the task group to be started for each frame. Have.
【0023】処理部2は制御情報部の初期設定7、該当
フレーム内の複数タスクを一度に起動する周期スケジュ
ーリング8、優先順位が最も高いタスクにCPU実行権
を与えるタスクスケジューラ9の各機能で構成されたプ
ログラム群であり、メモリ上に配置されCPU(プロセ
ッサ)で実行されるものである。The processing unit 2 comprises the following functions: initial setting 7 of the control information unit, periodic scheduling 8 for activating a plurality of tasks in the frame at one time, and task scheduler 9 for giving the CPU execution right to the task with the highest priority. The program group is arranged on a memory and executed by a CPU (processor).
【0024】入力部3は、最大フレーム番号、タスク群
でグループ化された各タスク構成リストのタスク数、登
録タスク番号、そのリストを使用する最初のフレーム番
号(開始フレーム番号)、及び次にそのリストを使用す
るまでのフレーム間隔等、制御情報部1の設定情報を記
述したプログラム(情報入力手段)10、と一定時間間隔
で割り込みを発生させるインタバルタイマ11で構成さ
れ、上述のような周期起動に必要な情報を入力したり、
一定時間間隔で周期スケジューリング処理を実行させる
ためのものである。The input unit 3 includes a maximum frame number, the number of tasks in each task configuration list grouped by task group, a registered task number, a first frame number (start frame number) using the list, and It is composed of a program (information input means) 10 describing setting information of the control information section 1 such as a frame interval until the list is used, and an interval timer 11 for generating an interrupt at a fixed time interval. Enter the information required for
This is to execute a periodic scheduling process at fixed time intervals.
【0025】図4は本発明の一実施例処理フロー図であ
る。入力部3の情報入力手段(プログラム)10に記述さ
れた、最大フレーム番号、タスク群でグループ化された
各タスク構成リスト 5のタスク数、各フレーム毎に起動
されるタスクの登録タスク番号、そのタスク構成リスト
5を使用する最初のフレーム番号等、周期起動に必要な
情報に基づき、制御情報部1に設けられたフレーム制御
情報4とタスク構成リスト5の内容を図3に示すように
設定した後、インタバルタイマ11に割り込み時間間隔を
設定する(ステップ201 )。FIG. 4 is a processing flow chart of one embodiment of the present invention. The maximum frame number described in the information input means (program) 10 of the input unit 3, the number of tasks in each task configuration list 5 grouped by task group, the registered task number of the task activated for each frame, Task configuration list
After setting the contents of the frame control information 4 and the task configuration list 5 provided in the control information section 1 as shown in FIG. An interrupt time interval is set in the timer 11 (step 201).
【0026】次に、インタバルタイマ割り込みを受け付
け(ステップ202 )周期スケジューリング処理がCPU
により実行される。周期スケジューリング処理は、メモ
リ上に配置されたフレーム番号カウンタ(FCNT)4bを読
み込み、値が最大フレーム番号4a以上であれば『0』
クリアする。そうでなければフレーム番号カウンタ4b
に1を加算する(ステップ203 )。Next, an interval timer interrupt is accepted (step 202).
Is executed by The periodic scheduling process reads the frame number counter (FCNT) 4b arranged on the memory, and sets “0” if the value is equal to or larger than the maximum frame number 4a.
clear. Otherwise, frame number counter 4b
Is incremented by 1 (step 203).
【0027】周期スケジューリング処理は、フレーム番
号カウンタ4bからフレーム制御情報4内のタスク構成
リスト情報4cに格納されたタスク構成リストアドレス
を読み込み(ステップ204 )、タスク構成リストに格納
されたタスク数5aとTCBアドレス5bを読み込む
(ステップ205 )。In the periodic scheduling process, the task configuration list address stored in the task configuration list information 4c in the frame control information 4 is read from the frame number counter 4b (step 204), and the number of tasks 5a stored in the task configuration list is read. The TCB address 5b is read (step 205).
【0028】ここで取得したタスク数5a、TCBアド
レス5bに基づいて、一度に複数タスクを起動要求有り
の状態(CPU実行権が得られる資格をもたせる)にさ
せる(ステップ206 )。Based on the number of tasks 5a and the TCB address 5b acquired here, a plurality of tasks are brought into a state of having an activation request at a time (qualification for obtaining CPU execution right) (step 206).
【0029】次に、タスクスケジューラに分岐し(ステ
ップ207 )、起動要求有りの状態にされた複数タスクの
中で最も優先順位の高いタスクにCPU実行権を与え
る。上述の処理を図5の本発明の一実施例動作説明図を
用いて説明する。図5は、各フレームと起動タスクとの
関係から、入力部 3が入力する情報の具体的な値と、そ
の値から設定されたフレーム制御情報 4とタスク構成リ
スト 5の内容を示すものである。Next, the process branches to the task scheduler (step 207), and a CPU execution right is given to a task having the highest priority among a plurality of tasks that have been activated. The above processing will be described with reference to FIG. FIG. 5 shows the specific values of the information input by the input unit 3 and the contents of the frame control information 4 and the task configuration list 5 set from the values from the relationship between each frame and the activation task. .
【0030】例えば、最大フレーム番号4aを『7』と
し、タスク−1は、全てのフレーム(フレーム間隔が
『0』)で起動され、タスク−2は、フレーム番号
『1』を開始フレーム番号としフレーム間隔が『2』で
起動され、タスク−3は、フレーム番号『2』を開始フ
レーム番号としフレーム間隔が『4』で起動され、タス
ク−4は、フレーム番号『0』を開始フレーム番号とし
フレーム間隔が『8』で起動され、タスク−5は、フレ
ーム番号『4』を開始フレーム番号としフレーム間隔
『8』で起動されるものとして、タスクのグループ化を
行うと、図5に示すようにグループは、タスク−1・
4、タスク−1・2、タスク−1・3、タスク−1・5
の4通りの組合せ(CNLIST-1〜CNLIST-4)となる。For example, the maximum frame number 4a is set to "7", task-1 is started in all frames (frame interval is "0"), and task-2 is set to frame number "1" as a start frame number. The task is started at a frame interval of “2”, the task-3 is started at a frame interval of “4” with the frame number “2” as the start frame number, and the task-4 is started at a frame number of “0” with the start frame number. When the tasks are grouped on the assumption that the frame interval is “8” and the task-5 is started at the frame interval “8” with the frame number “4” as the start frame number, as shown in FIG. The group is task-1
4, Task-1.2, Task-1.3, Task-1.5
(CNLIST-1 to CNLIST-4).
【0031】フレーム番号カウンタ4bには、初期設定
値として、最大フレーム番号値(この例では『7』)を
設定する。制御情報部1のフレーム番号カウンタ4b以
外の内容は、初期設定時、あるいは各フレーム内のタス
ク構成を変更する場合のみ書き換えられる。In the frame number counter 4b, the maximum frame number value ("7" in this example) is set as an initial setting value. The contents other than the frame number counter 4b of the control information section 1 are rewritten only at the time of initial setting or when the task configuration in each frame is changed.
【0032】この状態で、インタバルタイマ割り込みが
発生すると、フレーム番号カウンタ4bの内容『7』が
最大フレーム番号4aの内容『7』と等しい(最大フレ
ーム番号値未満ではない)ため、フレーム番号カウンタ
4bに『0』を設定し、その値に基づき、タスク構成リ
スト情報 4c の0番目の内容(CNLIST-1 アドレス) か
ら、タスク構成リスト 5の先頭アドレスを読み込み、更
にタスク数5aとTCBアドレス (例えば、TCB-1 アド
レス) 5bを読み込み、フレーム番号『0』のタスク群
(タスク−1とタスク−4)を一度に起動させる。2回
目のインタバルタイマ割り込み発生時は、フレーム番号
カウンタ4bの内容『0』と最大フレーム番号4aの内
容を比較すると、フレーム番号カウンタ4bが小さいた
め、フレーム番号カウンタ4bの内容に1を加算して
『1』とし、その値に基づきタスク構成リスト情報4c
の1番目からタスク構成リスト 5のアドレスを読み込
み、フレーム番号『1』におけるタスク群(タスク−1
とタスク─2)を一度に起動させる。When an interval timer interrupt occurs in this state, the content "7" of the frame number counter 4b is equal to the content "7" of the maximum frame number 4a (not less than the maximum frame number value). Is set to “0”, and based on the value, the start address of the task configuration list 5 is read from the 0th content (CNLIST-1 address) of the task configuration list information 4c, and the number of tasks 5a and the TCB address (for example, , TCB-1 address) 5b, and activates the task group (task-1 and task-4) of frame number "0" at a time. When the second interval timer interrupt occurs, the contents of the frame number counter 4b are compared with the contents of the maximum frame number 4a, and since the frame number counter 4b is small, 1 is added to the contents of the frame number counter 4b. "1" and the task configuration list information 4c based on the value
The address of the task configuration list 5 is read from the first task group, and the task group (task-1) at the frame number “1” is read.
And task # 2) are activated at once.
【0033】このようにして、フレーム番号カウンタ4
bが最大フレーム番号『7』を越えるまで、処理を繰り
返し、フレーム番号『0』から再び処理を開始すること
により、各タスクを周期的に起動させることが可能であ
る。Thus, the frame number counter 4
By repeating the processing until b exceeds the maximum frame number “7” and restarting the processing from the frame number “0”, each task can be started periodically.
【0034】上述の実施例では、情報入力手段としてプ
ログラムを使用したが、他の実施例として英数字キーを
備えたキーボードを用いることも可能である。また、1
回のサイクル(最初のフレームから最後のフレームま
で)におけるフレーム数が『8』で、システム全体のタ
スク数が『5』の場合について説明したが、システム障
害により、システム全体の機能を縮小させ運用するよう
な縮退運用にも、これらフレーム数,タスク数等の内容
やタスク構成リスト情報4cを再設定するだけで適用で
きる。即ち、短時間にシステムを正常運転させることを
目的とするフォルト・トレラントシステムにも適用でき
る。In the above embodiment, the program is used as the information input means. However, as another embodiment, a keyboard having alphanumeric keys can be used. Also, 1
The case where the number of frames in one cycle (from the first frame to the last frame) is “8” and the number of tasks in the entire system is “5” has been described. However, due to a system failure, the functions of the entire system are reduced and operated. Such a degraded operation can be applied only by resetting the contents such as the number of frames and the number of tasks and the task configuration list information 4c. That is, the present invention can be applied to a fault-tolerant system that aims to normally operate the system in a short time.
【0035】更に、タスクスケジューリング装置の複数
タスク周期起動方法は、航空機搭載システム(アビオニ
クスシステム)の他に、ロボット制御等のセンサーベー
スシステムのような、ある一定時間間隔で定型業務を繰
り返し処理するものにも適用できる。Further, the method for activating a plurality of tasks in the task scheduling apparatus is a method for repeatedly processing routine tasks at certain time intervals, such as a sensor-based system such as a robot control, in addition to an airborne system (avionics system). Also applicable to
【0036】[0036]
【発明の効果】以上説明したように、本発明によれば、
開始フレーム番号とフレーム間隔により一意的に決ま
る、タスクをグループ化したタスク構成リストを用いる
ことにより、インタバルタイマ割り込みを契機として、
フレーム番号カウンタに基づき、フレーム内のタスク群
を一度に検索することができ、ある一定時間間隔で周期
的に、複数のタスクを一度に起動させることが可能であ
る。As described above, according to the present invention,
By using a task configuration list that groups tasks, which is uniquely determined by the start frame number and frame interval, triggered by an interval timer interrupt,
Based on the frame number counter, a task group in a frame can be searched at one time, and a plurality of tasks can be started at once periodically at a certain time interval.
【0037】従って、従来の方法のように、キューの管
理(検索、キューイング、デキューイング)、時刻の判
定等の繰り返しの処理が必要ないため、システム全体の
オーバヘッドの低減に効果があり、効率的な複数タスク
の周期起動が可能となり、システム全体の処理時間の短
縮に寄与する。Therefore, unlike the conventional method, it is not necessary to repeatedly execute queue management (search, queuing, dequeuing), time determination, and the like, which is effective in reducing the overhead of the entire system and improving the efficiency. This makes it possible to periodically start multiple tasks, which contributes to a reduction in the processing time of the entire system.
【図1】本発明の原理説明図FIG. 1 is a diagram illustrating the principle of the present invention.
【図2】本発明の一実施例構成図(その1)FIG. 2 is a configuration diagram (part 1) of an embodiment of the present invention;
【図3】本発明の一実施例構成図(その2)FIG. 3 is a configuration diagram of an embodiment of the present invention (part 2).
【図4】本発明の一実施例処理フロー図FIG. 4 is a processing flowchart of an embodiment of the present invention.
【図5】本発明の一実施例動作説明図FIG. 5 is a diagram illustrating an operation of an embodiment of the present invention.
【図6】従来技術の説明図(その1)FIG. 6 is an explanatory view of a conventional technique (part 1).
【図7】従来技術の説明図(その2)FIG. 7 is an explanatory view of a conventional technique (part 2).
1 制御情報部 2 処理部 3 入力部 4 フレーム制御情報 4a 最大フレーム番号 4b フレーム番号カウンタ 4c タスク構成リスト情報 5 タスク構成リスト 5a タスク数 5b TCB(Task Control Block)アドレス 6 タスク制御ブロック(TCB) 7 初期設定部 8 フレーム内複数タスク同時起動要求部(周期スケ
ジューリング部) 9 タスクスケジューラ 10 情報入力手段(プログラム) 11 インタバルタイマ 101 〜106, 201 〜207 処理のステップDESCRIPTION OF SYMBOLS 1 Control information part 2 Processing part 3 Input part 4 Frame control information 4a Maximum frame number 4b Frame number counter 4c Task configuration list information 5 Task configuration list 5a Number of tasks 5b TCB (Task Control Block) address 6 Task control block (TCB) 7 Initial setting section 8 Simultaneous activation request section for multiple tasks in a frame (periodic scheduling section) 9 Task scheduler 10 Information input means (program) 11 Interval timers 101 to 106, 201 to 207 Processing steps
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 - 9/54 G06F 15/00 ──────────────────────────────────────────────────続 き Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) G06F 9/46-9/54 G06F 15/00
Claims (1)
スクスケジューリング装置であって、 前記入力部は、情報入出力手段とインタバルタイマから
なり、 前記制御情報部は、タスク構成リストとフレーム制御情
報からなり、 前記フレーム制御情報は、最大フレーム番号情報とフレ
ーム番号カウンタとタスク構成リスト情報とからなり、 前記情報入出力手段は、各フレームと起動タスクの関係
の情報を入力するものであり、 前記インタバルタイマは、一定時間間隔毎に割り込みを
発生させるものであり、 前記タスク構成リストは、各フレーム毎に起動させる複
数のタスク(タスク群)のタスク数とタスクコントロー
ルブロックアドレスとをフレーム毎に分けて記憶するも
のであり、 前記最大フレーム番号情報は、タスク群を周期的に起動
させるための管理に使用されるものであり、 前記フレーム番号カウンタは、処理の対象となるフレー
ムを管理するものであり、 前記タスク構成リスト情報は、各フレームに対応する前
記タスク構成リストの部分の先頭アドレスを指すアドレ
ス情報を管理するものであり、 前記処理部は、前記情報入出力手段からの情報に基づい
て前記制御情報部に各フレームと起動タスクの関係を設
定し、インタバルタイマ割り込みを契機に、前記フレー
ム番号カウンタと前記最大フレーム番号情報から処理の
対象となるフレームを求めフレーム番号カウンタに設定
し、前記タスク構成リスト情報から処理の対象となるフ
レームに対応するタスク構成リストの部分の先頭アドレ
スを指すアドレス情報を求め、該アドレス情報に基づき
該タスク構成リストを検索することにより処理の対象と
なるフレームに対応するタスク群のタスクコントロール
ブロックアドレスを求め、処理の対象となるフレームに
対応するタスク群を一度に起動させるものであることを
特徴とするタスクスケジューリング装置。1. A task scheduling device comprising an input unit, a control information unit, and a processing unit, wherein the input unit comprises information input / output means and an interval timer, and wherein the control information unit comprises a task configuration list and a frame. The frame control information comprises maximum frame number information, a frame number counter, and task configuration list information, and the information input / output means inputs information on the relationship between each frame and an activation task. The interval timer generates an interrupt at regular time intervals, and the task configuration list stores the number of tasks and the task control block address of a plurality of tasks (task groups) to be activated for each frame for each frame. The maximum frame number information periodically activates a task group. The frame number counter manages a frame to be processed, and the task configuration list information is a part of the task configuration list corresponding to each frame. The processing unit manages address information indicating a head address. The processing unit sets a relationship between each frame and a start task in the control information unit based on information from the information input / output unit, and triggers an interval timer interrupt. A frame to be processed is determined from the frame number counter and the maximum frame number information and set in the frame number counter, and the beginning of the part of the task configuration list corresponding to the frame to be processed is determined from the task configuration list information. Address information indicating an address is obtained, and the task configuration list is searched based on the address information. Task scheduling and wherein the search of task control block address of the task group corresponding to the subject to frame processing, is intended to launch a task group corresponding to the frame to be processed at one time by.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21808092A JP3243849B2 (en) | 1992-08-18 | 1992-08-18 | Task scheduling device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21808092A JP3243849B2 (en) | 1992-08-18 | 1992-08-18 | Task scheduling device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0667899A JPH0667899A (en) | 1994-03-11 |
JP3243849B2 true JP3243849B2 (en) | 2002-01-07 |
Family
ID=16714329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21808092A Expired - Fee Related JP3243849B2 (en) | 1992-08-18 | 1992-08-18 | Task scheduling device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3243849B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2732788B1 (en) * | 1995-04-06 | 1997-05-30 | Bull Sa | DEVICE FOR MANAGING SELECTIVE CYCLIC CALLS FOR MONITORING COMPUTER RESOURCES IN A NETWORK AND METHOD IMPLEMENTED BY SUCH A DEVICE |
JP3037182B2 (en) | 1997-02-17 | 2000-04-24 | 日本電気株式会社 | Task management method |
JP2001156842A (en) | 1999-11-26 | 2001-06-08 | Mitsubishi Electric Corp | Transmission system |
JP3610930B2 (en) | 2001-07-12 | 2005-01-19 | 株式会社デンソー | Operating system, program, vehicle electronic control unit |
JP4979289B2 (en) | 2006-07-21 | 2012-07-18 | 日立オートモティブシステムズ株式会社 | Image processing device |
JP2013054477A (en) * | 2011-09-02 | 2013-03-21 | Hitachi Ltd | Data sharing device and data sharing method |
-
1992
- 1992-08-18 JP JP21808092A patent/JP3243849B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0667899A (en) | 1994-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Burns et al. | Effective analysis for engineering real-time fixed priority schedulers | |
Tindell et al. | An extendible approach for analyzing fixed priority hard real-time tasks | |
US7451447B1 (en) | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls | |
US5465354A (en) | Method and apparatus for job execution prediction and control and method for job execution situation display | |
Prakash et al. | A nonblocking algorithm for shared queues using compare-and-swap | |
Tindell et al. | Holistic schedulability analysis for distributed hard real-time systems | |
US6314446B1 (en) | Method and system for monitoring tasks in a computer system | |
KR970016979A (en) | Queuing system and method of tasks in a multiprocessing system | |
EP0264568A2 (en) | Serialisation of system events in a multiprocessing system | |
Kulkarni et al. | Effects of checkpointing and queuebsfg on program performance | |
Weiderman et al. | Hartstone uniprocessor benchmark: Definitions and experiments for real-time systems | |
JP3243849B2 (en) | Task scheduling device | |
CN1449522A (en) | Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate in | |
US20030204547A1 (en) | Technique for scheduling computer processes | |
CN109542069B (en) | Distributed control system and method based on time and event hybrid driving | |
Tia et al. | A linear-time optimal acceptance test for scheduling of hard real-time tasks | |
US5611073A (en) | Method of ensuring parameter coherency in a multi-processor system | |
Yerraballi et al. | Issues in schedulability analysis of real-time systems | |
US6976107B2 (en) | Adaptive spin latches | |
EP1011045B1 (en) | Object-oriented job scheduler | |
JP2010224812A (en) | Job management system and method | |
US8621471B2 (en) | High accuracy timer in a multi-processor computing system without using dedicated hardware timer resources | |
Fredericks | Analysis of a Class of Schedules for Computer Systems with Real Time Applications. | |
CN112148550B (en) | Method, apparatus and computer program product for managing services | |
CN112817811B (en) | Method, device, equipment and storage medium for predicting scanning failure rate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010925 |
|
LAPS | Cancellation because of no payment of annual fees |