JPH0535506A - Program dispatch processing system - Google Patents
Program dispatch processing systemInfo
- Publication number
- JPH0535506A JPH0535506A JP18602591A JP18602591A JPH0535506A JP H0535506 A JPH0535506 A JP H0535506A JP 18602591 A JP18602591 A JP 18602591A JP 18602591 A JP18602591 A JP 18602591A JP H0535506 A JPH0535506 A JP H0535506A
- Authority
- JP
- Japan
- Prior art keywords
- request
- data processing
- program
- processing
- task
- 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.)
- Withdrawn
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数タスクを利用して
1つのデータ処理要求を処理していく構成を採るデータ
処理装置においてのプログラムディスパッチ処理方式に
関し、特に、高い優先度のデータ処理要求に対してのプ
ログラムを確実に優先的にディスパッチできるようにす
るプログラムディスパッチ処理方式に関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program dispatch processing method in a data processing apparatus having a configuration in which a plurality of tasks are used to process one data processing request, and particularly to a high priority data processing request. The present invention relates to a program dispatch processing method for surely dispatching a program for a.
【0002】オンラインシステム等に利用される計算機
では、一般に、複数のタスクで複数のプログラムを一度
に動作させることができる。このような計算機におい
て、異常時のリカバリ処理要求のような緊急に処理すべ
きデータ処理要求が生ずる場合には、他の低い優先度の
データ処理要求よりも優先的に多くのタスクを割り当て
たり、タスク毎に優先度を設けて高い優先度のタスクに
その要求に対する処理をディスパッチしている。この場
合、高い優先度のデータ処理要求に対してのプログラム
が確実に優先的にディスパッチされる構成にしていく必
要がある。In a computer used for an online system or the like, generally, a plurality of programs can be operated at a time by a plurality of tasks. In such a computer, when a data processing request to be urgently processed, such as a recovery processing request at the time of an abnormality, occurs, more tasks are preferentially assigned than other low priority data processing requests, A priority is set for each task, and the processing for the request is dispatched to the task with the higher priority. In this case, it is necessary to ensure that the program for a high-priority data processing request is dispatched with priority.
【0003】[0003]
【従来の技術】従来では、タスク毎にデータ処理要求の
優先度を管理する要求キューターミナルを備えて、タス
ク上で動作するディスパッチャプログラムが、優先度の
高い順に、各データ処理要求を処理するプログラムをデ
ィスパッチしていく構成を採っていた。2. Description of the Related Art Conventionally, a dispatcher program operating on a task is provided with a request queue terminal for managing the priority of data processing requests for each task, and a program for processing each data processing request in descending order of priority. Was adopted for dispatching.
【0004】すなわち、図5に示すように、データ処理
要求の優先度を管理する要求キューターミナル1を備え
て、この要求キューターミナル1に、処理要求の制御表
2をキューイングする構成を採る。そして、タスク上で
動作するディスパッチャプログラム3は、図6の処理フ
ローに示すように、優先度の高い順にキューを先頭から
参照することで処理要求の制御表2を特定して、その特
定した制御表2に対応するプログラムを呼び出していく
とともに、キューのリンクを張り替えていくことで、優
先度の高い順に各データ処理要求を処理するプログラム
をディスパッチしていく構成を採っていたのである。こ
の構成により、図5の例で説明するならば、からの
順番の制御表2に対応付けられるプログラムが順番にデ
ィスパッチされていったのである。That is, as shown in FIG. 5, a request queue terminal 1 for managing the priority of a data processing request is provided, and a control table 2 for processing requests is queued in the request queue terminal 1. Then, as shown in the processing flow of FIG. 6, the dispatcher program 3 operating on the task specifies the processing request control table 2 by referring to the queues in order from the highest priority, and specifies the specified control. The program corresponding to Table 2 is called and the links of the queue are changed, so that the program for processing each data processing request is dispatched in descending order of priority. With this configuration, if the example of FIG. 5 is explained, the programs associated with the control table 2 in the order from were dispatched in order.
【0005】[0005]
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術では、複数タスクを利用して1つのデータ
処理要求を処理していく場合に、高い優先度のデータ処
理要求に対してのプログラムが優先的にディスパッチさ
れないことが起こるという問題点があった。However, in such a conventional technique, when a plurality of tasks are used to process one data processing request, a program for a high priority data processing request is executed. There was a problem that it was not dispatched preferentially.
【0006】すなわち、図7に示すように、高い優先度
のデータ処理要求のプログラムが、タスクAで或るフ
ェーズの処理を行った後にタスクBに制御を受け渡して
タスクA上のディスパッチャプログラム3に復帰する
と、このディスパッチャプログラム3は、次の優先度の
データ処理要求のプログラムをディスパッチしていく
ことになる。これから、タスクBの処理結果を元にして
次のフェーズの高い優先度のデータ処理要求のプログ
ラムをタスクAで実行しようとしても、低い優先度のデ
ータ処理要求によりタスクAが占有されているため
に、その実行が遅れてしまうという問題点があったので
ある。That is, as shown in FIG. 7, a program having a high-priority data processing request passes control to task B after processing of a certain phase in task A and transfers it to dispatcher program 3 on task A. When returning, this dispatcher program 3 will dispatch the program of the data processing request of the next priority. From now on, even if an attempt is made to execute a program of a high priority data processing request of the next phase on the basis of the processing result of the task B, the task A is occupied by the low priority data processing request. However, there was a problem that the execution was delayed.
【0007】本発明はかかる事情に鑑みてなされたもの
であって、複数タスクを利用して1つのデータ処理要求
を処理していく構成を取るデータ処理装置において、高
い優先度のデータ処理要求に対してのプログラムを確実
に優先的にディスパッチできるようにする新たなプログ
ラムディスパッチ処理方式の提供を目的とする。The present invention has been made in view of such circumstances, and in a data processing device configured to process one data processing request by utilizing a plurality of tasks, a high priority data processing request is processed. It is an object of the present invention to provide a new program dispatch processing method that ensures that a program for the same can be dispatched with priority.
【0008】[0008]
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、10は本発明により構成されるデー
タ処理装置であって、オペレーティングシステム11
と、データ処理要求を受け付ける要求受付タスク12
と、要求受付タスク12から制御が渡されてデータ処理
を実行する1つ又は複数のタスク13と、要求キュータ
ーミナル14とを備える。FIG. 1 illustrates the principle configuration of the present invention. In the figure, 10 is a data processing device configured according to the present invention, and an operating system
And a request reception task 12 that receives a data processing request
And a request queue terminal 14 and one or more tasks 13 to which control is passed from the request receiving task 12 to execute data processing.
【0009】要求受付タスク12は、データ処理要求に
応答する処理を実行する複数のプログラム15と、これ
らのプログラム15のディスパッチ処理を実行するディ
スパッチャ手段16とを展開する。要求キューターミナ
ル14は、要求受付タスク12により受け付けられたデ
ータ処理要求を優先度別にリンクするリンク域17と、
実行中のデータ処理要求をリンクする処理中リンク域1
8とを備える構成を採るものであって、このリンク域1
7は、データ処理要求を表示する要求テーブル19を優
先度別にリンクし、処理中リンク域18は、データ処理
中の要求テーブル19をリンクする。これらの要求テー
ブル19には、データ処理要求の処理依頼を表示する処
理依頼制御表20がリンクされることになる。The request accepting task 12 develops a plurality of programs 15 for executing processing in response to a data processing request, and dispatcher means 16 for executing dispatch processing of these programs 15. The request queue terminal 14 includes a link area 17 for linking the data processing requests accepted by the request acceptance task 12 by priority.
In-process link area 1 for linking data processing requests in execution
8 and the link area 1
7 links request tables 19 displaying data processing requests by priority, and the in-process link area 18 links request tables 19 in data processing. A processing request control table 20 that displays processing requests for data processing requests is linked to these request tables 19.
【0010】要求受付タスク12は、外部から初めてデ
ータ処理要求を受け付けると、要求テーブル19を作成
して優先度別にリンク域17にリンクする。また、外部
から初めてデータ処理要求を受け付けるときと、内部的
に他タスク13と同期を取って要求受付タスク12で処
理を実行するときに、処理依頼制御表20を作成して要
求テーブル19にリンクする。When the request receiving task 12 receives a data processing request from the outside for the first time, it creates a request table 19 and links it to the link area 17 by priority. In addition, when a data processing request is received from the outside for the first time and when the processing is executed by the request receiving task 12 internally in synchronization with another task 13, the processing request control table 20 is created and linked to the request table 19. To do.
【0011】[0011]
【作用】本発明では、ディスパッチャ手段16は、プロ
グラム処理の終了時点において、要求キューターミナル
14の処理中リンク域18に要求テーブル19がリンク
されているときに、その要求テーブル19よりも高い優
先度の要求テーブル19があるときには、その高い要求
テーブル19の内の最も高い優先度の要求テーブル19
にリンクされる処理依頼制御表20を探して、その処理
依頼制御表20の指すプログラム15を要求受付タスク
12上で動作させるとともに、処理中リンク域18がそ
の最も高い優先度の要求テーブル19をリンクするよう
に設定する。そして、処理中リンク域18に要求テーブ
ル19がリンクされているものの、その要求テーブル1
9よりも高い優先度の要求テーブル19がないときに
は、その要求テーブル19にリンクされる処理依頼制御
表20を探して、その処理依頼制御表20の指すプログ
ラム15を要求受付タスク12上で動作させる。In the present invention, the dispatcher means 16 has a higher priority than the request table 19 when the request table 19 is linked to the in-process link area 18 of the request queue terminal 14 at the end of the program processing. If there is a request table 19 of the highest priority request table 19 among the high request tables 19,
Is searched for, the program 15 indicated by the process request control table 20 is operated on the request receiving task 12, and the in-process link area 18 displays the request table 19 having the highest priority. Set to link. Although the request table 19 is linked to the processing link area 18, the request table 1
When there is no request table 19 having a higher priority than 9, the process request control table 20 linked to the request table 19 is searched and the program 15 indicated by the process request control table 20 is run on the request accepting task 12. ..
【0012】一方、処理中リンク域18に要求テーブル
19がリンクされていないときには、要求キューターミ
ナル14にリンクされる要求テーブル19を優先度順に
サーチして、最も高い優先度の要求テーブル19を特定
し、その要求テーブル19にリンクされる処理依頼制御
表20を探して、その処理依頼制御表20の指すプログ
ラム15を要求受付タスク12上で動作させるととも
に、処理中リンク域18がその最も高い優先度の要求テ
ーブル19をリンクするように設定する。このとき、処
理依頼制御表20が見つからない場合には、ディスパッ
チャ手段16は、オペレーティングシステム11に復帰
し、要求受付タスク12は、データ処理要求を受け取る
までの間何も動作しない状態に入る。On the other hand, when the request table 19 is not linked to the in-process link area 18, the request table 19 linked to the request queue terminal 14 is searched in order of priority, and the request table 19 with the highest priority is specified. Then, the processing request control table 20 linked to the request table 19 is searched, the program 15 pointed to by the processing request control table 20 is run on the request receiving task 12, and the processing link area 18 has the highest priority. The degree request table 19 is set to be linked. At this time, if the processing request control table 20 is not found, the dispatcher means 16 returns to the operating system 11, and the request receiving task 12 enters a state in which nothing is done until it receives the data processing request.
【0013】このようにして、起動されると、要求受付
タスク12上で動作するプログラム15は、規定のデー
タ処理を実行し、必要に応じて、タスク13上で動作す
るプログラムを起動していく。一方、このようにして起
動されると、タクス13上で動作するプログラムは、必
要に応じて、呼び出し元となる処理中リンク域18の要
求テーブル19に新たな処理依頼制御表20をリンクし
ていく。When activated in this way, the program 15 operating on the request receiving task 12 executes prescribed data processing, and activates the program operating on the task 13 as necessary. .. On the other hand, when activated in this way, the program operating on the tax 13 links a new processing request control table 20 to the request table 19 of the in-process link area 18 that is the calling source, if necessary. Go
【0014】そして、要求受付タスク12上で動作する
プログラム15は、プログラム処理を終了すると、ディ
スパッチャ手段16に対して、処理中リンク域18にリ
ンクされる要求テーブル19にリンクされる最後の処理
依頼制御表20の指すものであるか否かを通知するの
で、ディスパッチャ手段16は、この通知を受けて、最
後の処理依頼制御表20の指すプログラム処理である場
合には、その要求テーブル19とその処理依頼制御表2
0とを回収し、一方、最後の処理依頼制御表20の指す
プログラム処理でない場合には、その処理依頼制御表2
0のみを回収していく。When the program 15 running on the request receiving task 12 finishes the program processing, it sends a final processing request linked to the request table 19 linked to the processing link area 18 to the dispatcher means 16. Since the dispatcher means 16 is notified of whether or not it is the one indicated by the control table 20, the dispatcher means 16 receives this notice and, in the case of the program process indicated by the last process request control table 20, the request table 19 and its request table 19. Processing request control table 2
0 is collected, and if it is not the program processing indicated by the last processing request control table 20, the processing request control table 2
Collect only 0.
【0015】この本発明の処理に従って、以下に説明す
るように、複数タスクを利用して1つのデータ処理要求
を処理していく場合に、高い優先度のデータ処理要求に
対してのプログラムが確実に優先的にディスパッチされ
ることになる。以下、説明の便宜上、図1に示すよう
に、処理中リンク域18にリンク(リンク域17の
「高」にもリンク)される要求テーブル19を要求テー
ブルa、この要求テーブルaにリンクされる2つの処理
依頼制御表20を処理依頼制御表a-1,a-2と表し、リ
ンク域17の「中」にリンクされる要求テーブル19を
要求テーブルb、この要求テーブルbにリンクされる処
理依頼制御表20を処理依頼制御表b-1と表すものとす
る。According to the processing of the present invention, as will be described below, when a single data processing request is processed using a plurality of tasks, a program for a high priority data processing request is guaranteed. Will be dispatched preferentially. Hereinafter, for convenience of explanation, as shown in FIG. 1, the request table 19 linked to the in-process link area 18 (also linked to “high” in the link area 17) is linked to the request table a and the request table a. The two processing request control tables 20 are referred to as processing request control tables a-1 and a-2, the request table 19 linked to "medium" in the link area 17 is the request table b, and the processing linked to this request table b. The request control table 20 will be referred to as a process request control table b-1.
【0016】要求受付タスク12上で動作する処理依頼
制御表a-1のプログラム15が、タスク13にメッセー
ジで処理を依頼し、このメッセージを受けて、タスク1
3上で動作する対応のプログラムがデータ処理を実行し
て、処理依頼制御表a-2を処理依頼制御表a-1にリンク
していく。このとき、処理依頼制御表a-1のプログラム
15は、プログラム処理を終了すると、上述の処理に従
って、ディスパッチャ手段16に対して要求テーブルa
の最後の処理依頼でないことを通知する。ディスパッチ
ャ手段16は、この通知を受け取ると、要求テーブルa
が要求テーブルbよりも優先度が高く、かつ要求テーブ
ルaを処理中リンク域18から外す条件とはならないの
で、上述の処理に従って、要求テーブルbの処理依頼制
御表b-1のプログラム15を要求受付タスク12上で動
作させない。これから、タスク13で処理を終了して、
その処理結果に従って要求受付タスク12で動作するこ
とになる処理依頼制御表a-2のプログラム15は、直ち
に要求受付タスク12上で動作することができることに
なる。The program 15 of the processing request control table a-1 operating on the request acceptance task 12 requests the task 13 to process by a message, and upon receipt of this message, the task 1
The corresponding program that operates on 3 executes data processing to link the processing request control table a-2 to the processing request control table a-1. At this time, when the program 15 of the processing request control table a-1 finishes the program processing, the program 15 of the processing request control table a-1 sends the request table a to the dispatcher means 16 in accordance with the above processing.
Notify that it is not the last processing request. Upon receiving this notification, the dispatcher means 16 receives the request table a.
Has a higher priority than the request table b and does not become a condition for removing the request table a from the link area 18 being processed. Therefore, the program 15 of the process request control table b-1 of the request table b is requested according to the above processing. Do not operate on the reception task 12. From now on, the processing is completed in task 13,
The program 15 of the process request control table a-2, which is to be operated by the request reception task 12 according to the processing result, can immediately operate on the request reception task 12.
【0017】この処理依頼制御表a-2のプログラム15
は、プログラム処理を終了すると、上述の処理に従っ
て、ディスパッチャ手段16に対して要求テーブルaの
最後の処理依頼であることを通知するので、ディスパッ
チャ手段16は、要求テーブルbを処理中リンク域18
にリンクして、処理依頼制御表b-1のプログラム15を
要求受付タスク12上で動作させていく。このようにし
て、要求受付タスク12上では、処理依頼制御表a-1の
プログラム15、処理依頼制御表a-2のプログラム1
5、処理依頼制御表b-1のプログラム15の順にディス
パッチされていくことになる。Program 15 of this processing request control table a-2
When the program processing is completed, the notification of the last processing request of the request table a is sent to the dispatcher means 16 according to the above-mentioned processing.
The program 15 of the processing request control table b-1 is operated on the request reception task 12 by linking to the. Thus, on the request reception task 12, the program 15 of the processing request control table a-1 and the program 1 of the processing request control table a-2
5. The program 15 in the processing request control table b-1 is dispatched in this order.
【0018】このように、本発明によれば、複数タスク
を利用して1つのデータ処理要求を処理していく構成を
取るデータ処理装置において、高い優先度のデータ処理
要求に対してのプログラムを確実に優先的にディスパッ
チできるようになる。As described above, according to the present invention, in a data processing device configured to process one data processing request using a plurality of tasks, a program for a high priority data processing request is set. It will definitely be possible to dispatch with priority.
【0019】[0019]
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に示すように、複数タスクの制御と、そのタス
ク間でのメッセージによる制御のやり取りの可能である
オペレーティングシステムにおいて、タスクA〜Dとい
う4つのタスクを起動してデータ処理を実行するデータ
処理装置を実施例として想定する。そして、この4つの
タスクの内、タスクAを外部の端末からのコマンドを受
け付けるタスク、その他のタスクB〜Dをそれぞれが並
列処理の可能な処理タスクであることを想定し、タスク
Aは、端末からのコマンドを受け付けて、タスクB〜D
の内の対応するタスクに制御を渡し、この制御が渡され
ると、タスクB〜Dは、規定のデータ処理を実行してタ
スクAに制御を戻し、タスクB〜Dから制御が戻ると、
タスクAは、コマンドの発行元の端末に対してコマンド
の応答を返す処理を実行していくことを想定する。ここ
で、図2中、16aは、タスクA上で動作するディスパ
ッチャプログラムである。The present invention will be described in detail below with reference to examples. As shown in FIG. 2, in an operating system capable of controlling a plurality of tasks and exchanging control by messages between the tasks, a data process for activating four tasks A to D to execute a data process. Assume a device as an example. Then, among these four tasks, it is assumed that task A is a task that accepts a command from an external terminal, and other tasks B to D are processing tasks that can perform parallel processing. Accepts commands from task B-D
When the control is passed to the corresponding task among the tasks, the tasks B to D execute the prescribed data processing to return the control to the task A, and when the tasks B to D return the control,
It is assumed that the task A executes processing for returning a command response to the terminal that issued the command. Here, 16a in FIG. 2 is a dispatcher program that operates on task A.
【0020】このようなデータ処理装置において、タス
クAが低い優先度のコマンドの要求を受け付けた後
に、異常が発生して緊急にその異常をリカバリするコマ
ンドの要求を続いて受け付けるときに、本発明が有効
なものとなる。すなわち、このような場合、本発明を実
現するために備える図1で説明した要求キューターミナ
ル14は、図3に示すように、リンク域17の「中」に
コマンドの要求テーブル19がリンクされるととも
に、リンク域17の「高」にコマンドの要求テーブル
19がリンクされる。そして、コマンドの要求テーブ
ル19に、コマンドの処理依頼制御表20である処理
依頼-1と、タスクBからの処理依頼制御表20である
処理依頼-2とがリンクされるとともに、コマンドの
要求テーブル19に、コマンドの処理依頼制御表20
である処理依頼-1と、タスクCからの処理依頼制御表
20である処理依頼-2とがリンクされることになる。In such a data processing device, when the task A receives a request for a command with a low priority and then subsequently receives a request for a command for urgently recovering the error, the present invention Will be effective. That is, in such a case, the request queue terminal 14 described in FIG. 1 provided for realizing the present invention has a command request table 19 linked to “medium” in the link area 17 as shown in FIG. At the same time, the command request table 19 is linked to “high” in the link area 17. Then, the command request table 19 is linked with the process request-1 which is the command process request control table 20 and the process request-2 which is the process request control table 20 from the task B, and the command request table 19, a command processing request control table 20
The processing request-1 which is the processing request and the processing request-2 which is the processing request control table 20 from the task C are linked.
【0021】このコマンド/に対しての具体的な処
理の説明に入る前に、図4の処理フローに従って、タス
クA上で動作するディスパッチャプログラム16aの実
行する処理について詳細に説明する。Before starting the description of the specific processing for this command /, the processing executed by the dispatcher program 16a operating on the task A will be described in detail according to the processing flow of FIG.
【0022】タスクA上で動作するディスパッチャプロ
グラム16aは、プログラム処理の終了時点において、
図4の処理フローに示すように、先ず最初に、ステップ
1で、処理中リンク域18に要求テーブル19がリンク
されているか否かを判断する。この判断により、処理中
リンク域18に何も要求テーブル19がリンクされてい
ないと判断するときには、ステップ2に進んで、要求キ
ューターミナル14の全リンク域17にリンクされる要
求テーブル19を優先度順にサーチして、最も高い優先
度の要求テーブル19と、その要求テーブル19にリン
クされる処理依頼制御表20とを見つける。一方、この
ステップ1の判断により、処理中リンク域18に要求テ
ーブル19がリンクされていると判断するときには、ス
テップ3に進んで、処理中リンク域18にリンクされる
要求テーブル19よりも高い優先度の要求テーブル19
をサーチして、その高い要求テーブル19の内の最も高
い優先度の要求テーブル19と、その要求テーブル19
にリンクされる処理依頼制御表20とを見つける。この
とき、処理中リンク域18にリンクされる要求テーブル
19よりも高い優先度の要求テーブル19がない場合に
は、その処理中リンク域18にリンクされる要求テーブ
ル19と、その要求テーブル19にリンクされる処理依
頼制御表20とを見つけることになる。The dispatcher program 16a operating on the task A, at the end of the program processing,
As shown in the processing flow of FIG. 4, first, in step 1, it is determined whether or not the request table 19 is linked to the processing link area 18. If it is determined that no request table 19 is linked to the in-process link area 18 by this determination, the process proceeds to step 2 and the request table 19 linked to all the link areas 17 of the request queue terminal 14 is prioritized. The sequential search is performed to find the request table 19 having the highest priority and the process request control table 20 linked to the request table 19. On the other hand, if it is determined in step 1 that the request table 19 is linked to the in-process link area 18, the process proceeds to step 3 to give a higher priority to the request table 19 linked to the in-process link area 18. Degree request table 19
For the highest priority request table 19 among the high request tables 19 and the request table 19
And the processing request control table 20 linked to. At this time, if there is no request table 19 having a higher priority than the request table 19 linked to the processing link area 18, the request table 19 linked to the processing link area 18 and the request table 19 The linked processing request control table 20 will be found.
【0023】ステップ2及びステップ3の処理に従っ
て、要求テーブル19が見つからない場合、すなわち、
処理依頼制御表20が見つからない場合には、ステップ
4を介してそのまま処理を終了する。一方、要求テーブ
ル19が見つかる場合には、ステップ4を介してステッ
プ5に進んで、この見つけた要求テーブル19を処理中
リンク域18にリンクする。そして、続くステップ6
で、この見つけた処理依頼制御表20の指すタスクA上
のプログラムを呼び出していく。このようにしてディス
パッチャプログラム16aにより呼び出されると、タス
クA上のプログラムは、タスクB〜Dの内の対応するタ
スクに制御を渡し、この制御が渡されると、タスクB〜
Dは、規定のデータ処理を実行し、必要に応じて、呼び
出し元となる処理中リンク域18の要求テーブル19に
新たな処理依頼制御表20をリンクしていく。そして、
タスクA上のプログラムは、プログラム処理を終了する
と、ディスパッチャプログラム16aに対して、要求テ
ーブル19にリンクされる最後の処理依頼制御表20の
指すものであるか否かを通知してくるので、ディスパッ
チャプログラム16aは、ステップ7で、この通知を判
断して、最後の処理依頼制御表20であることを判断す
るときには、ステップ8に進んで、その要求テーブル1
9とその処理依頼制御表20とを回収し、一方、最後の
処理依頼制御表20でないことを判断するときには、ス
テップ9に進んで、その処理依頼制御表20のみを回収
してから、ステップ1に戻るよう処理する。When the request table 19 is not found according to the processing of steps 2 and 3, that is,
When the processing request control table 20 is not found, the processing is ended as it is through step 4. On the other hand, if the request table 19 is found, the process proceeds to step 5 via step 4, and the found request table 19 is linked to the in-process link area 18. And the following step 6
Then, the program on the task A indicated by the found process request control table 20 is called. When called by the dispatcher program 16a in this manner, the program on the task A passes control to the corresponding task of the tasks B to D, and when this control is passed, the task B to
D executes a prescribed data process, and links a new process request control table 20 to the request table 19 in the in-process link area 18 which is the calling source, if necessary. And
When the program on the task A ends the program processing, the program on the task A notifies the dispatcher program 16a whether or not the last processing request control table 20 linked to the request table 19 indicates it. When the program 16a determines this notification in step 7 and determines that it is the last processing request control table 20, the program 16a proceeds to step 8 to request the request table 1
9 and its processing request control table 20 are collected. On the other hand, when it is determined that the processing request control table 20 is not the last one, the process proceeds to step 9, and only the processing request control table 20 is collected, and then step 1 Return to.
【0024】次に、このディスパッチャプログラム16
aの実行する処理に従って、図2及び図3に示した上述
のコマンド/に対して実行されることになる処理に
ついて説明する。Next, this dispatcher program 16
A process to be executed for the above-mentioned command / shown in FIGS. 2 and 3 according to the process executed by a will be described.
【0025】タスクAのディスパッチャプログラム16
aは、端末から低い優先度のコマンドを受け取ると、
上述の処理に従って処理依頼-1の指すプログラムを起
動する。このようにして起動されると、処理依頼-1の
指すプログラムは、図2に示すように、その制御をメッ
セージでタスクBに渡し、この制御を受け取るタスクB
上のプログラムは、コマンドの処理を実行して新たな
処理依頼-2を生成していく。このとき、緊急を要する
高い優先度のコマンドが未だ発行されていないので、
処理中リンク域18は、コマンドの要求テーブル19
をリンクしている。続いて、上述したように、緊急を要
する高い優先度のコマンドが端末から発行されてくる
ことになる。そして、処理依頼-1の指すプログラム
は、ディスパッチャプログラム16aに対して、最後の
処理依頼制御表20でないことを通知して復帰する。Dispatcher program 16 for task A
When a receives a low priority command from the terminal,
The program indicated by process request-1 is started according to the above process. When activated in this way, the program pointed to by process request-1 passes its control to task B as a message and receives this control, as shown in FIG.
The above program executes command processing and creates a new processing request-2. At this time, a high priority command that requires urgency has not yet been issued, so
The in-process link area 18 has a command request table 19
Are linked. Then, as described above, the terminal issues a command of high priority which requires urgent attention. Then, the program indicated by the processing request-1 notifies the dispatcher program 16a that it is not the final processing request control table 20, and returns.
【0026】ディスパッチャプログラム16aは、この
復帰を受けて、上述の処理に従って、コマンドが処理
中にも関わらず、コマンドの処理依頼-1を見つけ
て、その処理依頼-1の指すプログラムを起動するとと
もに、コマンドの要求テーブル19を処理中リンク域
18にリンクする。このようにして起動されると、処理
依頼-1の指すプログラムは、図2に示すように、その
制御をメッセージでタスクCに渡し、この制御を受け取
るタスクC上のプログラムは、コマンドの処理を実行
して新たな処理依頼-2を生成していく。そして、処理
依頼-1の指すプログラムは、ディスパッチャプログラ
ム16aに対して、最後の処理依頼制御表20でないこ
とを通知して復帰する。In response to this return, the dispatcher program 16a finds a command processing request-1 and starts the program indicated by the processing request-1 according to the above-mentioned processing even though the command is being processed. , The command request table 19 is linked to the in-process link area 18. When activated in this way, the program pointed to by process request-1 passes its control to the task C as a message as shown in FIG. 2, and the program on task C that receives this control processes the command. Execute to generate new processing request-2. Then, the program indicated by the processing request-1 notifies the dispatcher program 16a that it is not the final processing request control table 20, and returns.
【0027】一方、処理依頼-1の指すプログラムによ
り制御の渡されたタスクB上のプログラムは、コマンド
の処理を終了するとタスクAに制御を戻していく。こ
のとき、ディスパッチャプログラム16aは、処理中リ
ンク域18がコマンドの要求テーブル19をリンクし
ていることから、上述の処理に従って、タスクBからコ
マンドの処理の終了通知を受け取っても、次の処理依
頼-2の指すプログラムを呼び出さずにオペレーティン
グシステムに復帰していくことになる。On the other hand, the program on the task B to which the control is passed by the program indicated by the processing request-1 returns the control to the task A when the processing of the command is completed. At this time, since the in-process link area 18 links the command request table 19 at this time, the dispatcher program 16a receives the next process request even if the command B finish notification is received from the task B according to the above process. -It will return to the operating system without calling the program pointed to by 2.
【0028】その後、処理依頼の指すプログラムによ
り制御の渡されたタスクC上のプログラムは、コマンド
の処理を終了するとタスクAに制御を戻していくこと
になるが、このときには、ディスパッチャプログラム1
6aは、上述の処理に従って、直ちに処理依頼-2の指
すプログラムを呼び出してタスクA上で実行する。この
処理依頼-2の指すプログラムは、処理を終了すると、
ディスパッチャプログラム16aに対して、最後の処理
依頼制御表20であることを通知して復帰する。この復
帰を受けて、ディスパッチャプログラム16aは、上述
の処理に従って、コマンドの要求テーブル19を処理
中リンク域18にリンクするとともに、処理依頼-2の
指すプログラムを呼び出してタスクA上で実行し、この
処理依頼-2の指すプログラムは、処理を終了すると、
ディスパッチャプログラム16aに対して、最後の処理
依頼制御表20であることを通知して復帰する。After that, the program on the task C to which the control is passed by the program pointed to by the processing request returns control to the task A when the command processing is completed. At this time, the dispatcher program 1
6a immediately calls the program pointed to by process request-2 and executes it on task A in accordance with the above process. The program pointed to by this processing request-2, when the processing ends,
The dispatcher program 16a is notified that the processing request control table 20 is the last one, and the process returns. In response to this return, the dispatcher program 16a links the command request table 19 to the in-process link area 18 and calls the program pointed to by the process request-2 and executes it on the task A in accordance with the above-mentioned process. The processing pointed to by the program pointed to by process request-2 is
The dispatcher program 16a is notified that the processing request control table 20 is the last one, and the process returns.
【0029】このようにして、高い優先度のコマンド
のプログラムの方が、低い優先度のコマンドのプログ
ラムよりもタスクA上で優先的に呼び出されて実行され
ていくことで、コマンドの要求の方が、コマンドの
要求よりも先に処理を終了していくことになるのであ
る。In this way, the command of the higher priority command is called and executed on the task A with priority over the program of the lower priority command, so that the command request is issued. However, the processing will be terminated before the command is requested.
【0030】[0030]
【発明の効果】以上説明したように、本発明によれば、
複数タスクを利用して1つのデータ処理要求を処理して
いく構成を採るデータ処理装置において、高い優先度の
データ処理要求に対してのプログラムが確実に優先的に
ディスパッチされるようになる。これにより、低い優先
度のデータ処理要求を受け付けた後に高い優先度のデー
タ処理要求を受け付けた場合に、高い優先度のデータ処
理要求に対する処理が低い優先度の処理中に割り込まれ
て処理されることになって、高い優先度のデータ処理要
求の方が先に処理を終了していくことになるのである。As described above, according to the present invention,
In a data processing device configured to process one data processing request using a plurality of tasks, a program for a high priority data processing request is reliably dispatched preferentially. As a result, when a high priority data processing request is received after a low priority data processing request is received, the processing for the high priority data processing request is interrupted and processed during the low priority processing. As a result, the higher priority data processing request ends the processing first.
【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.
【図2】本発明の一実施例である。FIG. 2 is an example of the present invention.
【図3】本発明の一実施例である。FIG. 3 is an example of the present invention.
【図4】ディスパッチャプログラムの実行する処理フロ
ーの一実施例である。FIG. 4 is an example of a processing flow executed by a dispatcher program.
【図5】従来技術の説明図である。FIG. 5 is an explanatory diagram of a conventional technique.
【図6】従来技術の説明図である。FIG. 6 is an explanatory diagram of a conventional technique.
【図7】従来技術の問題点の説明図である。FIG. 7 is an explanatory diagram of a problem of the conventional technique.
10 データ処理装置 11 オペレーティングシステム 12 要求受付タスク 13 タスク 14 要求キューターミナル 15 プログラム 16 ディスパッチャ手段 17 リンク域 18 処理中リンク域 19 要求テーブル 20 処理依頼制御表 10 Data Processing Device 11 Operating System 12 Request Reception Task 13 Task 14 Request Queue Terminal 15 Program 16 Dispatcher Means 17 Link Area 18 Processing Link Area 19 Request Table 20 Processing Request Control Table
Claims (1)
スク(12)と、該要求受付タスク(12)から制御が渡されて
データ処理を実行する1つ又は複数のタスク(13)とを備
えるデータ処理装置において、 上記要求受付タスク(12)により受け付けられたデータ処
理要求を優先度別にリンクするとともに、実行中のデー
タ処理要求を管理する要求キューターミナル(14)を備
え、 上記要求受付タスク(12)上で動作するディスパッチャ手
段(16)は、プログラム処理の終了時点において、上記要
求キューターミナル(14)が実行中のデータ処理要求を管
理するときに、該データ処理要求よりも高い優先度のデ
ータ処理要求があるときには、その高いデータ処理要求
の内の最も高い優先度のデータ処理要求に対応付けられ
るプログラムをディスパッチするとともに、該データ処
理要求を実行中のものとして管理し、高いデータ処理要
求がないときには、その実行中のデータ処理要求に対応
付けられるプログラムをディスパッチし、一方、実行中
のデータ処理要求を管理していないときには、最も高い
優先度のデータ処理要求に対応付けられるプログラムを
ディスパッチするとともに、該データ処理要求を実行中
のものとして管理していくよう処理することを、特徴と
するプログラムディスパッチ処理方式。What is claimed is: 1. A request receiving task (12) for receiving a data processing request, and one or a plurality of tasks (13) for executing data processing when control is passed from the request receiving task (12). ) And a data processing device comprising a request queue terminal (14) for managing the data processing requests being executed, while linking the data processing requests received by the request receiving task (12) by priority. The dispatcher means (16) operating on the request receiving task (12) has a higher priority than the data processing request when managing the data processing request being executed by the request queue terminal (14) at the end of the program processing. When there is a high priority data processing request, the program associated with the highest priority data processing request of the high priority data processing requests is dispatched. At the same time, the data processing request is managed as being executed, and when there is no high data processing request, the program associated with the data processing request being executed is dispatched, while the data processing request being executed is managed. A program dispatch processing method characterized by dispatching a program associated with a data processing request having the highest priority and processing the data processing request such that the data processing request is managed as being being executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18602591A JPH0535506A (en) | 1991-07-25 | 1991-07-25 | Program dispatch processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18602591A JPH0535506A (en) | 1991-07-25 | 1991-07-25 | Program dispatch processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0535506A true JPH0535506A (en) | 1993-02-12 |
Family
ID=16181083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18602591A Withdrawn JPH0535506A (en) | 1991-07-25 | 1991-07-25 | Program dispatch processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0535506A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH076043A (en) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | Multithread server |
JP2007519061A (en) * | 2003-12-26 | 2007-07-12 | 松下電器産業株式会社 | Task scheduling apparatus, task scheduling method, task scheduling program, recording medium, and transmission medium |
-
1991
- 1991-07-25 JP JP18602591A patent/JPH0535506A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH076043A (en) * | 1993-03-05 | 1995-01-10 | Mitsubishi Electric Corp | Multithread server |
JP2007519061A (en) * | 2003-12-26 | 2007-07-12 | 松下電器産業株式会社 | Task scheduling apparatus, task scheduling method, task scheduling program, recording medium, and transmission medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06243070A (en) | Inter-processor communication system | |
JPH0535506A (en) | Program dispatch processing system | |
JP2915074B2 (en) | Event dequeueing method in multitask processing system | |
JP2500446B2 (en) | Collective message processing system with intermittent operation function | |
JPH07168704A (en) | Job execution control system | |
JPH06214914A (en) | Method for processing cooperative job among plural systems | |
JPH05134960A (en) | Local processing system | |
JPH06187171A (en) | Scheduling system for interruption | |
JPH01258135A (en) | Transaction execution control system | |
JPH04367942A (en) | Operation management processing system for system | |
JPH07114518A (en) | Task scheduling system of multiprocessor system | |
JPH06337796A (en) | Priority access controller | |
JPH03100752A (en) | Holding type input/output control system | |
JPH04305755A (en) | Batch processing method for computer system | |
JPH08292956A (en) | Device and method for data base management | |
JP2639348B2 (en) | Online program message receiving method | |
JPS6247761A (en) | On-line operational system by switched line | |
JPH04113442A (en) | Inter-processor communication system | |
JPH0778091A (en) | Multitask managing method | |
JPS6327942A (en) | Message input device | |
JPH02196359A (en) | Data processing system | |
JPH04139556A (en) | Retry control system | |
JPH0689192A (en) | Floating exclusive control system for online real time processing system | |
JPH0243657A (en) | Transaction processing scheduling system | |
JP2002229930A (en) | Dma control method and media processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19981008 |