JPS6337433A - Data processing system - Google Patents
Data processing systemInfo
- Publication number
- JPS6337433A JPS6337433A JP17993486A JP17993486A JPS6337433A JP S6337433 A JPS6337433 A JP S6337433A JP 17993486 A JP17993486 A JP 17993486A JP 17993486 A JP17993486 A JP 17993486A JP S6337433 A JPS6337433 A JP S6337433A
- Authority
- JP
- Japan
- Prior art keywords
- tasks
- task
- priority
- execution
- data 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
- 238000000034 method Methods 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、電子計算機あるいは情報通信システムに2け
るデータ処理方式に係り、特に、システムの状況により
データ処理の手順を再編成するようにしたデータ処理方
式に関する。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a data processing method in an electronic computer or an information communication system, and particularly to a data processing method that reorganizes data processing procedures depending on the system situation. Regarding data processing methods.
従来、亀子交換機システムのタスク(データ処理)のス
ケジューリング方式は、例えば、電子通信学会発行の「
電子交換プログラム入門」の第30頁〜第39頁に記載
のように、優先順位別のタスク待ち行列を優先順位の高
いものから順に調べ、高優先度の待ち行列が全て実行さ
れfc後に、次の順位の待ち行列を調べるというルール
で、タスク処理が行なわれている。Traditionally, the task (data processing) scheduling method of the Kameko switchboard system has been described, for example, in the "
As described on pages 30 to 39 of "Introduction to Electronic Exchange Programs," the task queues by priority are examined in descending order of priority, and after all high-priority queues have been executed and fc, the next Task processing is performed according to the rule of checking the queue with the rank of .
上記従米方式は、高優先度のタスクがある限シ、低優先
度のタスク処理は後まわしにすることを原則としている
ため、優先順位の低いデータ処理を一定時間内に実行さ
せることができないという問題があった。The problem with the above-mentioned method is that as long as there are high-priority tasks, processing of low-priority tasks is postponed until later, so lower-priority data processing cannot be executed within a certain amount of time. was there.
本発明の目的は、上記問題点を解決し、優先順位の低い
データ処理でも一定時間内に実行できるようにしたデー
タ処理方式を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing method that solves the above-mentioned problems and allows even data processing with a low priority to be executed within a certain period of time.
C問題点を解決するための手段〕
上記目的は、優先順位別の実行タスク数?力りンタによ
り制御し、高い優先度のタスクを所定数実行したら、次
の順位のタスクを少なくとも1つ実行し、再度、高い優
先度のタスク処理に戻る形式で、タスク処理を実行する
ことにより達成される。Means to solve problem C] Is the above purpose the number of executed tasks by priority? After executing a predetermined number of high-priority tasks, the system executes task processing in such a way that it executes at least one task in the next order, and then returns to high-priority task processing again. achieved.
杖も低いクラスを除いて、各優先順位別に実行カウンタ
全役け、各カウンタの初期値を予め定めておき、順位の
高いクラスのものから所定個数のタスクを処理したら、
次のクラスのタスクを処理するようにする。F位りラス
のタスクを処理する毎に、上位クラスの実行カウンタを
初期値に設定し、最上位クラスのタスクも埋に戻るよう
にすると、各実行カウンタの初期値に応じた頻度で、下
位クラスのタスクに周期的に実行機会が与えられるる。All execution counters and initial values for each counter are determined in advance for each priority level, except for low class ones, and once a predetermined number of tasks are processed starting from the highest class,
Let it handle the following class of tasks: Every time a task in rank F is processed, the execution counter of the upper class is set to the initial value, and the task of the highest class is also returned to its initial value. The tasks of the class are periodically given an opportunity to execute.
この場合、各カウンタの所期値を、システムの状況に応
じて可変に設定できるようにしておくことにより、最下
位クラスのタスクでも所定時間内に実行できるようにす
ることができる、〔実施例〕
以F、本発明の詳細を、電子交換システムを例にして、
図面を参照して説明する。In this case, by making it possible to set the desired value of each counter variably depending on the system situation, even the lowest class task can be executed within a predetermined time. ] Hereinafter, the details of the present invention will be explained using an electronic exchange system as an example.
This will be explained with reference to the drawings.
第1図は、優先順位RQOから几Q2までのタスク待ち
行列4,5.6を示す。FIG. 1 shows task queues 4, 5.6 from priorities RQO to Q2.
優先順位は、)IQOが最も高く、以下、R,Ql。)IQO has the highest priority, followed by R and Ql.
几Q2の順に低くなる。It becomes lower in the order of 几Q2.
優先順位几QOの待ち行列4には、例えば、システムの
障害処理のためのタスクA r −A atが並び、優
先順位R,Qlの待ち行列5には呼処理系のタスクB1
〜B1が並び、優先順位RQ2の待ち行列には、入出力
装置のタスクL I −C,,3が並ぶ。For example, the queue 4 with priority QO is lined with tasks A r -A at for handling system failures, and the queue 5 with priorities R and Ql is lined with tasks B1 for call processing.
-B1 are lined up, and the input/output device tasks L I -C,, 3 are lined up in the queue with priority RQ2.
ここで、ml 、 In2 、 ff13は各待ち行列
におけるタスクの数を示す。Here, ml, In2, ff13 indicate the number of tasks in each queue.
1子交換システムでは、障害処理系のタスクは最優先で
実行しなければならない。しかしながら、一部のシステ
ムに障害が生じた場合でも、障害処理だけでなく、呼処
理タスクも実行し、呼の交換動作も行わなければならな
い。また、入出力装置に対しては一定時間内に応答を返
さなければならない。In a single child exchange system, failure handling tasks must be executed with the highest priority. However, even if a failure occurs in some system, not only failure handling but also call processing tasks and call switching operations must be performed. Also, a response must be returned to the input/output device within a certain period of time.
第2図は、実行カウンタの1−正動作についての説明図
である。検出回路40で中央処理装置の過負荷状態、障
害発生、保守要求を検出した場合。FIG. 2 is an explanatory diagram of the 1-positive operation of the execution counter. When the detection circuit 40 detects an overload state, occurrence of a failure, or maintenance request of the central processing unit.
あるいは、ユーザプロゲラム41からシステムコールを
発行した場合に、割込み受付ユニット46で実行カウン
タ47を修正する。Alternatively, when a system call is issued from the user program 41, the execution counter 47 is corrected by the interrupt reception unit 46.
まず、第1図の待ち行列状態で行なうデータ処理のスケ
ジューリング方式について第3図を参照して説明する。First, a scheduling method for data processing performed in the queue state of FIG. 1 will be described with reference to FIG. 3.
第3図のフローチャートで、2つの実行カウンタ几QO
Iと几QO2は、七れぞれ初期1直「2」に設定されて
いるものとする。In the flowchart in Figure 3, two execution counters 几QO
It is assumed that I and QO2 are each initially set to "2" for the first shift.
まず、ステップ51で実行カウンタ几QOIが「0」で
あるかどうか判定する。この例ではRQolの値は「2
」であるので、優先順位RQOレベルに実行すべきタス
クがあるかどうか判定する(ステップ52)。R,QO
レベルにはm+(fffiffミノタスクしているため
、最初のタスクA1についてデータ処理を実行する(ス
テップ53)。First, in step 51, it is determined whether the execution counter QOI is "0". In this example, the value of RQol is “2”.
'', it is determined whether there is a task to be executed at the priority RQO level (step 52). R,QO
Since there are m+(fffiff minotasks at the level), data processing is executed for the first task A1 (step 53).
このデータ処理が終ると、実行カウンタRQO1の1直
を1だけ減らす(ステップ54)Jこの結果、実行カウ
ンタルQOIの値は「1」となっている、ステップ54
からステップ51に戻ると、上述した処理が実行カウン
タR,QOIの値が「O」になるまで繰り返されること
になり、障害処理系の2つのタスクAI (!:A2に
ついてのデータ処理が実行されることになる。When this data processing is completed, the 1 shift of the execution counter RQO1 is decremented by 1 (step 54).As a result, the value of the execution counter QOI is "1".Step 54
When the process returns to step 51, the above-mentioned processing is repeated until the values of the execution counter R and QOI become "O", and the data processing for the two tasks AI (!:A2) of the fault handling system is executed. That will happen.
実行カウンタ几QOIの値が「0」であればステップ5
1から55に進み、実行カウンタRQ01の値が初期値
「2」に再設定され、ステップ56で実行力ランタルQ
12の値が「0」であるかどうか判定する。この例では
、実行カウンタ几Q12は初期値「2」となっているた
め、優先順位几Qlの待ち行列に実行すべきタスクがあ
るかどうかが判定される(ステップ57)。この待ち行
列にはm2個のタスクがあるため、最初のタスクB!が
実行され(ステップ58)、これが終ると実行カウンタ
)?、Q12の値が1だけ減らされる(ステップ59)
。この例ではRQ12=rlJの状態でステップ51に
戻る。If the value of the execution counter 几QOI is "0", step 5
1 to 55, the value of the execution counter RQ01 is reset to the initial value "2", and in step 56 the execution power Rantal Q is reset.
It is determined whether the value of 12 is "0". In this example, since the execution counter Q12 has an initial value of "2", it is determined whether there is a task to be executed in the queue of priority Q1 (step 57). Since there are m2 tasks in this queue, the first task B! is executed (step 58), and when this is finished, the execution counter)? , the value of Q12 is decreased by 1 (step 59).
. In this example, the process returns to step 51 with RQ12=rlJ.
ステップ51では、几QOIの値が初期+!f、r2j
となっているため、最優先の障害処理系のタスクA3と
A4が次々に実行されることになる。In step 51, the value of 几QOI is initial +! f, r2j
Therefore, tasks A3 and A4 of the highest priority failure handling system are executed one after another.
ステップ51〜54が繰シ返されて、再度、ステップ5
6に来た時、実行カウンタRQ12の値は、「1」であ
るので、優先順位凡Q1の次のタスクB2が実行され、
実行カウンタRQ12が「0」となった状態でステップ
51に戻ることになる。Steps 51 to 54 are repeated, and step 5
6, the value of the execution counter RQ12 is "1", so the next task B2 of priority Q1 is executed,
The process returns to step 51 with the execution counter RQ12 set to "0".
このようにしてタスクを処理していくと、優先順位RQ
OのタスクAsとA6が終了した時、判ボステップ56
からステップ60に進み、実行カウンタl(、Q12の
値が初期値「2」に再設定された後、ステップ61で優
先順位RQ2の待ち行列6にタスクが存在するか否かの
判定が行なわれる。As tasks are processed in this way, priority RQ
When O's tasks As and A6 are completed, step 56
The process then proceeds to step 60, where the value of the execution counter l(, Q12 is reset to the initial value "2", and then, in step 61, it is determined whether or not there is a task in the queue 6 with priority RQ2. .
この例では、 m3 個のタスクが存在しているため、
最初のタスクC1が実行され、これを実行してからステ
ップ51に戻ることになる。In this example, there are m3 tasks, so
The first task C1 will be executed, after which the process will return to step 51.
優先順位RQ2のタスクが実行された時、2つの実行カ
ウンタR,QOI、RQ12は共に初期値になってbる
ため、上述した手順が最初から繰シ返されることになる
。従って、実行カウンタRQQl、Fl、Q12の初期
値を「2」とした場合、A−A−B −A−A−B−A
−A−Cの繰り返しで、最後光のタスクAの間に下位の
タスクBとCとが実行されることになる。この場合、最
上位のタスクAが全て実行されてしまうと、B−B−C
−B−B−Cの順序で下位のタスクが実行される。When the task with priority RQ2 is executed, the two execution counters R, QOI, and RQ12 all become initial values b, so the above-described procedure is repeated from the beginning. Therefore, if the initial values of execution counters RQQl, Fl, and Q12 are set to "2", A-A-B -A-A-B-A
By repeating -A-C, lower tasks B and C will be executed during the last task A. In this case, once all the top task A has been executed, B-B-C
- Lower tasks are executed in the order of B-B-C.
次に、システム稼動中に、入出力装置の受用台数が変化
し、優先順位RQ2のタスクが第4図に示すソロ<、m
3からn3に増加しfc場合を想定する。入出力装置系
のデータ処理は、タスク数に関係すく、一定時間内に実
行しなければならない。Next, while the system is running, the number of accepted input/output devices changes, and the task with priority RQ2 becomes solo<,m as shown in FIG.
Assume that fc increases from 3 to n3. Data processing for input/output devices must be executed within a certain amount of time, depending on the number of tasks.
本発明では、第2図に示した検出回路40からの人出割
込が割込受付ユニット46で受付けられると、実行カウ
ンタ修正部47が、入出力装置の使用台数と実行カウン
タの対応を示す入出力装置管理テーブル48を参照して
、上述した実行カウンタRQ12の初期値を調整する。In the present invention, when the interruption acceptance unit 46 receives the turnout interruption from the detection circuit 40 shown in FIG. Referring to the input/output device management table 48, the initial value of the execution counter RQ12 described above is adjusted.
最優先RQOの連続実行回数を指定する実行カクンタ几
QOIの初期値を「2」に保ったまま、次の優先度几0
1の実行回数を指定するカウンタRQ12に設定する初
期値を「1」に変更すると、第3図のフローチャートに
よれば、タスクの実行順序は、A −A−B−A−A−
Cの繰り返しとなるため、入出力装置のタスクcl今ま
での9回に1回の割合から6回に1回の割合に増加させ
ることができる。逆に、優先度R,02の実行頻度が小
δくても済む場合には、実行カウンタR,QOIと、R
Q12の値を、例えば、「3」と「3」、あるいは「3
」と「2」の如く設定してもよい。While keeping the initial value of the execution QOI, which specifies the number of consecutive executions of the highest priority RQO, at "2", the next priority RQO is set to 0.
If the initial value set in the counter RQ12, which specifies the number of times 1 is executed, is changed to "1", then according to the flowchart of FIG. 3, the task execution order will be A-A-B-A-A-
Since C is repeated, the task cl of the input/output device can be increased from the current rate of once in nine times to once in six times. On the other hand, if the execution frequency of priority R,02 can be small δ, the execution counter R,QOI and R
For example, set the value of Q12 to "3" and "3" or "3".
” and “2”.
このように、実行カウンタの初期値を、回路440ある
いはプログラム41からの割込みの状況に応じて変更す
ることによシ、低優先順位のタスクを高順位のタスクの
間に最適な頻度で割込ませることができる。In this way, by changing the initial value of the execution counter according to the state of interrupts from the circuit 440 or the program 41, it is possible to interrupt low-priority tasks between high-priority tasks at an optimal frequency. You can do it.
本発明によれば、システム稼動中に、優先順の異なるタ
スク間の処理手順を再編成することにより、低優先度の
タスクを高優先度のタスクの間に最適な形で実行させる
ことができる。According to the present invention, by reorganizing processing procedures between tasks with different priorities while the system is running, it is possible to optimally execute a low-priority task between high-priority tasks. .
′s1図は優先順位別のタスク待ち行列を示す図、第2
図は実行カウンタの修正を行なうシステムのブロック図
、第3図はタスク処理のスケジューリング方式を示すフ
ローチャート、第4図はタスク待ち行列の他の状態を示
す図であろう
RQO〜RQ2・・・優先順位、4〜6・・・タスク待
ち行列、A H” Ca3・・・タスク。's1 is a diagram showing the task queue by priority.
The figure is a block diagram of a system that corrects the execution counter, Figure 3 is a flowchart showing the scheduling method for task processing, and Figure 4 is a diagram showing other states of the task queue.RQO~RQ2...Priority Rank, 4-6...Task queue, A H" Ca3...Task.
Claims (1)
ためのデータ処理方式において、優先順位が最下位の待
ち行列を除いて、各待ち行列にカウンタを設け、最優先
の待ち行列から順に対応するカウンタで指定される個数
ずつタスクを処理し、これが終了したらカウンタを初期
値に戻して次の順位のタスクを処理し、再度、最上位の
タスク実行に戻るように実行順序を制御し、優先順位の
低いタスクが所定の頻度で優先順位の高いタスク処理に
割込んで処理されることを特徴とするデータ処理方式。1. In a data processing method for processing tasks that consist of queues organized by priority, a counter is provided for each queue, except for the queue with the lowest priority, and the tasks are handled in order starting from the queue with the highest priority. The execution order is controlled so that the number of tasks specified by the counter is processed, and when this process is completed, the counter is returned to the initial value, the next task is processed, and the task returns to the top task. A data processing method characterized in that a task with a low priority is processed by interrupting the processing of a task with a high priority at a predetermined frequency.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17993486A JPS6337433A (en) | 1986-08-01 | 1986-08-01 | Data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17993486A JPS6337433A (en) | 1986-08-01 | 1986-08-01 | Data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6337433A true JPS6337433A (en) | 1988-02-18 |
Family
ID=16074488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17993486A Pending JPS6337433A (en) | 1986-08-01 | 1986-08-01 | Data processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6337433A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200318A (en) * | 1993-12-16 | 1995-08-04 | Internatl Business Mach Corp <Ibm> | Data processing system with dynamic priority task scheduler |
US5937205A (en) * | 1995-12-06 | 1999-08-10 | International Business Machines Corporation | Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue |
-
1986
- 1986-08-01 JP JP17993486A patent/JPS6337433A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200318A (en) * | 1993-12-16 | 1995-08-04 | Internatl Business Mach Corp <Ibm> | Data processing system with dynamic priority task scheduler |
US5937205A (en) * | 1995-12-06 | 1999-08-10 | International Business Machines Corporation | Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5247671A (en) | Scalable schedules for serial communications controller in data processing systems | |
US6697834B1 (en) | Mutual exculsion system and method for restarting critical sections of code when preempted during a critical section | |
JPS6337433A (en) | Data processing system | |
JPH01154237A (en) | Executing device for time-division task | |
JPH09251387A (en) | Interruption request priority deciding circuit | |
JPH0199132A (en) | Multi-task executing device | |
JPS63300326A (en) | Transaction execution schedule system | |
JPS63111541A (en) | Data processing system | |
CN110716801B (en) | Multi-task scheduling method with multiple competitive agents | |
JPH06309180A (en) | Interrupt controller for computer system | |
JPH0381856A (en) | Data transfer control system | |
JPH02307124A (en) | Interruption control system | |
JP2000029719A (en) | Interrupt controller | |
JPS59117642A (en) | System for allocating processing to computer | |
JPS5878237A (en) | Data transfer processing switching method | |
JPS63104145A (en) | Timer interruption processing method | |
JPH03188531A (en) | Time-division multitask executing device | |
JP2000066903A (en) | Interrupt processing system and interrupt processing method | |
JPH047742A (en) | Controlling system for application program | |
JPH09134294A (en) | Interruption control circuit | |
JPH0646394B2 (en) | Interrupt control circuit | |
JPS62271147A (en) | Task control method | |
JPH01154236A (en) | Executing device for time-division task | |
JPS63265349A (en) | Data transfer controller | |
JPH0784786A (en) | Program execution control method |