JPH11345133A - Input/output control system - Google Patents

Input/output control system

Info

Publication number
JPH11345133A
JPH11345133A JP15006498A JP15006498A JPH11345133A JP H11345133 A JPH11345133 A JP H11345133A JP 15006498 A JP15006498 A JP 15006498A JP 15006498 A JP15006498 A JP 15006498A JP H11345133 A JPH11345133 A JP H11345133A
Authority
JP
Japan
Prior art keywords
queue
list
processing
priority
input
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
Application number
JP15006498A
Other languages
Japanese (ja)
Inventor
Kazunori Yoshimura
一憲 吉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP15006498A priority Critical patent/JPH11345133A/en
Publication of JPH11345133A publication Critical patent/JPH11345133A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an input/output control system, in which the difference of priority is not changed by the number of processing queues, a processing waiting list is not required for each priority level and the need for passing monitoring or duration check control is eliminated. SOLUTION: When an input/output processing waiting list is formed, the list is not divided for each priority level, but all the queues are registered on one list. A pointer is provided for instructing the queue located in the middle of the queue list of low-order priority levels registered on the list, and when the queue having high-order priority is generated, the generated high-order priority queue is inserted at a position before the queue instructed by that pointer. When executing processing, the queue is simply extracted from the head of the list, and a request is processed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、計算機システムに
使用される入出力制御方式において、処理待ちキューリ
ストを用いた簡易な機構によりプライオリティ制御を実
現した機能を有する入出力制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input / output control method used in a computer system, which has a function of realizing priority control by a simple mechanism using a waiting queue list.

【0002】[0002]

【従来の技術】図1に示すように、並列処理を実行する
プログラム1〜3より入出力要求が発生すれば、要求受
付機構5が入出力要求を受け付け、要求選択機構6によ
り入出力要求が選択され、要求処理機構7において入出
力処理が実行される。
2. Description of the Related Art As shown in FIG. 1, when an input / output request is generated from a program 1 to 3 for executing parallel processing, a request receiving mechanism 5 receives the input / output request, and a request selecting mechanism 6 receives the input / output request. The request is selected and the input / output processing is executed in the request processing unit 7.

【0003】この一連の処理の流れのうち、要求受付機
構5と要求選択機構6とにおいて以下のようなロジック
により処理が行われる。
[0003] In this series of processing flows, the request receiving mechanism 5 and the request selecting mechanism 6 perform processing according to the following logic.

【0004】入出力処理待ち行列を形成する際、図2の
ように処理要求発生順に、処理待ちキューを双方向のポ
インタで連結し、二重連結環状リストを形成する。処理
要求が発生したらその要求をキューに登録し、キューを
リストの最終に連結する(キューイングする)。
When forming an input / output processing queue, as shown in FIG. 2, processing queues are linked by bidirectional pointers in the order of processing request generation to form a doubly linked circular list. When a processing request is generated, the request is registered in a queue, and the queue is linked to the end of the list (queuing).

【0005】処理を行う場合は、リストの先頭から外し
て処理する。これにより、ファーストイン・ファースト
アウト(FIFO)が実現する。この場合処理を待つキ
ューのプライオリティ(優先度)は全て同等で、あくま
でも早く要求を出したものから順に処理される。
[0005] When performing the processing, the processing is performed by removing it from the head of the list. As a result, first-in first-out (FIFO) is realized. In this case, the priorities (priorities) of the queues waiting for processing are all the same, and processing is performed in order from the one that issued the request as soon as possible.

【0006】ここで、処理要求にプライオリティをつけ
るためには、同等のプライオリティを持つ処理ごとにリ
ストを分ける必要がある。処理を実行する際にプライオ
リティを考慮して、処理するリストを選択する。例え
ば、ある処理の実行において、P0,P1という2段階
のプライオリティレベルを設けたとする。ここではP0
のプライオリティを持つ処理は、P1のプライオリティ
を持つ処理より実行される優先度が高いと仮定する。
Here, in order to give priorities to processing requests, it is necessary to divide the list for each processing having the same priority. A list to be processed is selected in consideration of the priority when executing the processing. For example, it is assumed that two levels of priority levels P0 and P1 are provided in the execution of a certain process. Here, P0
It is assumed that a process having a priority of P1 has a higher priority to be executed than a process having a priority of P1.

【0007】この場合処理要求が発生したら、図3に示
すように、その要求はプライオリティに応じたリストに
キューイングされる。処理を実行する際にキュー1→キ
ュー2→キュー6→キュー3→キュー4の順に、P0リ
ストのキューを2回連続で処理してから、P1リストの
キューを処理する。
In this case, when a processing request is generated, the request is queued in a list corresponding to the priority, as shown in FIG. When executing the process, the queue of the P0 list is processed twice consecutively in the order of queue 1 → queue 2 → queue 6 → queue 3 → queue 4 and then the queue of the P1 list is processed.

【0008】この方式では、プライオリティの差が、処
理待ちキューの数によって変化してしまう。図4のよう
に、P1側のリストにキューイングされている処理待ち
キューの数が、P0側のキューよりはるかに多い状態を
想定する。このような状態で同時に、処理要求A(P0
レベル)と処理要求B(P1レベル)の二つの処理要求
が発生した場合、処理を行う順序は固定されているた
め、処理要求Aの方が、処理要求Bよりもはるかに早く
処理される。この場合P0の方がP1よりも非常に優先
度が高くなる。
In this method, the difference in priority changes depending on the number of queues to be processed. As shown in FIG. 4, it is assumed that the number of processing queues queued in the list on the P1 side is much larger than the number of queues on the P0 side. In such a state, the processing request A (P0
In the case where two processing requests are generated, the processing request B (P1 level) and the processing request B (P1 level), the processing request A is processed much earlier than the processing request B because the processing order is fixed. In this case, P0 has a much higher priority than P1.

【0009】逆に、図5に示すように、P0側の方がP
1よりも処理待ちキューの数が多い状態で、処理要求A
(P0レベル)と処理要求B(P1レベル)が発生した
とすると、実行されるのは、処理要求Bの方が処理要求
Aよりも先になり、プライオリティの差が少なくなる。
On the other hand, as shown in FIG.
If the number of queues to be processed is greater than one, processing request A
(P0 level) and processing request B (P1 level) are generated, processing request B is executed before processing request A, and the difference in priority is reduced.

【0010】以上のような課題に対して特開平2−14
3361号公報および特開平1−112461号公報に
記載された方法がある。
In order to solve the above problems, Japanese Patent Laid-Open No.
There are methods described in JP-A-3361 and JP-A-1-112461.

【0011】特開平2−143361号公報記載の方法
では、特定の処理要求が待ち状態となっている間に他の
処理要求によって追い越された回数および待ち時間の計
数値が設定された所定値となったとき、この特定の処理
要求を最優先で選択することにより、優先度の低い装置
からの処理要求が長時間待たされないようにしている。
In the method described in Japanese Patent Application Laid-Open No. 2-143361, the number of times that a specific processing request is overtaken by another processing request while the processing request is in a waiting state, and the count value of the waiting time are set to a predetermined value. When this happens, this particular processing request is selected with the highest priority, so that a processing request from a device with a lower priority is not waited for a long time.

【0012】また、特開平1−112461号公報記載
の方法では、優先度制御に、追い越し許容の判断という
補正機能を持たせることにより、低優先度の入出力要求
が長時間待たないようにしている。
In the method described in Japanese Patent Application Laid-Open No. 1-112461, a priority control is provided with a correction function of judging whether passing is possible, so that a low-priority input / output request does not wait for a long time. I have.

【0013】すなわち、上記公報記載の方法では、処理
の実行状態をモニタしておき、プライオリティのバラン
スが崩れそうになったときに調整を行っている。
That is, in the method described in the above publication, the execution state of the processing is monitored, and adjustment is performed when the priority balance is about to be lost.

【0014】[0014]

【発明が解決しようとする課題】しかしながら、上記方
法では、キューの処理の実行状態や待ち時間、追い越し
処理数のカウント等をチェックする仕組みを設けなけれ
ばならないという課題が残される。
However, the above method has a problem that a mechanism for checking the execution state of the queue processing, the waiting time, the count of the number of overtaking processes, and the like must be provided.

【0015】したがって、本発明の目的は、プライオリ
ティの差が処理待ちキューの数によって変化しない入出
力制御方式を提供することである。
Accordingly, it is an object of the present invention to provide an input / output control method in which a difference in priority does not change with the number of queues to be processed.

【0016】本発明の他の目的は、プライオリティレベ
ルごとに処理待ちリストを必要としない入出力制御方式
を提供することである。
Another object of the present invention is to provide an input / output control method which does not require a waiting list for each priority level.

【0017】本発明の更に他の目的は、追い越し監視や
待ち時間等のチェック制御が不要な入出力制御方式を提
供することである。
Still another object of the present invention is to provide an input / output control method that does not require overtaking monitoring or check control of waiting time.

【0018】[0018]

【課題を解決するための手段】本発明による入出力制御
方式は、「複数のプログラムを時分割する事により並列
に処理する計算機システムにおいて、複数のプログラム
から要求される同一デバイスへの入出力要求を、待ち行
列に基づく処理待ちキューリストを用いて、特定のキュ
ーを指し示すポインタを設けることによりプライオリテ
ィレベルに応じたリスト位置にキューを連結させ、プラ
イオリティ制御を可能とする機能」を有する。
An input / output control method according to the present invention is described as follows. In a computer system that processes a plurality of programs in parallel by time-sharing, an input / output request to the same device requested from a plurality of programs is provided. Is provided with a pointer that points to a specific queue using a processing queue list based on a queue, thereby connecting the queue to a list position corresponding to the priority level, thereby enabling priority control.

【0019】また、本発明による入出力制御方式は、
「プライオリティレベル毎にリストを分けずに、すべて
一つのリストにキューを登録し、リストに登録されてい
る下位プライオリティレベルのキューリストの中間に位
置するキューを指し示すポインタを設け、上位プライオ
リティを持つキューが発生したら、そのポインタが示す
キューの前の位置に、発生した上位プライオリティキュ
ーを挿入し、リストの先頭からキューを取り出す機能」
を有する。
The input / output control method according to the present invention is as follows.
`` Registering queues in one list without dividing the list for each priority level, providing a pointer that points to a queue located in the middle of the queue list of lower priority levels registered in the list, and providing queues with higher priority Occurs, the function inserts the generated higher-priority queue at the position before the queue indicated by the pointer and retrieves the queue from the head of the list. "
Having.

【0020】[0020]

【発明の実施の形態】次に、本発明の一実施例を示した
図面を参照して、詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of the present invention will be described in detail with reference to the drawings.

【0021】この実施例においては、ある処理を実行す
るために、P0,P1という二つのプライオリティレベ
ルを設ける(プライオリティ:P0>P1)。処理待ち
リストは二つ用意しないで一つとする。図6に示すよう
に、リストの中のキューを指し示すポインタPTと、フ
ラグFLとを用意する。初期値としてポインタPTには
ヌル(NUL:何も指し示さない)を、フラグFLには
「0」をセットしておく。
In this embodiment, in order to execute a certain process, two priority levels P0 and P1 are provided (priority: P0> P1). Do not prepare two waiting lists, but make one. As shown in FIG. 6, a pointer PT pointing to a queue in the list and a flag FL are prepared. Null (NUL: indicates nothing) is set in the pointer PT and "0" is set in the flag FL as initial values.

【0022】処理要求が発生した場合について図10の
フローチャートを参照して説明する。図7に示すよう
に、P1レベルの処理要求が発生したら(ステップS1
で「YES」)、リストの最後に連結し(ステップS
2)、フラグFLを反転させる(ステップS3)。フラ
グFLが「1」であれば(ステップS4でYES)、ポ
インタPTをリストの次のP1レベルの処理待ちキュー
を指し示すように更新する(ステップS5)。フラグF
Lが「0」であれば(ステップS4で[NO])、ポイ
ンタPTは更新しない。
The case where a processing request has occurred will be described with reference to the flowchart of FIG. As shown in FIG. 7, when a processing request at the P1 level occurs (step S1).
"YES") and link to the end of the list (step S
2) Invert the flag FL (step S3). If the flag FL is “1” (YES in step S4), the pointer PT is updated so as to point to the next processing queue at the P1 level in the list (step S5). Flag F
If L is "0" ([NO] in step S4), the pointer PT is not updated.

【0023】処理を実行する場合について図11のフロ
ーチャートを参照して説明する。図8に示すように、処
理を実行する際には、処理待ちリストの先頭からキュー
を外し、その要求を実行する(ステップS11)。その
キューがP1レベルであれば(ステップS12で「YE
S」)、フラグFLを反転させる(ステップS13)。
前述の操作と同様に、フラグFLが「1」であれば(ス
テップS14で「YES」)、ポインタPTを更新する
(ステップS15)。
The case of executing the processing will be described with reference to the flowchart of FIG. As shown in FIG. 8, when executing the processing, the queue is removed from the head of the processing waiting list, and the request is executed (step S11). If the queue is at the P1 level ("YE" in step S12)
S "), the flag FL is inverted (step S13).
Similarly to the above-described operation, if the flag FL is "1"("YES" in step S14), the pointer PT is updated (step S15).

【0024】したがって、P1レベルのキューがキュー
イングされたり、リストから外されるという操作が発生
した場合、2回に1回はPTが更新されリストの後方へ
進められる。この方式によりPTはリスト中のP1レベ
ルのキューの中間点のキューを指し示すことになる。
Therefore, when an operation occurs such that the queue at the P1 level is queued or removed from the list, the PT is updated once every two times and the PT is advanced to the rear of the list. In this manner, the PT points to the queue at the midpoint of the P1 level queue in the list.

【0025】P0レベルの処理要求が発生した場合(図
10におけるステップS1で「NO」)は、図8に示す
ように、リストの最後にキューイングするのはなく、P
Tが指し示すキューの前に処理待ちキューを挿入する
(図10におけるステップS6)。その際PTとFLに
は何の操作も行わない。したがって、P0レベルの処理
要求は、P1レベルの処理待ちキューのリストの中間点
にキューイングされることになる。
When a processing request at the P0 level occurs ("NO" in step S1 in FIG. 10), the queue is not queued at the end of the list, as shown in FIG.
The processing queue is inserted before the queue indicated by T (step S6 in FIG. 10). At this time, no operation is performed on PT and FL. Therefore, the processing request at the P0 level is queued at the midpoint of the list of the processing queue at the P1 level.

【0026】処理を実行する際は、プライオリティを考
慮することなしに、リストの先頭からキューを外し、処
理を行えばよい。
When executing the processing, the queue may be removed from the head of the list without considering the priority, and the processing may be performed.

【0027】[0027]

【発明の効果】本発明による入出力制御方式において
は、プライオリティ毎に処理待ちリストを分ける必要が
ないため、簡素な方式でプライオリティ制御を実現でき
る。
In the input / output control method according to the present invention, it is not necessary to divide the processing waiting list for each priority, so that priority control can be realized by a simple method.

【0028】また、処理待ちキューの数によりプライオ
リティの差が変化することを制御する効果がある、さら
に、本発明は、キュー登録の際にプライオリティに応じ
たリスト位置にキューを連結するので、プライオリティ
制御を行うための追い越し監視や、待ち時間などのチェ
ックといった制御が不要となる。
Further, there is an effect of controlling that the difference in the priority changes according to the number of queues to be processed. Further, according to the present invention, the queue is linked to a list position corresponding to the priority at the time of queue registration. This eliminates the need for control such as overtaking monitoring for control and checking of waiting time.

【図面の簡単な説明】[Brief description of the drawings]

【図1】入出力制御機構のブロック図である。FIG. 1 is a block diagram of an input / output control mechanism.

【図2】従来例における処理待ちキューリストの制御例
を示す図である。
FIG. 2 is a diagram showing a control example of a processing queue list in a conventional example.

【図3】従来例における処理待ちキューリストの制御例
を示す図である。
FIG. 3 is a diagram showing a control example of a processing queue list in a conventional example.

【図4】従来例における処理待ちキューリストの制御例
を示す図である。
FIG. 4 is a diagram illustrating a control example of a processing queue list in a conventional example.

【図5】従来例における処理待ちキューリストの制御例
を示す図である。
FIG. 5 is a diagram showing a control example of a processing queue list in a conventional example.

【図6】本発明の実施例における処理待ちキューリスト
の制御例を示す図である。
FIG. 6 is a diagram illustrating a control example of a processing queue list according to the embodiment of the present invention.

【図7】本発明の実施例における処理待ちキューリスト
の制御例を示す図である。
FIG. 7 is a diagram illustrating a control example of a processing queue list according to the embodiment of the present invention.

【図8】本発明の実施例における処理待ちキューリスト
の制御例を示す図である。
FIG. 8 is a diagram showing a control example of a processing queue list according to the embodiment of the present invention.

【図9】本発明の実施例における処理待ちキューリスト
の制御例を示す図である。
FIG. 9 is a diagram illustrating a control example of a processing queue list according to the embodiment of the present invention.

【図10】本発明の実施例において処理要求が発生した
場合の動作を示すフローチャートである。
FIG. 10 is a flowchart illustrating an operation when a processing request occurs in the embodiment of the present invention.

【図11】本発明の実施例において処理を実行する場合
の動作を示すフローチャートである。
FIG. 11 is a flowchart illustrating an operation when a process is executed in the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1〜3:入出力要求を行う処理プログラム 4:入出力制御機構 5:要求受付機構 6:要求洗濯機構 7:要求処理機構 8:入出力機構 1-3: Processing program for making input / output requests 4: Input / output control mechanism 5: Request receiving mechanism 6: Request washing mechanism 7: Request processing mechanism 8: Input / output mechanism

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数のプログラムを時分割する事により
並列に処理する計算機システムにおいて、 複数のプログラムから要求される同一デバイスへの入出
力要求を、待ち行列に基づく処理待ちキューリストを用
いて、特定のキューを指し示すポインタを設けることに
よりプライオリティレベルに応じたリスト位置にキュー
を連結させ、プライオリティ制御を可能とする機能を有
する入出力制御方式。
In a computer system for processing a plurality of programs in parallel by time-sharing, an I / O request to the same device requested from a plurality of programs is processed by using a processing queue list based on a queue. An input / output control method having a function of enabling priority control by connecting a queue to a list position corresponding to a priority level by providing a pointer indicating a specific queue.
【請求項2】 プライオリティレベル毎にリストを分け
ずに、すべて一つのリストにキューを登録し、 リストに登録されている下位プライオリティレベルのキ
ューリストの中間に位置するキューを指し示すポインタ
を設け、 上位プライオリティを持つキューが発生したら、そのポ
インタが示すキューの前の位置に、発生した上位プライ
オリティキューを挿入し、 リストの先頭からキューを取り出す機能を有する入出力
制御方式。
2. Registering queues in one list without dividing the list for each priority level, providing a pointer to a queue located in the middle of the queue list of lower priority levels registered in the list, An input / output control method that, when a queue with a priority is generated, inserts the generated higher-priority queue at the position before the queue indicated by the pointer and retrieves the queue from the head of the list.
JP15006498A 1998-05-29 1998-05-29 Input/output control system Withdrawn JPH11345133A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15006498A JPH11345133A (en) 1998-05-29 1998-05-29 Input/output control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15006498A JPH11345133A (en) 1998-05-29 1998-05-29 Input/output control system

Publications (1)

Publication Number Publication Date
JPH11345133A true JPH11345133A (en) 1999-12-14

Family

ID=15488734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15006498A Withdrawn JPH11345133A (en) 1998-05-29 1998-05-29 Input/output control system

Country Status (1)

Country Link
JP (1) JPH11345133A (en)

Similar Documents

Publication Publication Date Title
US5701495A (en) Scalable system interrupt structure for a multi-processing system
JP4034969B2 (en) Memory management system for common memory
EP0149311B1 (en) Microcomputer
EP1096376A2 (en) Snapshot arbiter mechanism
US6473780B1 (en) Scheduling of direct memory access
JPH117429A (en) Interrupt load distribution method for shared bus type multiprocessor system
US20060026596A1 (en) Context scheduling
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
JPS5999553A (en) Interruption control system
JPH11345133A (en) Input/output control system
CN109426562B (en) priority weighted round robin scheduler
JP2636722B2 (en) Multitask execution management method
CN114911588A (en) Interrupt routing control method and interrupt controller for system-on-chip
JPH0385641A (en) Data processing precedence control system
US8060729B1 (en) Software based data flows addressing hardware block based processing requirements
JPH0199132A (en) Multi-task executing device
JP4297796B2 (en) Plant monitoring and operation device
JPH0240723A (en) Message transmission/reception control system
JPH0640315B2 (en) Central processing unit allocation control method
JPH03266036A (en) Interruption process managing system
JPH0778091A (en) Multitask managing method
JP2000066903A (en) Interrupt processing system and interrupt processing method
JPS63261431A (en) Merge process control system
JPH08289127A (en) Delivery queue controller
JPH09198261A (en) Task scheduling device

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: 20050802