JPS61229128A - Timer managing system - Google Patents
Timer managing systemInfo
- Publication number
- JPS61229128A JPS61229128A JP7312085A JP7312085A JPS61229128A JP S61229128 A JPS61229128 A JP S61229128A JP 7312085 A JP7312085 A JP 7312085A JP 7312085 A JP7312085 A JP 7312085A JP S61229128 A JPS61229128 A JP S61229128A
- Authority
- JP
- Japan
- Prior art keywords
- timeout
- time
- queue
- control block
- queue control
- 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
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、(l数のIgll#Aを制御する装置や、
複数のプログラムを実行する処理装置などにおけるタイ
マ管理方式に関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to (a device for controlling l number of Igll#A,
The present invention relates to a timer management method in a processing device that executes multiple programs.
第3図は従来のタイマ管理方式におけるタイムアウト待
ちキューを示す構成図である0図において、1はキュー
ヘッダ、2a、2b、2c等の2ハキユーコントロール
ブロツク(以下、QCBと称す)、3a、3b、3c等
の3は各QCB2a。FIG. 3 is a block diagram showing a timeout waiting queue in a conventional timer management system. In FIG. 3 such as 3b and 3c are each QCB2a.
2b、2c内のキューイング情報、5a、5b。Queuing information in 2b, 2c, 5a, 5b.
5C等の5は各QCB2a、2b、2c内のタイムアウ
ト時間、6a、6b、6c等の6は各QCB2a、2b
、2c内のタイムアウト時刻、8は現在時刻、9は先頭
タイムアウト時刻である。5 such as 5C is the timeout time in each QCB 2a, 2b, 2c, 6 such as 6a, 6b, 6c is each QCB 2a, 2b
, 2c, 8 is the current time, and 9 is the first timeout time.
以下、上記第3図を用いて、従来のタイマ管理方式にお
けるタイムアウト待ちキュー内にある各qcn2a、2
b、2Cのタイムアウト検出処理にライて説明する。各
qcn2a、2b、2cはタイムアウトする時刻が早い
順序にキューイングされる。第3図に示す例では、QC
82aが最も早くタイムアウトし、その次にQCB2b
がタイムアウトし、最後にQCB2cがタイムアウトす
る。キューヘッダlにはQCB2aが先頭であることを
示すため1例えばQ CB 2 aの先頭アドレスが設
定され、キューヘッド1内に各QCB2a。Below, using FIG. 3 above, each qcn2a, 2 in the timeout waiting queue in the conventional timer management method will be explained.
The timeout detection processing of b and 2C will be explained below. Each of the qcns 2a, 2b, and 2c is queued in order of earliest timeout time. In the example shown in Figure 3, QC
82a times out first, followed by QCB2b
times out, and finally QCB2c times out. For example, the start address of Q CB 2 a is set in the queue header 1 to indicate that the QCB 2 a is the first one, and each QCB 2 a is stored in the queue head 1.
2b、2Cがすべてエンキューされていない場合は特殊
コードが設定される。QCB2aのキューイング情報3
aにはQCB2bの先頭アドレスが。If 2b and 2C are not all enqueued, a special code is set. QCB2a queuing information 3
The start address of QCB2b is in a.
QCB2bのキューイング情報3bにはQCB2Cの先
頭アドレスがそれぞれ設定される。最後尾のQCB2C
のキューイング情報3Cには最後尾であることを示す特
殊コードが設定される。現在時刻8はサイクリックカウ
ンタで1例えば取り・優る最大値を正整数N−1とする
と、0→l→2→・・・・・・N−2→N−1→Oのよ
うにモジュロNで単位時間ごとに周期的に更新される。The starting address of the QCB2C is set in the queuing information 3b of the QCB2b. QCB2C at the end
A special code is set in the queuing information 3C to indicate that it is the last one. The current time 8 is 1 in the cyclic counter.For example, if the maximum value that can be taken or exceeded is a positive integer N-1, then 0→l→2→...N-2→N-1→O, modulo N It is updated periodically every unit time.
各QCB2a。Each QCB2a.
2b 、2C内の各タイムアウト時刻6a、6b。2b, each timeout time 6a, 6b in 2C.
6CにはOからN−1までの値が設定され、各QCB2
a、2b、2Cがタイムアウトする時刻を示す、先頭タ
イムアウト時刻9には先頭のQCB2a内のタイムアウ
ト時刻6aと同じものが設定される。各QCB2a、2
b、2C内の各タイムアウト時間5a、5b、5cは、
各QCB2a。6C is set to a value from O to N-1, and each QCB2
The same time as the timeout time 6a in the first QCB 2a is set for the first timeout time 9, which indicates the time when a, 2b, and 2C time out. Each QCB2a, 2
Each timeout time 5a, 5b, 5c in b, 2C is,
Each QCB2a.
2b、2cがタイマ起動された時点からタイムアウトす
るまでの時間を示す、タイムアウト待ちキニー内の各Q
CB2a、2b、2Cのタイムアウト検出は、現在時刻
8が更新されて先頭タイムアウト時刻9と同一になった
時に行われる。タイムアウトにより先頭のQCB2aが
タイムアウト待ちキューよりデキューされると、新しく
タイムアウト待ちキューの先頭になったQCBzbのタ
イムアウト時刻6bを調べ、これが現在時刻8と異なれ
ば、このタイムアウト時刻6bを先頭タイムアウト時刻
9に設定して処理を終了する。また。Each Q in the timeout wait Kinney indicates the time from the timer 2b and 2c are started until they time out.
Timeout detection for CBs 2a, 2b, and 2C is performed when the current time 8 is updated and becomes the same as the first timeout time 9. When the first QCB2a is dequeued from the timeout waiting queue due to a timeout, the timeout time 6b of the QCBzb that has newly become the head of the timeout waiting queue is checked, and if this differs from the current time 8, this timeout time 6b is set to the first timeout time 9. Set and end the process. Also.
同じであればQCi32bのタイムアウトを検出してこ
れをデキューシ、l?L<タイムアウト待ちキューの先
頭になったQCB2cのタイムアウト時刻6Cを調べる
。この後の処理は、上記したQCBzbの場合と同じで
ある。If they are the same, a timeout of QCi32b is detected and this is decoded, l? L<Check the timeout time 6C of the QCB2c that has become the head of the timeout waiting queue. The subsequent processing is the same as in the case of QCBzb described above.
第4図は、第3図のタイマ管理方式におけるエンキュー
処理の説明図である。FIG. 4 is an explanatory diagram of enqueue processing in the timer management method of FIG. 3.
次に、上記第4図を用い、従来のタイマ管理方式におい
て新たにタイマ起動されたQUB2を。Next, using the above-mentioned FIG. 4, QUB2 whose timer has been newly activated in the conventional timer management method.
I@3図に示すタイムアウト待ちキューにエンキューす
る処理について説明する。第4図は、各QCB2a、2
b、2cがタイムアウト待ちキューに既にキューイング
され、タイマ起動されたQCB2Cを新たにエンキュー
する例を示している。QCB2aのタイムアウト時刻6
aは「IJ 、タイムアウト時間5aはr30J 、
QCB 2 bノ9イムアウト時刻6bはrlOJ、
タイムアウト時間5bは120」であるとする、この例
では、QCB2c内のタイムアウト時刻60及びタイム
アウト時間5Cは既に設定されているものとし、タイム
アウト時刻6Cは「6」 、タイムアウト時間5cは「
IO」であるとする。また、現在時刻8の取り得る最大
値は「的」とし、モジュロr 100 J (=99+
1)で更新され、この時点で「96」となっているもの
とする、さらに、先頭タイムアウト時刻9tこは先頭の
QCBza内のタイムアウト時刻6aに「1」が設定さ
れている。タイムアウト待ちキュー内のQCB2の現時
点からタイムアウトまでの残り時間Trem (以下
、単に残り時間と称す)は1丁記の計算式lより求める
ことができる。The process of enqueuing to the timeout waiting queue shown in Figure I@3 will be explained. Figure 4 shows each QCB2a, 2
This shows an example in which QCB2C is already queued in the timeout waiting queue and QCB2C whose timer is activated is newly enqueued. QCB2a timeout time 6
a is "IJ", timeout time 5a is "r30J",
QCB 2 b no 9 imout time 6b is rlOJ,
In this example, it is assumed that timeout time 60 and timeout time 5C in QCB2c have already been set, timeout time 6C is "6", and timeout time 5c is "120".
IO”. In addition, the maximum value that current time 8 can take is "target", and modulo r 100 J (=99+
1) and is now set to "96".Furthermore, the timeout time 6a in the first QCBza is set to "1" at the start timeout time 9t. The remaining time Trem (hereinafter simply referred to as remaining time) from the current time of QCB2 in the timeout waiting queue until the timeout can be obtained from the calculation formula 1 described in 1.
Trem =MOD(N−現在時刻8+タイムアウト時
刻6.N)・・・・・・計算式1
ココで、Nは現在時刻8のモジュロで、MOD(K、L
)はKをしで除算した余りである。また。Trem = MOD (N - current time 8 + timeout time 6.N)... Calculation formula 1 Here, N is the modulo of current time 8, MOD (K, L
) is the remainder when K is divided by . Also.
新しいQC82Cの残り時間はQCB 2 C内のタイ
ムアウト時間5Gそのものである。The remaining time of the new QC82C is exactly the timeout period 5G in QCB2C.
さて、QC82Cのエンキュー処理は、以下のようにし
て行われる。ここで、キューヘッダ1゜各キューイング
情報3a、3b、3cの更新の処理についての説明は省
略する。Now, the enqueue processing of QC82C is performed as follows. Here, a description of the process of updating the queue header 1 and each of the queuing information 3a, 3b, and 3c will be omitted.
■キューへラダ1により先頭のQCB2aを傅乞
Qノ先頭のQCB2 aの残り時間を上記計算式Iによ
り求める。 j’J= r 100J 、現任時刻8
= r96J 。- Add the leading QCB2a to the queue using ladder 1. Calculate the remaining time of the leading QCB2a using the above formula I. j'J= r 100J, current time 8
= r96J.
タイムアウト時刻6a=「1」を代入して−MOD(Z
oo−96+1 、100 )= r5Jを計! 結果
として得る。Assign timeout time 6a="1" and -MOD(Z
oo−96+1,100)=r5J is total! get as a result.
■上記計算結果の「5」とQCBZC内のタイムアウト
時間5cの「lO」とを比較する。(2) Compare the above calculation result "5" with "lO" of timeout time 5c in QCBZC.
■上記■の比較によりQCB2Cは先頭のQCB2aよ
り遅くタイムアウトすることが分かり。■A comparison of ■ above shows that QCB2C times out later than the leading QCB2a.
先頭のQCB2aのキューイング情報3aにより次のQ
cB2bを得る。Next QCB 2a's queuing information 3a
Obtain cB2b.
■QCB2bの残り時間を上記計算式1により求める。(2) Calculate the remaining time of QCB2b using equation 1 above.
j’J= r 100J 、現在時刻8=r96J、
タイムアウト時刻6b=rlOJを代入して、MOD(
100−96+10 、100 ) = r14Jを計
算結果として得る。j'J= r 100J, current time 8=r96J,
Substitute timeout time 6b=rlOJ, MOD(
100-96+10,100) = r14J is obtained as the calculation result.
■上記計算結果の「14」とQC82C内のタイムアウ
ト時間5CのrlOJとを比較する。(2) Compare the above calculation result "14" with rlOJ of timeout time 5C in QC82C.
■上記(6)の比較によりQ CH2CはQCBzbよ
りも早くタイムアウトすることが分かり−QCBzbの
直前にQC82Cをエンキューして処理を終了する。(2) From the comparison in (6) above, it is found that QCH2C times out earlier than QCBzb - QC82C is enqueued immediately before QCBzb and the process is terminated.
なお、上記した例は、QC82CがQCB2aとQCB
zbの間にエンキューされるものであるが、タイムアウ
ト待ちキューの先頭及び最後尾にエンキューされる場合
は、以下のように処理が行われる。In addition, in the above example, QC82C is QCB2a and QCB
zb, but when enqueued at the beginning or end of the timeout waiting queue, the following processing is performed.
上記■でキューヘッダ1によりQCBzb、QCB2c
がキューイングされておらず、タイムアウド待ちキュー
が空であることが分かると、 QCB2Cをタイムアウ
ト待ちキューの先頭にエンキューして、先頭タイムアウ
ト時刻9 ニQ CB 2 C内のタイムアウト時刻6
cを設定して処理を終了する。QCBzb, QCB2c by queue header 1 in above ■
If it finds that QCB2C is not queued and the timeout queue is empty, it enqueues QCB2C to the head of the timeout queue and returns the timeout time 6 in the first timeout time 9.
Set c and end the process.
上記■でQC82Cの方が先頭のQCB2aよりも早く
タイムアウトすることが分かれば、 QCB2cをタイ
ムアウト待ちキューの先頭にエンキューして、先頭タイ
ムアウト時刻9にQCBZC内のタイムアウト時刻6C
を設定して処理を終了する。If you find that QC82C times out earlier than QCB2a at the top in the above (■), enqueue QCB2c to the head of the timeout waiting queue, and set timeout time 6C in QCBZC at the first timeout time 9.
Set and end the process.
上記■でQ CB 2 CはQCi32bよりも遅くタ
イムアウトし、さらに、QCi32b内のキューイング
情報3bによりQCB2bがタイムアウト待ちキューの
最後尾であることが分かれば、QCB2Cを最後尾にエ
ンキューして処理を終了する、〔発明が解決しようとす
る問題点〕
上記のような従来のタイマ管理方式では、新しいQCB
をタイムアウト待ちキューにエンキューする処理におい
て、タイムアウト待ちキュー内のQCBのタイムアウト
までの残り時間の算出には。In above ■, QCB2C times out later than QCi32b, and furthermore, if it is found that QCB2b is at the end of the timeout waiting queue based on the queuing information 3b in QCi32b, QCB2C is enqueued to the end and processing is performed. [Problem to be solved by the invention] In the conventional timer management method as described above, the new QCB
In the process of enqueuing QCB into the timeout waiting queue, the remaining time until the timeout of the QCB in the timeout waiting queue is calculated.
計算式Iに示すような除算による余りを算出する複雑な
モジュロの計算が必要である。しかして。A complex modulo calculation is required to calculate the remainder after division as shown in Formula I. However.
このモジュロの計算は多くの時間がかかり、その結果、
エンキュー処理に多大の時間がかかるという問題点があ
った。Calculating this modulo takes a lot of time, resulting in
There was a problem that enqueue processing took a lot of time.
この発明は、かかる問題点を解決するためになされたも
ので、タイムアウト待ちキュー内のQCBのタイムアウ
トまでの残り時間の算出に、複雑な計算を要することな
く、その結果、迅速なエンキュー処理を行うことができ
るタイマ賃理方式を得ることを目的とする。The present invention was made to solve this problem, and does not require complicated calculations to calculate the remaining time until the timeout of the QCB in the timeout waiting queue, and as a result, speedy enqueue processing is performed. The purpose is to obtain a timer wage method that can
この発明に係るタイマ管理方式は、タイムアウト待ちキ
ュー内の先頭のQCBのタイムアウトまでの時間を示す
残りタイムアウト時間と、タイムアウト待ちキュー内の
QCBに、直前のQCBとのタイムアウト時刻との差を
示す相対タイムアウト時間を設けたものである。The timer management method according to the present invention provides a relative timeout indicating the difference between the remaining timeout time indicating the time until the timeout of the first QCB in the timeout waiting queue and the timeout time of the immediately preceding QCB in the timeout waiting queue. A timeout period is provided.
この発明のタイマ管理方式においては、タイムアウト待
ちキュー内のQCBのタイムアウトまでの残り時間は、
残りタイムアウト時間と、当該QCBに先行するQCB
の相対タイムアウト時間と。In the timer management method of this invention, the remaining time until the timeout of the QCB in the timeout waiting queue is:
Remaining timeout time and QCB preceding this QCB
with the relative timeout period.
当該QCBの相対タイムアウト時間とを単に加算するだ
けで算出されるので、迅速なエンキュー処理が行われる
。Since it is calculated by simply adding the relative timeout time of the QCB, prompt enqueue processing is performed.
第1図はこの発明の一実施例であるタイマ管理方式にお
けるタイムアウト待ちキューを示す構成図で、各符号1
〜3,5は上記従来方式と同一のものである6図におい
て、4a、4b、4c等の4は各QCB 2 a 、
2 b 、 2 c内(71t1対タイ1.ニアウド時
間、7は残りタイムアウト時間である。各QCB2a、
2b、2Cはタイムアウトする時刻が早い順序にキュー
イングされる。第1図に示す例では、QCB2aが最も
早くタイムアウトし。FIG. 1 is a block diagram showing a timeout waiting queue in a timer management system that is an embodiment of the present invention, in which each reference numeral 1
~3, 5 are the same as the above conventional system. In Figure 6, 4 such as 4a, 4b, 4c, etc. are each QCB 2 a,
Within 2 b, 2 c (71t1 vs. tie 1.Niaud time, 7 is the remaining timeout time.Each QCB2a,
2b and 2C are queued in order of earliest timeout time. In the example shown in FIG. 1, QCB2a times out first.
その次にQCB2bがタイムアウトし、最後にQCB2
cがタイムアウトする。また、残りタイムアウト時間7
は単位時間ごとに周期的に「1」が減じられ、先頭のQ
CB2aの現時点からタイムアウトまでの残り時間を示
す、以下、各QCB2a、2b、2cの現時点からタイ
ムアウトまでの残り時間を、単に残り時間と呼ぶ、QC
Bzb内の相対タイムアウト時間4bは、当該QCB2
bが直前のQCB2aのタイムアウト後に、何単位時間
でタイムアウトするのかを示す、QCB2C内の相対タ
イムアウト時間4Cは、当該QCB2Cが直前のQCB
2bのタイムアウト後に、何単位時間でタイムアウトす
るのかを示す、ただし。Then QCB2b times out, and finally QCB2
c times out. Also, the remaining timeout time is 7.
is periodically subtracted by 1 every unit time, and the first Q
QC indicates the remaining time from the current time of CB2a until timeout, and hereinafter the remaining time from the current time of each QCB2a, 2b, and 2c until timeout is simply referred to as remaining time.
The relative timeout time 4b in Bzb is
The relative timeout time 4C in QCB2C, which indicates how many units of time b will time out after the timeout of the previous QCB2a, is
However, it indicates how many units of time the timeout will take after the timeout in 2b.
先頭のQeB2a内の相対タイムアウト時144aには
rOJを設定する0例えば、タイムアウト待ちキュー内
のQCB2Cの残り時間は、残りタイムアウト時間7と
、当該QC82Cに先行するすべての各QC82a、2
b内の各相対タイムアウト時間4a、4bと、及び当該
QCB2c内の相対タイムアウト時間4Cとを加算する
ことにより求めることができる。タイムアウト待ちキュ
ー内の各QCB2a、2b、2cのタイムアウト検出は
、残りタイムアウト時間7が更新されて「0」になった
時に行われる。タイムアウトにより先頭のQ CB 2
aがタイムアウト待ちキューよりデキューされると、
新しくタイムアウト待ちキューの先頭になったQcBZ
b内の相対タイムアウト時間4bを調べ、これが「0」
でなければ、この相対タイムアウト時間4bを残りタイ
ムアウト時間7に設定し、相対タイムアウト時間4bに
「0」を設定して処理を終了する。また、「0」であれ
ば、QCB2bのタイムアウトを検出してこれをデキュ
ーし、新しくタイムアウト待ちキューの先頭になったQ
C82Cの相対タイムアウト時間4Cを調べる。この後
の処理は、上記したQCB2bの場合と同じである。Set rOJ to the relative timeout time 144a in the first QeB2a.0 For example, the remaining time of the QCB2C in the timeout waiting queue is the remaining timeout time 7 and all the QC82a, 2 preceding the QC82C.
It can be obtained by adding the relative timeout times 4a and 4b in b and the relative timeout time 4C in the QCB2c. Timeout detection for each QCB 2a, 2b, 2c in the timeout waiting queue is performed when the remaining timeout time 7 is updated to "0". Leading Q CB 2 due to timeout
When a is dequeued from the timeout queue,
QcBZ is now the head of the timeout waiting queue.
Check the relative timeout time 4b in b and find that it is "0"
If not, this relative timeout time 4b is set to the remaining timeout time 7, the relative timeout time 4b is set to "0", and the process ends. If it is "0", a QCB2b timeout is detected and dequeued, and the QCB2b becomes the new head of the timeout waiting queue.
Check the relative timeout time 4C of C82C. The subsequent processing is the same as in the case of QCB2b described above.
第2図は、第1図のタイマ管理方式におけるエンキュー
処理の説明図である。FIG. 2 is an explanatory diagram of enqueue processing in the timer management method of FIG. 1.
次に、上記第2図を用い、この発明のタイマ管理方式に
おいて新たにタイマ起動されたQCB2を、第1図に示
すタイムアウト待ちキューにエンキューする処理につい
て説明する。82図は、各QCB2a 、ib 、2c
がタイムアウト待ちキューに既にキューイングされ、タ
イマ起動されたQCB2Cを新たにエンキューする例を
示している。Next, the process of enqueuing QCB2 whose timer has been newly activated in the timer management system of the present invention into the timeout waiting queue shown in FIG. 1 will be explained using FIG. 2 above. Figure 82 shows each QCB2a, ib, 2c
An example of newly enqueuing QCB2C which has already been queued in the timeout waiting queue and whose timer has been started is shown.
QCBza内の相対タイムアウト時間4aはrOJ。Relative timeout time 4a in QCBza is rOJ.
タイムアウト時間5aはr30J、QCB2bの相対タ
イムアウト時間4bは「9」、タイムアウト時間5bは
「加」であるとする、この例では、QCBZc内のタイ
ムアウト時間5Cは既に設定されているものとし、すな
わちrlOJであるものとする。また、QCBZc内の
相対タイムアウト時間4Cには、この時点においては何
も設定されておらず、エンキューの処理において設定さ
れる。It is assumed that the timeout time 5a is r30J, the relative timeout time 4b of QCB2b is "9", and the timeout time 5b is "add". In this example, it is assumed that the timeout time 5C in QCBZc has already been set, that is, rlOJ shall be. Further, nothing is set in the relative timeout time 4C in QCBZc at this point, but it is set in the enqueue process.
さて、QCB2cのエンキュー処理は、以下のようにし
て行われる。ここで、キューヘッダ1゜各キューイング
情報3a、3b、3cの更新の処理についての説明を省
略する。Now, the QCB2c enqueue processing is performed as follows. Here, a description of the process of updating the queue header 1 and each of the queuing information 3a, 3b, and 3c will be omitted.
■キューヘッダ1により先頭のQ C82aを得る。(2) Obtain the first QC82a from queue header 1.
■先頭のQCB2aの残り時間を次のように求める。す
なわち、残りタイムアウト時間7の「5」とQCB’l
a内の相対タイムアウト時間4aの「0」を加算し、計
算結果として「5」を得る。■Calculate the remaining time of the first QCB2a as follows. In other words, "5" with the remaining timeout time 7 and QCB'l
Add "0" to the relative timeout time 4a in a to obtain "5" as the calculation result.
■上記計算結果の「5」とQCB2C内のタイムアウト
時間5CのrlOJとを比較する。■Compare the above calculation result "5" and rlOJ of timeout time 5C in QCB2C.
■上記■の比較によりQC82Cは先頭のQCB2aよ
りも遅くタイムアウトすることが分かり。■A comparison of ■ above shows that the QC82C times out later than the leading QCB2a.
先頭のQCB2aのキューイング情報3aにより次のQ
CB2bを得る。Next QCB 2a's queuing information 3a
Obtain CB2b.
■QCB2bの残り時間を次のように求める。■Calculate the remaining time of QCB2b as follows.
すなわち、上記■で計算した先頭のQCB2aの残り時
間の「5」にQCBZb内の相対タイムアウト時間4b
の「9」を加算し、計算結果として「14」を得る。In other words, the relative timeout time 4b in QCBZb is added to "5" of the remaining time of the first QCB2a calculated in above (■).
``9'' is added to obtain ``14'' as the calculation result.
■上記計算結果の「14」とQC82C内のタイムアウ
ト時間5Cの「10」とを比較する。(2) Compare the above calculation result "14" with "10" of the timeout time 5C in QC82C.
■上記■の比較によりQCB2CはQCB2bよりも早
くタイムアウトすることが分かり1次のように処理を行
う、すなわち、上記(5)で計算したQCB2bの残り
時間の「14」からQCB2 C内のタイムアウト時間
5Cの「lO」を減じ、この値「4」をQCB2b内の
相対タイムアウト時間4bに設定する。QCB2C内の
タイムアウト時間5Cの「lO」から上記■で計算した
QCB2aの残り時間の「5」を減じ、この値「5」を
QCB2C内の相対タイムアウト時間4Cに設定する。■From the comparison of ■ above, it is found that QCB2C times out earlier than QCB2b.1 Processing is performed as follows.In other words, from the remaining time of QCB2b calculated in (5) above, which is "14", the timeout time in QCB2C is calculated. Subtract "lO" from 5C and set this value "4" to relative timeout time 4b in QCB2b. Subtract "5", the remaining time of QCB2a calculated in the above (2), from "lO" of timeout time 5C in QCB2C, and set this value "5" as relative timeout time 4C in QCB2C.
さらに、’QCB2bの直前にQC82Cをエンキュー
して処理を終了する。Furthermore, QC82C is enqueued immediately before 'QCB2b, and the process ends.
なおン上記した例は、QCB2CがQCB2aとQCB
2bの間にエンキューされるものであるが、タイムアウ
ト待ちキューの先頭及び最後尾にエンキューされる場合
は、以下のように処理が行われる。Note that in the above example, QCB2C is QCB2a and QCB
2b, but when enqueued at the head or end of the timeout waiting queue, the following processing is performed.
上記■でキューヘッダ1によりQCB2b、QCB2c
がキューイングされて3らず、タイムアウト待ちキュー
が空であることが分かると、残りタイムアウト時間7に
QCB2C内のタイムアウト時間5C#QC1S2C内
の相対タイムアウト時間4Cにそれぞれ「0」を設定し
、QCB2cをタイムアウト待ちキューの先頭にエンキ
ューして処理を終了する。QCB2b, QCB2c due to queue header 1 in above ■
is not queued and the timeout waiting queue is empty, sets the remaining timeout time 7 to "0" to the relative timeout time 4C in QCB2C, and sets the relative timeout time 4C in QCB2C to "0". is enqueued to the head of the timeout waiting queue and processing ends.
上記■でQCB2Cの方が先頭のQCB2aよりも早く
タイムアウトすることが分かれば、先頭のQCB2a内
の相対タイムアウト時間4aに。If it is found that QCB2C times out earlier than the first QCB2a in the above ①, set the relative timeout time to 4a in the first QCB2a.
上記■で計算したQCB2aの残り時間からQCB2c
内のタイムアウト時間5cを減じたものを設定し、QC
82C内の相対タイムアウト時間4Cに「0」を設定す
る。さらに、残りタイムアウト時間7にQCB2C内の
タイムアウト時間5cを設定して、QCB2cをタイム
アウト待ちキューの先頭にエンキューして処理を終了す
る。QCB2c from the remaining time of QCB2a calculated in above ■
Set the timeout time 5c subtracted from the QC
Set "0" to relative timeout time 4C in 82C. Further, the timeout time 5c in the QCB2C is set to the remaining timeout time 7, the QCB2c is enqueued to the head of the timeout waiting queue, and the process is terminated.
上記■でQCB2CはQCB2bよりも遅くタイムアウ
トし、さらに、QCBzb内のキューイング情報3bに
よりQCB2bがタイムアウト待ちキューの最後尾であ
ることが分かれば、QCB2c内の相対タイムアウト時
間4cにQCB2C内のタイムアウト時間5cから上記
■で計算したQCB2bの残り時間を減じたものを設定
して。In above (■), QCB2C times out later than QCB2b, and if it is found that QCB2b is at the end of the timeout waiting queue based on the queuing information 3b in QCBzb, the timeout time in QCB2C is set to the relative timeout time 4c in QCB2c. Set the value by subtracting the remaining time of QCB2b calculated in ① above from 5c.
QC82Cをタイムアウト待ちキューの最後尾にエンキ
ューして処理を終了する。The QC82C is enqueued to the end of the timeout waiting queue and the process is terminated.
〔発明の効果〕
この発明は以上説明したとおり、タイマ管理方式におい
て、タイムアウト待ちキュー内の先頭のQCBのタイム
アウトまでの時間を示す残りタイムアウト時間と、タイ
ムアウト待ちキュー内のQCBに、直前のQCBとのタ
イムアウト時刻との差を示す相対タイムアウト時間を設
けたので、タイムアウト待ちキュー内のQCBのタイム
アウトまでの残り時間は、残りタイムアウト時間と相対
タイムアウト時間との加算で算用できるので、極めて迅
速なエンキュー処理を行うことができるという優れた効
果を奏するものである。[Effects of the Invention] As explained above, in the timer management method, the present invention displays the remaining timeout time indicating the time until the timeout of the first QCB in the queue waiting for timeout, and the QCB in the queue waiting for timeout, as well as the previous QCB. Since we have set a relative timeout time that indicates the difference from the timeout time of It has the excellent effect of being able to perform processing.
第1図はこの発明の一実施例であるタイマ管理方式にお
けるタイムアウト待ちキューを示す構成図、第2図は、
第1図のタイヤ管理方式におけるエンキュー処理の説明
図、第3図は従来のタイマ管理方式におけるタイムアウ
ト待ちキューラポス構成図。第4図は、第3図のタイマ
管理方式におけるエンキュー処理の説明図である。
図において、1・・・キューヘッダ、 2a、2b。
2C等の2・・・キューコントロールブロック(QCB
)。
3a、3b、30等の3・・・キューイング情報、4a
、4b、4c等の4・・・相対タイムアウト時間。
5a、5b、5C等の5・・・タイムアウト時間、6a
、5b、5c等の6・・・タイムアウト時刻、7・・・
残りタイムアウト時間、8・・・現在時刻、9・・・先
頭タイムアウト時刻である。
なお、各図中、同一符号は同一、又は相当部分を示す。FIG. 1 is a configuration diagram showing a timeout waiting queue in a timer management method that is an embodiment of the present invention, and FIG.
FIG. 1 is an explanatory diagram of enqueue processing in the tire management system, and FIG. 3 is a configuration diagram of a timeout waiting queue lapos in the conventional timer management system. FIG. 4 is an explanatory diagram of enqueue processing in the timer management method of FIG. 3. In the figure, 1...queue header, 2a, 2b. 2 such as 2C... Queue control block (QCB
). 3 such as 3a, 3b, 30...queuing information, 4a
, 4b, 4c, etc. 4...Relative timeout time. 5 such as 5a, 5b, 5C, etc. Timeout time, 6a
, 5b, 5c, etc. 6...Timeout time, 7...
Remaining timeout time, 8: current time, 9: first timeout time. In each figure, the same reference numerals indicate the same or equivalent parts.
Claims (1)
ロックと残りタイムアウト時間を有し、タイムアウト待
ちキューには、キューヘッダを制御情報としてタイマ起
動されたキューコントロールブロックがタイムアウトの
早い順序にキューイングされ、キューコントロールブロ
ックは、相対タイムアウト時間とタイムアウト時間とタ
イムアウト待ちキューにキューイングするためのキュー
イング情報を有し、キューコントロールブロックの相対
タイムアウト時間は、当該キューコントロールブロック
がタイムアウト待ちキューの先頭にキューイングされて
いる場合は「0」で、その先頭にキューイングされてい
ない場合は、直前にキューイングされているキューコン
トロールブロックとのタイムアウト時刻との差を示し、
キューコントロールブロックのタイムアウト時間は、当
該キューコントロールブロックがタイマ起動された時点
からタイムアウトまでの時間を示し、残りタイムアウト
時間は、単位時間ごとに周期的に「1」が減じられて、
タイムアウト待ちキューの先頭にキューイングされてい
るキューコントロールブロックのタイムアウトまでの時
間を示し、タイムアウト待ちキューにキューイングされ
ているキューコントロールブロックのタイムアウトまで
の時間は、残りタイムアウト時間と当該キューコントロ
ールブロックに先行してキューイングされているすべて
のキューコントロールブロックの相対タイムアウト時間
と、当該キューコントロールブロックの相対タイムアウ
ト時間との総和により求められるようにし、タイムアウ
ト待ちキューにキューイングされていないキューコント
ロールブロックがタイマ起動された時、当該キューコン
トロールブロックをタイムアウト待ちキューにタイムア
ウトの早い順序にキューイングされるようにし、エンキ
ューした当該キューコントロールブロックがタイムアウ
ト待ちキューの先頭にキューイングされていれば、残り
タイムアウト時間に当該キューコントロールブロックの
タイムアウト時間を設定して、当該キューコントロール
ブロックの相対タイムアウト時間を「0」とし、タイム
アウト待ちキューの先頭にキューイングされていなけれ
ば、当該キューコントロールブロックの相対タイムアウ
ト時間に、当該キューコントロールブロックのタイムア
ウト時間と直前にキューイングされているキューコント
ロールブロックのタイムアウトまでの時間との差を設定
し、エンキューした当該キューコントロールブロックの
直後にキューイングされているキューコントロールブロ
ックがあれば、その相対タイムアウト時間に、そのタイ
ムアウトまでの時間と当該キューコントロールブロック
のタイムアウト時間との差を設定し、残りタイムアウト
時間が「0」に更新された時、タイムアウト待ちキュー
の先頭にキューイングされているキューコントロールブ
ロックのタイムアウトを検出してこれをデキューし、新
たにタイムアウト待ちキューの先頭にキューイングされ
たキューコントロールブロックの相対タイムアウト時間
が「0」であれば、当該キューコントロールブロックの
タイムアウトを検出してこれをデキューし、以下、新た
にタイムアウト待ちキューの先頭にキューイングされた
キューコントロールブロックに対してタイムアウト検出
とデキューを繰り返し、新たにタイムアウト待ちキュー
の先頭にキューイングされたキューコントロールブロッ
クの相対タイムアウト時間が「0」でない場合に、当該
キューコントロールブロックの相対タイムアウト時間を
残りタイムアウト時間に設定して、この相対タイムアウ
ト時間に「0」を設定することを特徴とするタイマ管理
方式。A timeout waiting queue has a plurality of queue control blocks and a remaining timeout time, and in the timeout waiting queue, timer-activated queue control blocks are queued in the order of earliest timeout using the queue header as control information, and the queue control blocks has the relative timeout time, timeout time, and queuing information for queuing to the timeout waiting queue, and the relative timeout time of the queue control block indicates that the queue control block is queued at the head of the timeout waiting queue. If the queue control block is not queued at the beginning, it indicates the difference between the timeout time and the queue control block queued immediately before.
The timeout time of a queue control block indicates the time from the time when the timer of the queue control block is started until the timeout, and the remaining timeout time is periodically decremented by "1" every unit time.
Indicates the time until the timeout of the queue control block queued at the head of the queue waiting for timeout. It is determined by the sum of the relative timeout times of all queue control blocks that have been queued in advance and the relative timeout time of the relevant queue control block, and the queue control blocks that are not queued in the timeout waiting queue are When activated, the relevant queue control block is queued in the timeout waiting queue in the order of earliest timeout, and if the enqueued relevant queue control block is queued at the head of the timeout waiting queue, the remaining timeout time is Set the timeout time of the relevant queue control block, set the relative timeout time of the relevant queue control block to "0", and set the relative timeout time of the relevant queue control block to "0" if it is not queued at the head of the queue waiting for timeout. Set the difference between the timeout time of the queue control block and the timeout of the queue control block queued immediately before, and if there is a queue control block queued immediately after the enqueued queue control block, Set the relative timeout time to the difference between the time until that timeout and the timeout time of the relevant queue control block, and when the remaining timeout time is updated to "0", the queue is queued at the head of the timeout waiting queue. A timeout of a queue control block is detected and dequeued, and if the relative timeout time of a queue control block newly queued at the head of the timeout waiting queue is "0", a timeout of the queue control block is detected. Then, timeout detection and dequeue are repeated for the queue control block newly queued at the head of the timeout waiting queue, and the relative of the queue control block newly queued at the head of the timeout waiting queue is dequeued. A timer management method characterized in that when the timeout time is not "0", the relative timeout time of the relevant queue control block is set to the remaining timeout time, and the relative timeout time is set to "0".
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7312085A JPS61229128A (en) | 1985-04-04 | 1985-04-04 | Timer managing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7312085A JPS61229128A (en) | 1985-04-04 | 1985-04-04 | Timer managing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61229128A true JPS61229128A (en) | 1986-10-13 |
Family
ID=13509064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7312085A Pending JPS61229128A (en) | 1985-04-04 | 1985-04-04 | Timer managing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61229128A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62212842A (en) * | 1986-03-14 | 1987-09-18 | Nec Corp | Virtual process timer system for information processing system |
JPH03177932A (en) * | 1989-12-06 | 1991-08-01 | Fuji Electric Co Ltd | Periodical task control system |
JPH0424747A (en) * | 1990-05-15 | 1992-01-28 | Fuji Facom Corp | Timer device for multi-task |
-
1985
- 1985-04-04 JP JP7312085A patent/JPS61229128A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62212842A (en) * | 1986-03-14 | 1987-09-18 | Nec Corp | Virtual process timer system for information processing system |
JPH03177932A (en) * | 1989-12-06 | 1991-08-01 | Fuji Electric Co Ltd | Periodical task control system |
JPH0424747A (en) * | 1990-05-15 | 1992-01-28 | Fuji Facom Corp | Timer device for multi-task |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990229B2 (en) | Scheduling method and apparatus for applying laxity correction based on task completion proportion and preset time | |
US7843940B2 (en) | Filling token buckets of schedule entries | |
CN109871270B (en) | Scheduling scheme generation method and device | |
EP3767514A1 (en) | Method for scaling computation in blockchain by delaying transaction execution | |
Behera et al. | A new dynamic round robin and SRTN algorithm with variable original time slice and intelligent time slice for soft real time systems | |
JP2021504802A5 (en) | ||
US6718479B1 (en) | Method, system, program, and data structures for managing hierarchical timing wheels | |
US7735083B2 (en) | System and method for scheduling a future event | |
Oral et al. | Evaluation of the shortest processing time scheduling rule with truncation process | |
JPS61229128A (en) | Timer managing system | |
US11782752B1 (en) | System and method for assigning tasks | |
CN114936076B (en) | Real-time scheduling method and device for mixed task set and computer equipment | |
WO2021078369A1 (en) | Distributed network with consensus mechanism | |
CN114116744A (en) | Method, device and equipment for updating pull chain table and storage medium | |
CN113608847A (en) | Task processing method, device, equipment and storage medium | |
CN110390600A (en) | List Mass production method, apparatus, medium and computer equipment | |
Bruneel et al. | On queues with general service demands and constant service capacity | |
Haghighi et al. | A tandem queueing system with task-splitting, feedback, and blocking | |
Zhang et al. | Sensitivity analysis of the minimum task period for arbitrary deadline real-time systems | |
CN115695317B (en) | Queuing and dequeuing method and device of access request, electronic equipment and storage medium | |
US7580997B2 (en) | State recovery | |
JP2012133724A (en) | Job net rearrangement apparatus, job net rearrangement program and job net rearrangement method | |
CN115865767A (en) | Method, device, equipment and medium for testing scheduler in switch chip | |
CN113852508A (en) | Communication method and device under scene of equipment batch deployment | |
CN107196873B (en) | Service request sending method and device for distributed cluster |