JP2001216170A - Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing - Google Patents

Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing

Info

Publication number
JP2001216170A
JP2001216170A JP2000021295A JP2000021295A JP2001216170A JP 2001216170 A JP2001216170 A JP 2001216170A JP 2000021295 A JP2000021295 A JP 2000021295A JP 2000021295 A JP2000021295 A JP 2000021295A JP 2001216170 A JP2001216170 A JP 2001216170A
Authority
JP
Japan
Prior art keywords
polling
processing
interrupt
driver
operating system
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.)
Abandoned
Application number
JP2000021295A
Other languages
Japanese (ja)
Inventor
Shinichi Ochiai
真一 落合
Kazuhiro Murayama
和宏 村山
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000021295A priority Critical patent/JP2001216170A/en
Publication of JP2001216170A publication Critical patent/JP2001216170A/en
Abandoned legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce stand-by time for saving of data and startup of writing, etc., attended with interruption in an O/S. SOLUTION: In this operating system to perform a multi-task processing to control an I/O driver by the interruption, a step to prohibit an interruption request to a driver after completion of a driver processing to a device on the basis of the interruption request, a step to investigate a state of the device by polling and to perform the processing and a step to release prohibition of the interruption request after polling is performed for prescribed period are provided.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、情報処理装置の
オペレーティングシステムの割込み処理に関するもの
で、特にI/Oデバイスからの割込みに対する応答時間
を短縮する方式、装置に関するものある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to interrupt processing of an operating system of an information processing apparatus, and more particularly to a method and an apparatus for reducing a response time to an interrupt from an I / O device.

【0002】[0002]

【従来の技術】従来の情報処理装置の割込み処理として
は、例えば、特開平6−236287号公報に示される
ようなものがあった。図22は、このような割込み処理
を行う構成を示した図である。
2. Description of the Related Art As a conventional interrupt processing of an information processing apparatus, for example, there has been one as disclosed in Japanese Patent Application Laid-Open No. 6-236287. FIG. 22 is a diagram showing a configuration for performing such an interrupt process.

【0003】この構成においては、オペレーティングシ
ステム(OS)がマルチタスク、シングルタスクに関わ
らずマルチスレッドでのI/O処理が行えるように、ス
レッド管理テーブル1703、I/Oキュー1704、
レディキュー1705、スケジューラ1708、ディス
パッチャ1709を持ち、マルチスレッド処理を行うの
に必要な機能を構成内に持つ。これにより、OS機能と
は独立してデバイスドライバがマルチスレッド処理を行
うことができる。デバイスから割込みを受信した場合、
スケジューラ1708が実行するスレッドを決定し、デ
ィスパッチャ1709が次に実行するスレッドにコンテ
キストスイッチする。コンテキストスイッチに必要なコ
ンテキスト情報はスレッド管理テーブル1703が持
つ。
[0003] In this configuration, a thread management table 1703, an I / O queue 1704, and a thread management table 1703 are provided so that an operating system (OS) can perform I / O processing in multiple threads regardless of whether it is a multitask or a single task.
It has a ready queue 1705, a scheduler 1708, and a dispatcher 1709, and has functions necessary for performing multi-thread processing in its configuration. This allows the device driver to perform multi-thread processing independently of the OS function. When an interrupt is received from the device,
The scheduler 1708 determines the thread to execute, and the dispatcher 1709 context switches to the next thread to execute. The thread management table 1703 has context information necessary for context switching.

【0004】このような情報処理装置の割込み処理で
は、OSがマルチタスク、シングルタスクに関わらずマ
ルチスレッドでのI/O処理を行うことができるが、そ
の処理は割込に基づいた待避・起動動作を行う。そうす
ると、高速なネットワークに対するI/O要求など極め
て短い時間に割込みが頻発するようなI/O処理の場
合、マルチスレッド間のコンテキストスイッチにかかる
オーバヘッドが発生する。このコンテキストスイッチ処
理は、実行中のスレッドのプロセッサ情報やスレッド情
報を待避し、新しく起動するスレッドのプロセッサ情報
やスレッド情報を空いた領域に書き込み復帰するという
処理であるが、OS内で行った場合も本従来技術の機構
内で行った場合も同等の処理となり、メモリ性能に依存
した一定の処理時間、例えば待避と書き込み起動にあわ
せて20μ秒が必要となり、更にOSが他の処理に移る
際にも必要で他の20μ秒を要する。勿論、この他に割
込処理自体の実行に例えば100μ秒が必要である。
[0004] In such interrupt processing of the information processing apparatus, the OS can perform multi-thread I / O processing irrespective of multitasking or single tasking. Perform the operation. Then, in the case of an I / O process in which interrupts frequently occur in a very short time, such as an I / O request for a high-speed network, overhead for context switching between multi-threads occurs. This context switch process is a process of saving the processor information and thread information of the currently executing thread and writing and returning the processor information and thread information of the newly activated thread to the vacant area. The same processing is also performed when performed within the mechanism of the prior art, and a certain processing time depending on the memory performance, for example, 20 μsec is required in accordance with the save and write start, and when the OS shifts to another processing. And another 20 μs. Of course, in addition to this, for example, 100 μsec is required to execute the interrupt processing itself.

【0005】[0005]

【発明が解決しようとする課題】従来のOSは上記のよ
うに動作し、実質実行時間(例えば100μ秒)の他
に、多数の割込みに対してメモり領域からの情報の待避
と書き込み起動の時間が、前と後で(計、例えば40μ
秒)必要になり、処理時間が長くなるという課題があっ
た。
The conventional OS operates as described above. In addition to the substantial execution time (for example, 100 .mu.sec), the conventional OS saves information from the memory area for a large number of interrupts and starts writing. The time before and after (total, e.g.
Second), and there is a problem that the processing time becomes longer.

【0006】この発明は上記のような課題を解消するた
めになされたもので、まず、I/Oドライバ内のI/O
処理ルーチンがI/O処理を完了後、自身の割込みに代
えて一定時間、I/Oデバイスの状態レジスタをポーリ
ングして処理を行い、従って待避と書き込み起動をなく
して処理時間を短くする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problem. First, an I / O driver in an I / O driver is provided.
After the processing routine completes the I / O processing, the processing is performed by polling the status register of the I / O device for a certain period of time in place of its own interrupt, and therefore, the processing time is shortened without saving and starting of writing.

【0007】[0007]

【課題を解決するための手段】この発明に係る専用ポー
リング処理組み込みオペレーティング方法は、割込によ
りI/O(入出力)ドライバを制御するマルチタスク処
理を行うオペレーティングシステムにおいて、割込要求
に基づくデバイスへのドライバ処理を完了後にドライバ
へのその割込要求を禁止するステップと、ポーリングに
よりデバイスの状態を調べて処理をするステップと、所
定の期間ポーリングを行った後にその割込要求の禁止を
解除するステップとを備えた。
A dedicated polling processing embedded operating method according to the present invention provides a device based on an interrupt request in an operating system which performs a multitask process for controlling an I / O (input / output) driver by an interrupt. Prohibiting the interrupt request to the driver after completing the driver processing to the driver, checking the status of the device by polling and processing, and releasing the interrupt request after polling for a predetermined period And the step of performing.

【0008】また更に、対象の割込間隔実績によってポ
ーリングの可否を定めるようにした。
[0008] Further, whether or not polling is possible is determined according to the actual result of the interrupt interval.

【0009】また更に、優先度情報を定め、この優先度
情報に基づいてポーリングの可否を定めるようにした。
Further, priority information is determined, and whether or not polling is permitted is determined based on the priority information.

【0010】また更に、オペレーティングシステムの負
荷状況を調べ、この負荷状況が所定値以下の場合にポー
リングを行うようにした。
Further, the load status of the operating system is checked, and if the load status is equal to or less than a predetermined value, polling is performed.

【0011】または、割込によりI/Oドライバを制御
するマルチタスク処理を行うオペレーティングシステム
において、この割込要求対応の処理を実行後、他の割り
込み要求が無い空き状態であると、特定のデバイスへの
ドライバに対しポーリングしてこのデバイスの状態を調
べて処理をするステップを備えた。
Alternatively, in an operating system that performs a multitask process for controlling an I / O driver by an interrupt, after executing the process corresponding to the interrupt request, if there is no other interrupt request in the idle state, the specific device And polling the driver to check the status of this device.

【0012】また更に、特定のデバイスを複数のリスト
に登録して、ポーリング処理ステップは、オペレーティ
ングシステムが空き状態であると、これら登録した複数
のデバイスに対して所定の順でポーリングして各々のデ
バイスの状態を調べて処理をするステップとした。
Still further, a specific device is registered in a plurality of lists, and in a polling process step, when the operating system is idle, the plurality of registered devices are polled in a predetermined order and each device is polled. This is a step of checking the state of the device and performing processing.

【0013】また更に、ポーリングによる実処理が実行
できた割合または回数をデバイス毎に記録するステップ
を備え、この割合または単位時間当たりの実行回数が所
定値以上の場合に、以後のポーリングを続けるようにし
た。
Still further, the method further comprises a step of recording, for each device, a ratio or the number of times the actual processing by the polling has been executed, and if the ratio or the number of executions per unit time is equal to or more than a predetermined value, the subsequent polling is continued. I made it.

【0014】この発明に係る専用ポーリング処理組み込
みオペレーティングシステムは、割込によりI/Oドラ
イバを制御するマルチタスク処理を行うオペレーティン
グシステムにおいて、割込要求に基づくデバイスへのド
ライバ処理を完了後、そのドライバへの割込要求を禁止
し、ポーリングによりそのデバイスの状態を調べて処理
をし、所定の期間ポーリングを行って後、そのドライバ
への割込要求の禁止を解除するプログラム、を備えた。
An operating system incorporating a dedicated polling process according to the present invention is an operating system which performs a multitask process for controlling an I / O driver by an interrupt. A program that prohibits an interrupt request to the driver, checks the status of the device by polling, processes the device, performs polling for a predetermined period of time, and then releases the prohibition of the interrupt request to the driver.

【0015】または、割込によりI/Oドライバを制御
するマルチタスク処理を行うオペレーティングシステム
において、割込要求対応の処理を実行後、他の割り込み
要求が無い空き状態であると優先動作するアイドルスレ
ッドを備えて、このアイドルスレッドは、特定デバイス
のドライバに対しポーリングでデバイスの状態を調べて
処理をするようにした。
Alternatively, in an operating system which performs a multitask process for controlling an I / O driver by an interrupt, after executing a process corresponding to an interrupt request, an idle thread which operates preferentially when there is no other interrupt request in an idle state. This idle thread checks the device status by polling the driver of a specific device and performs processing.

【0016】[0016]

【発明の実施の形態】実施の形態1.まず、OS中にポ
ーリングによりデバイスの状態レジスタをみて、必要な
処理を行うプログラムを組み込んだ、この発明の実施の
形態1を説明する。図1はこの発明の実施の形態1にお
けるオペレーティングシステムの割込み処理に関する部
分の構成図である。図において、101は情報処理装
置、102は情報処理装置に接続されたI/Oデバイ
ス、本実施の形態では例としてネットワークコントロー
ラを挙げている。110は情報処理装置の制御、管理を
行うオペレーティングシステムである。111はオペレ
ーティングシステム内にある割込みディスパッチテーブ
ルで、I/Oデバイスなどから割込みを受けるとその割
込み種別に対応するI/Oドライバの割込みハンドラ1
13を呼出すための表になっている。112はI/Oド
ライバの例として、本実施の形態ではネットワークドラ
イバを挙げている。各I/Oデバイス102ごとにI/
Oドライバ112が存在し、I/Oドライバ112は割
込み処理を行う割込みハンドラ113を持つ。またI/
Oドライバは、I/Oデバイスの制御、データの送受を
行うために、通常のスレッドコンテキストで動作するI
/O処理ルーチン114を持つ。I/Oデバイス102
は、割込み発生やエラーの発生などI/Oデバイスの状
態を通知する状態レジスタ121を持つ。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 First, a description will be given of a first embodiment of the present invention in which a program for performing necessary processing by looking at a device status register by polling in an OS is incorporated. FIG. 1 is a configuration diagram of a part relating to interrupt processing of an operating system according to Embodiment 1 of the present invention. In the figure, reference numeral 101 denotes an information processing apparatus, 102 denotes an I / O device connected to the information processing apparatus, and in the present embodiment, a network controller is used as an example. An operating system 110 controls and manages the information processing apparatus. Reference numeral 111 denotes an interrupt dispatch table in the operating system. When an interrupt is received from an I / O device or the like, an interrupt handler 1 of the I / O driver corresponding to the interrupt type is provided.
13 is a table for calling. Reference numeral 112 denotes a network driver as an example of an I / O driver in the present embodiment. I / O for each I / O device 102
An O driver 112 exists, and the I / O driver 112 has an interrupt handler 113 that performs interrupt processing. Also I /
The O driver operates in a normal thread context to control the I / O device and send and receive data.
It has an / O processing routine 114. I / O device 102
Has a status register 121 for notifying the status of the I / O device such as the occurrence of an interrupt or an error.

【0017】この発明の実施の形態1におけるOSの動
作を図2を使い説明する。実施の形態1では、ステップ
S104(以降ステップの記述を省略する)、ないしS
108までの部分が新しい。まず、I/Oデバイスから
割込みを受信すると、オペレーティングシステムは従来
と同様にS101でオペレーティングシステムの共通割
込みハンドラにコンテキストスイッチし、割込みディス
パッチテーブルを参照し、割込み種別から対応するI/
Oドライバの割込みハンドラを呼出す。本実施の形態で
は、割込みを上げたI/Oデバイス102としてネット
ワークコントローラ、対応するI/Oドライバ112と
してネットワークドライバを例として以降説明する。S
102でネットワークドライバの割込みハンドラ113
が割込み処理を実行する。この割込み処理完了後I/O
処理ルーチン114を呼出す。次にS103でネットワ
ークドライバのI/O処理ルーチンが割込みに対応した
I/O処理、例えばネットワークからのデータ受信処理
などを行う。S101からS103までの処理は従来と
同じ動作である。
The operation of the OS according to the first embodiment of the present invention will be described with reference to FIG. In the first embodiment, steps S104 (hereinafter step descriptions are omitted) to S104
The part up to 108 is new. First, when an interrupt is received from an I / O device, the operating system context switches to a common interrupt handler of the operating system in step S101 as in the related art, refers to the interrupt dispatch table, and determines the corresponding I / O from the interrupt type.
Call the interrupt driver of the O driver. In the present embodiment, a network controller will be described as an example of the I / O device 102 that raised the interrupt, and a network driver will be described as an example of the corresponding I / O driver 112. S
At 102, an interrupt handler 113 of the network driver
Executes the interrupt processing. I / O after completion of this interrupt processing
The processing routine 114 is called. Next, in S103, the I / O processing routine of the network driver performs I / O processing corresponding to the interrupt, for example, processing for receiving data from the network. The processing from S101 to S103 is the same as the conventional operation.

【0018】このS103完了後S104で、本割込み
に該当するI/Oデバイス、ここではネットワークコン
トローラからの割込みを禁止にする。これは該当I/O
デバイスからの割込み発生をポーリングにより検出する
ためである。さらにS105でネットワークコントロー
ラの状態レジスタをポーリングし、ネットワークコント
ローラからの割込みが到着しているかを確認する。S1
05のポーリングを指定回数、もしくは指定時間続け
る。S105で割込みを検出すると、このI/O処理ル
ーチン114のコンテキストのままS107で、S10
2で行った処理と同じネットワークコントローラに対す
る割込み処理を行う。そしてS103に戻り、再び次の
割込みに対応したネットワークドライバのI/O処理を
行う。S106で指定回数、もしくは指定時間のポーリ
ングで割込みの到着を検出しなかった場合、ポーリング
をあきらめ、S108でネットワークコントローラから
の割込み禁止を解除し、S109で従来の処理に復帰す
る。S105、S106のポーリング中に他I/Oデバ
イスからの割込みが発生した場合は、S110でネット
ワークコントローラからの割込み禁止を解除し、割込み
を発生させた他のデバイスに対して従来の割込み処理を
行う。このように、ポーリングをしているI/Oデバイ
ス以外に対しては、従来と同様に割込みベースで処理を
行う。
After completion of S103, in S104, an interrupt from the I / O device corresponding to the interrupt, here, the network controller is prohibited. This is the corresponding I / O
This is to detect the occurrence of an interrupt from the device by polling. Further, in S105, the status register of the network controller is polled to check whether an interrupt from the network controller has arrived. S1
The polling of 05 is continued for a specified number of times or for a specified time. If an interrupt is detected in S105, the I / O processing routine 114 remains in the context of the I / O processing routine 114 in S107 and S10
An interrupt process for the same network controller as the process performed in step 2 is performed. Then, the process returns to S103, where the I / O processing of the network driver corresponding to the next interrupt is performed again. If the arrival of the interrupt is not detected by the specified number of times or the specified time in S106, the polling is abandoned, the prohibition of the interrupt from the network controller is released in S108, and the process returns to the conventional processing in S109. When an interrupt from another I / O device occurs during the polling in S105 and S106, the inhibition of the interrupt from the network controller is released in S110, and the conventional interrupt processing is performed on the other device that generated the interrupt. . As described above, processes other than the polling I / O device are performed on an interrupt basis as in the related art.

【0019】この実施の形態1によるオペレーティング
システムの割込み処理によれば、I/Oドライバ内のI
/O処理ルーチンがI/O処理を完了後、指定時間、I
/Oデバイスの状態レジスタをポーリングし、次の割込
みの発生を待ち受けるようにしたので、短時間で多数の
割込みが発生する環境で、割込みハンドラ、I/O処理
間のコンテキストスイッチによる割込み処理の遅延の発
生を減らすことができる。
According to the interrupt processing of the operating system according to the first embodiment, the I / O driver
After the I / O processing routine completes the I / O processing, the I / O processing routine
Since the status register of the / O device is polled and the next interrupt is awaited, in an environment where a large number of interrupts are generated in a short time, the interrupt processing is delayed by the context switch between the interrupt handler and the I / O processing. Can be reduced.

【0020】ポーリング毎にI/O処理が必要であっ
て、かつそのポーリング間隔が割込による待避と書き込
み起動の時間和の2倍以下なら、本方式によるメリット
が生きる。ポーリング時間の設定は、例えば図3に示す
構成で得られる。即ち、図3は、図1の構成に加えてオ
ペレーティングシステム110に、コンテキストスイッ
チ時間情報211、割込み間隔時間情報テーブル212
を持つ。コンテキストスイッチ時間情報211は、オペ
レーティングシステム110がこの情報処理装置101
上でコンテキストスイッチを行うのに必要な時間を計
測、または設定した結果を記憶する。割込み間隔時間情
報テーブルは、割込みディスパッチテーブル111の各
割込みエントリに対応したテーブルで、前回の割込み発
生から今回の割込み発生までの時間間隔を計測し、その
最頻値を持つ。
If the I / O processing is required for each polling and the polling interval is less than twice the sum of the time required for the saving by the interruption and the start of the writing, the merit of this method can be used. The setting of the polling time is obtained, for example, by the configuration shown in FIG. That is, FIG. 3 shows the operating system 110 in addition to the configuration of FIG.
have. The context switch time information 211 is transmitted from the operating system 110 to the information processing apparatus 101.
The time required to perform the context switch is measured or the result of the setting is stored. The interrupt interval time information table is a table corresponding to each interrupt entry of the interrupt dispatch table 111, and measures a time interval from the last interrupt occurrence to the present interrupt occurrence, and has a mode value.

【0021】図3の構成の動作を図4を使い説明する。
図中の図2と同じ番号を持つ処理(ステップ)は、図2
で説明した処理を行うことを意味している。I/Oデバ
イスから割込みを受信すると、まずS201で、対応す
るI/Oデバイスから前回割込みを受信した時刻と、今
回の割込み時刻から割込みの間隔時間を求め、これまで
の割込み間隔時間統計情報を更新することにより、割込
み間隔時間の最頻値を得る。この割り込み間隔時間の最
頻値を該I/Oデバイスに対応する割込み間隔時間情報
テーブルのエントリに設定する。その後、図2と同様に
S101、S102、S103の処理を行い、S103
完了後、新たにS203で該当I/Oデバイスに対応す
る割込み間隔時間情報212のエントリを参照し、割込
み間隔時間の最頻値を得て、コンテキストスイッチ時間
情報211と比較する。この二つの時間により、該当I
/Oデバイスに対してポーリングによる割込み待ちを行
うかどうか決定する。
The operation of the configuration shown in FIG. 3 will be described with reference to FIG.
The process (step) having the same number as that in FIG.
Means that the processing described in the above section is performed. When an interrupt is received from an I / O device, first, in step S201, an interrupt interval time is obtained from the time at which the previous interrupt was received from the corresponding I / O device and the current interrupt time. By updating, the mode value of the interrupt interval time is obtained. The mode value of the interrupt interval time is set in an entry of the interrupt interval time information table corresponding to the I / O device. Thereafter, the processes of S101, S102, and S103 are performed in the same manner as in FIG.
After the completion, in S203, the mode of the interrupt interval time is newly obtained by referring to the entry of the interrupt interval time information 212 corresponding to the I / O device, and is compared with the context switch time information 211. By these two times, I
It is determined whether to wait for an interrupt by polling the / O device.

【0022】図4では例えば割込み間隔時間の最頻値が
コンテキストスイッチ時間の2倍よりも大きい場合、割
込みのポーリング待ちを行わずS109に移り、通常の
処理に復帰する判断を行っている。これは先に述べたよ
うに、2倍以下だとポーリングによる処理の方が早いと
考えられるからである。S203で割込み間隔時間の最
頻値がコンテキストスイッチ時間の2倍以下の場合、S
105のポーリングにより割込み待ちを行う。この間に
割込みを検出すれば、I/O処理ルーチンのコンテキス
トのままS107で割込み処理を行う。S204でコン
テキストスイッチ時間の2倍の時間ポーリングで割込み
の到着を検出しなかった場合、ポーリングをあきらめ、
S108、S109と実行し従来の処理に復帰する。
In FIG. 4, for example, when the mode value of the interrupt interval time is larger than twice the context switch time, the process proceeds to S109 without waiting for the polling of the interrupt, and it is determined that the process returns to the normal process. This is because, as described above, it is considered that the processing by polling is faster if the number is less than twice. If the mode value of the interrupt interval time is less than twice the context switch time in S203, S
An interrupt wait is performed by polling of 105. If an interrupt is detected during this time, the interrupt process is performed in S107 in the context of the I / O processing routine. If the arrival of the interrupt is not detected by the polling twice as long as the context switch time in S204, the polling is abandoned.
Execute S108 and S109 and return to the conventional processing.

【0023】実施の形態2.ポーリングによる処理は、
特定のデバイスコントローラからの割込みが多発する場
合に有効であるが、これをOSからみて優先度やOSの
負荷状況により、本来の割込みとそれに続く待避と書き
込み起動の処理とを適宜切り換えるシステムが更に有効
である。図5はこの発明の本実施の形態におけるオペレ
ーティングシステムの割込み処理部分の構成図である。
本実施の形態では、実施の形態1に加えて、ネットワー
クの通信パケット311内に優先度情報312を持つ場
合や、または処理要求を行ったアプリケーションの優先
度情報313を持ち、I/Oドライバが優先度情報31
2や処理優先度313を参照して、割込み待ちのポーリ
ングを行うかどうか判断する。
Embodiment 2 FIG. Processing by polling
This is effective when interrupts from a specific device controller occur frequently. However, a system that appropriately switches between the original interrupt and the subsequent save and write start processing according to the priority and the load status of the OS from the viewpoint of the OS is further required. It is valid. FIG. 5 is a configuration diagram of an interrupt processing portion of the operating system according to the embodiment of the present invention.
In the present embodiment, in addition to the first embodiment, a case where the communication packet 311 of the network has the priority information 312 or the priority information 313 of the application that has made the processing request is included, and the I / O driver Priority information 31
It is determined whether polling for an interrupt is to be performed with reference to the process priority 2 and the processing priority 313.

【0024】本実施の形態の構成の動作を図6、図7を
使い説明する。なお、以降も、各図中の先の図と同番号
のステップは対応した同じ動作を行う。図6において、
割込みを受けると、S101、S102、S103の割
込みに対応したI/O処理を行う。その後新しくS30
2で、該当する割込みにより受信した受信パケット内に
ある優先度情報312を参照し、優先度がシステムであ
らかじめ設定した値より大きいかどうかを判断する。こ
の設定値は、受信処理を高速に行うためにポーリングに
よりパケットの到着を待ち受けるかどうかの閾値とな
る。ここでは優先度の高いパケットの後は続けて高速に
受信すべき優先度の高いパケットが到着することを期待
している。この想定にもとづきS302で優先度の高い
パケットを受信した場合は、S105でポーリングを行
い、次のネットワークパケット受信割込みを待ち受け
る。ポーリングは指定時間、または指定回数続ける。こ
のポーリング時間の決定方法には実施の形態1の方法を
使うことができる。S302で受信パケットの優先度が
低かった場合は、高速受信の必要が無いと判断し、ポー
リングをせずに従来の処理に復帰する。
The operation of the configuration of this embodiment will be described with reference to FIGS. Note that, in the subsequent steps as well, steps having the same numbers as those in the preceding figures perform the same corresponding operations. In FIG.
When an interrupt is received, I / O processing corresponding to the interrupts in S101, S102, and S103 is performed. Then newly S30
In step 2, the CPU refers to the priority information 312 in the received packet received by the corresponding interrupt, and determines whether the priority is larger than a value preset in the system. This set value is a threshold value for determining whether to wait for the arrival of a packet by polling in order to perform high-speed reception processing. Here, it is expected that a high-priority packet to be received at a high speed subsequently arrives after a high-priority packet. If a high-priority packet is received in S302 based on this assumption, polling is performed in S105, and the next network packet reception interrupt is awaited. Polling continues for a specified time or a specified number of times. The method of Embodiment 1 can be used for the method of determining the polling time. If the priority of the received packet is low in S302, it is determined that high-speed reception is not necessary, and the process returns to the conventional process without polling.

【0025】アプリケーションからのI/O処理要求の
場合は、図7のように動作する。アプリケーションは、
S303でI/O処理要求を発行し完了通知の割込みを
待つ。このときS304でアプリケーションの処理優先
度313を参照し、処理優先度がシステムで設定した指
定値より大きいかどうかを判断する。S304で設定閾
値より高く、優先度の高い処理から処理要求を受けた場
合は、S305で該当I/Oデバイスからの割込みを禁
止にし、S306で該当I/Oデバイスの状態レジスタ
のポーリングを行い、割込み完了を待ち受ける。こうし
て割込みを検出した場合はS308でI/O処理ルーチ
ンが完了処理を行い、S309で該当I/Oデバイスか
らの割込み禁止を解除する。S307で指定時間のポー
リングの間に完了割込みを受信しなかった場合はポーリ
ングをあきらめ、S309で割込み禁止を解除する。
In the case of an I / O processing request from an application, it operates as shown in FIG. The application is
In step S303, an I / O processing request is issued, and a completion notification interrupt is awaited. At this time, the processing priority 313 of the application is referred to in S304, and it is determined whether the processing priority is larger than a specified value set in the system. If a processing request is received from a process having a higher priority than the set threshold value and higher priority in S304, an interrupt from the corresponding I / O device is prohibited in S305, and the status register of the corresponding I / O device is polled in S306. Wait for interrupt completion. When an interrupt is detected in this way, the I / O processing routine performs completion processing in S308, and cancels the inhibition of the interrupt from the corresponding I / O device in S309. If the completion interrupt is not received during the polling for the designated time in S307, the polling is abandoned, and the inhibition of the interrupt is released in S309.

【0026】このように、本実施の形態によるオペレー
ティングシステムの割込み処理は、ネットワークの受信
パケットやアプリケーションの持つ優先度情報により、
割込み待ちのポーリングを行うかどうかの判断を行うよ
うにしたので、優先度の高い処理のみポーリングにより
割込みに対する応答時間を短縮させ、優先度の低い処理
に対してはポーリングによる無駄なCPU処理をなくす
ことができる。
As described above, the interrupt processing of the operating system according to the present embodiment is performed based on the received packet of the network and the priority information of the application.
Since it is determined whether or not to perform polling waiting for an interrupt, the response time to an interrupt is reduced by polling only high-priority processing, and unnecessary CPU processing by polling is eliminated for low-priority processing. be able to.

【0027】OSの負荷が低い場合にポーリングを行う
例を説明する。図8は本実施の形態2における他のオペ
レーティングシステムの割込み処理部分を示す構成図で
ある。図8の構成では、実施の形態1に加えて、オペレ
ーティングシステム内にCPU負荷情報411のテーブ
ルを持つ。CPU負荷はCPUの使用率や実行可能処理
の待ち行列の長さなどにより決定される値である。図の
構成ではCPU負荷情報411を参照して、割込み待ち
のポーリングを行うかどうか判断する。
An example in which polling is performed when the load on the OS is low will be described. FIG. 8 is a configuration diagram showing an interrupt processing portion of another operating system according to the second embodiment. In the configuration of FIG. 8, in addition to the first embodiment, the operating system has a table of CPU load information 411. The CPU load is a value determined by a CPU usage rate, a queue length of executable processing, and the like. In the configuration shown in the figure, it is determined whether or not polling for an interrupt is to be performed by referring to the CPU load information 411.

【0028】図8の構成による動作を図9を使い説明す
る。S101、S102、S103を実行する。その後
新たにS402で、現在のCPU負荷情報を参照し、C
PU負荷値がシステムで設定した設定した値より大きい
かどうかを判断する。この設定値は、CPUの高負荷に
よる性能劣化を防ぐためにポーリングを止めるかどうか
の閾値となる。S402でCPU負荷値が設定値より低
かった場合は、ポーリングにより割込みを待ち受ける。
S402でCPU負荷値が設定値以上の場合はポーリン
グを行わず、従来と同様に復帰する。
The operation of the configuration shown in FIG. 8 will be described with reference to FIG. Steps S101, S102 and S103 are executed. Thereafter, in S402, the current CPU load information is referred to, and C
It is determined whether the PU load value is larger than a value set in the system. This set value is a threshold value for determining whether or not to stop polling in order to prevent performance degradation due to a high load on the CPU. If the CPU load value is lower than the set value in S402, an interrupt is awaited by polling.
If the CPU load value is equal to or larger than the set value in S402, the polling is not performed, and the process returns to the conventional state.

【0029】この図9のフローによるオペレーティング
システムの割込み処理によれば、CPUの負荷状態によ
り、割込み待ちのポーリングを行うかどうかの判断を行
うようにしたので、CPUの負荷が高い状態でポーリン
グを行ってシステムをさらに高負荷にする不具合を防ぐ
ことができる。
According to the interrupt processing of the operating system according to the flow of FIG. 9, it is determined whether or not to perform polling for waiting for an interrupt on the basis of the load state of the CPU. This can prevent a problem that would cause the system to have a higher load.

【0030】実施の形態3.OSは常に処理を行ってい
るわけではない。一方、ある期間は特定デバイスに対す
る連続処理にかかりきりの場合もある。こうした連続処
理を高速で行い、OSに他のデバイスからの割込が無い
空き状態では、特定デバイスにポーリングして高速処理
を行うケースを説明する。図10は本実施の形態におけ
るオペレーティングシステムの割込み処理部分の構成図
である。先の各図の構成と比べて新しい要素として、5
11はスレッドの動作順序を制御するオペレーティング
システムのスケジューラである。512はスケジューラ
511が参照する実行可能なスレッドが登録されている
リスト、オペレーティングシステムのレディキューであ
る。513はシステム内に実行可能な処理が何もないア
イドル状態の場合に動作するアイドルスレッドである。
本実施の形態では、このアイドルスレッド513で指定
された特定のI/Oデバイスに対して割込みの待ち受け
ポーリングを行う。アイドルスレッド513は、アイド
ルスレッドでポーリングを行いたいI/Oデバイスの状
態レジスタ121のアドレスと、割込みを検出した場合
に行うI/O処理ルーチン514を持つ。
Embodiment 3 The OS does not always perform processing. On the other hand, during a certain period, there is a case where continuous processing for a specific device is completely performed. A case will be described in which such continuous processing is performed at a high speed, and when the OS is in an empty state where there is no interrupt from another device, a specific device is polled to perform the high-speed processing. FIG. 10 is a configuration diagram of an interrupt processing portion of the operating system according to the present embodiment. As a new element compared to the configuration in each of the previous figures, 5
Reference numeral 11 denotes an operating system scheduler for controlling the operation order of the threads. Reference numeral 512 denotes a list in which executable threads referred to by the scheduler 511 are registered, and a ready queue of the operating system. Reference numeral 513 denotes an idle thread that operates when there is no executable processing in the system.
In the present embodiment, polling for interruption is performed for a specific I / O device designated by the idle thread 513. The idle thread 513 has an address of the status register 121 of the I / O device to be polled by the idle thread and an I / O processing routine 514 to be performed when an interrupt is detected.

【0031】本実施の形態における構成の動作を図1
1、図12を使い説明する。本実施の形態では、ドライ
バへ動作はスケジューラ511とアイドルスレッド51
3の二つの構成要素により実現する。先の各実施の形態
とは異なり、本実施の形態5ではI/Oドライバ自体は
特別な動作を行わない。図11はスケジューラの動作を
示す。スケジューラは割込み、セマフォポストなどのス
ケジューリングを必要とするイベントが発生すると呼出
される。スケジューラはまずS501で、現実行中の処
理のコンテキストを待避し保存する。次にS502でレ
ディキュー512を参照し、実行可能な処理を選択す
る。そしてS503で、次に実行する処理のコンテキス
トを復帰し、その処理を実行する。S501からS50
3までは従来のスケジューラの動作である。本実施の形
態では新たに、S502で実行すべき処理がなかった場
合、S504に移る。S504で指定されたI/Oデバ
イスからの割込みを禁止にする。そしてS505でアイ
ドルスレッド513を実行する。次のスケジューリング
イベントによりアイドルスレッドからリターンすると、
S506で該当I/Oデバイスの割込み禁止を解除し、
S501に戻り、次に実行するスレッドへのスケジュー
リング処理を始める。
FIG. 1 shows the operation of the configuration according to the present embodiment.
This will be described with reference to FIG. In this embodiment, the operation to the driver is performed by the scheduler 511 and the idle thread 51.
3 is realized by two components. Unlike the previous embodiments, in the fifth embodiment, the I / O driver itself does not perform any special operation. FIG. 11 shows the operation of the scheduler. The scheduler is invoked when an event that requires scheduling, such as an interrupt or semaphore post, occurs. First, in step S501, the scheduler saves and saves the context of the currently executing process. Next, in step S502, an executable process is selected with reference to the ready queue 512. In step S503, the context of the process to be executed next is returned, and the process is executed. S501 to S50
Up to 3 is the operation of the conventional scheduler. In this embodiment, when there is no new process to be executed in S502, the process proceeds to S504. The interrupt from the I / O device specified in S504 is prohibited. Then, the idle thread 513 is executed in S505. When the next scheduling event returns from the idle thread,
In step S506, the interrupt inhibition of the corresponding I / O device is released.
Returning to step S501, the scheduling process for the next thread to be executed is started.

【0032】図12はアイドルスレッド513の動作を
示す。従来アイドルスレッドは何も処理をしない空ルー
プであったが、本実施の形態ではアイドルスレッドはI
/Oデバイスの状態レジスタに対するポーリングを行
う。即ちS511とS512の部分が新しい。S511
で指定されたI/Oデバイスの状態レジスタをポーリン
グし、I/Oデバイスから割込みが到着しているか確認
する。アイドルスレッドは、次のスケジューリングイベ
ントが発生するまでS511を続ける。ポーリング中に
スケジューリングイベントが発生した場合はスケジュー
ラに戻りS506を実行する。S511のポーリングに
より割込みの到着を検出した場合、アイドルスレッドは
該当するI/O処理ルーチン514を実行し、必要なI
/O処理を行う。これによりアイドルスレッドのコンテ
キスト内でI/O処理が行われる。
FIG. 12 shows the operation of the idle thread 513. Conventionally, an idle thread is an empty loop that does not perform any processing.
Poll the status register of the / O device. That is, the parts of S511 and S512 are new. S511
The polling of the status register of the I / O device specified by (1) is performed to check whether an interrupt has arrived from the I / O device. The idle thread continues S511 until the next scheduling event occurs. If a scheduling event occurs during polling, the process returns to the scheduler and executes S506. When the arrival of the interrupt is detected by the polling in S511, the idle thread executes the corresponding I / O processing routine 514 to execute the necessary I / O processing.
/ O processing is performed. As a result, the I / O processing is performed in the context of the idle thread.

【0033】この実施の形態によるオペレーティングシ
ステムの割込み処理によれば、システムに実行すべき処
理がないアイドル状態になったときに実行するアイドル
スレッドが、指定したI/Oデバイスの状態レジスタを
ポーリングすると共に、割込みを検出した場合はアイド
ルスレッドのコンテキスト内でI/O処理を行うので、
システムのアイドル状態を有効に活用して割込み時の遅
延の発生を減らすことができる。また、個々のI/Oド
ライバの処理を変更する必要がない。
According to the interrupt processing of the operating system according to this embodiment, the idle thread executed when the system enters an idle state where there is no processing to be executed polls the status register of the specified I / O device. In addition, when an interrupt is detected, I / O processing is performed in the context of an idle thread.
By effectively utilizing the idle state of the system, it is possible to reduce the occurrence of delay at the time of interruption. Further, there is no need to change the processing of each I / O driver.

【0034】特定のポーリングを行うデバイスコントロ
ーラは、複数あってもよい。図13はこうした複数のI
/Oデバイスにポーリングを行う構成を示した図であ
る。図の構成においては、図10の構成に加えて、アイ
ドルスレッド内にポーリング処理リスト611を持つ。
ポーリング処理リスト611はポーリングを行うべきI
/Oデバイスの状態レジスタのアドレスを持つポーリン
グレジスタと、それに対応して実行すべきI/O処理ル
ーチンのアドレスからなる表で、各エントリがそれぞれ
I/Oデバイスに対応する。アイドルスレッドはこのポ
ーリング処理リスト611を参照してポーリングを行
う。図13の構成は図10のそれとは異なり、割込みを
検出したときに実行するI/O処理ルーチン514をア
イドルスレッド513b内に持つのではなく、各I/O
ドライバの持つI/O処理ルーチン114を呼出すよう
にしている。
There may be a plurality of device controllers that perform a specific polling. FIG. 13 shows such multiple I
FIG. 3 is a diagram illustrating a configuration for polling an / O device. In the configuration shown in the figure, in addition to the configuration shown in FIG. 10, a polling process list 611 is provided in an idle thread.
The polling processing list 611 indicates the I to be polled.
Each entry corresponds to an I / O device in a table including a polling register having an address of a status register of the / O device and an address of an I / O processing routine to be executed correspondingly. The idle thread performs polling with reference to the polling processing list 611. The configuration of FIG. 13 is different from that of FIG. 10 in that the I / O processing routine 514 to be executed when an interrupt is detected is not provided in the idle thread 513b, and each I / O processing routine 514 is provided.
The I / O processing routine 114 of the driver is called.

【0035】この図13の構成による動作を図14、図
15を使い説明する。図14はスケジューラ511bの
動作を示す。S501、S502、S503の動作は図
11と同じである。S502で実行すべき処理がなかっ
た場合、S601に移る。S601でポーリング処理リ
ストを参照し、登録されている全てのI/Oデバイスか
らの割込みを禁止にする。そしてS602でアイドルス
レッド513を実行する。次のスケジューリングイベン
トによりアイドルスレッドからリターンすると、S60
3でS601で割込みを禁止した全てのI/Oデバイス
の割込み禁止を解除し、S501に戻り、次に実行する
スレッドへのスケジューリング処理を始める。
The operation of the configuration shown in FIG. 13 will be described with reference to FIGS. FIG. 14 shows the operation of the scheduler 511b. The operations in S501, S502, and S503 are the same as those in FIG. If there is no process to be executed in S502, the process proceeds to S601. In step S601, the polling process list is referenced, and interrupts from all registered I / O devices are prohibited. Then, the idle thread 513 is executed in S602. When returning from the idle thread due to the next scheduling event, S60
In step 3, the interrupt prohibition of all the I / O devices for which the interrupt is prohibited in step S601 is released, and the process returns to step S501 to start the scheduling process for the next thread to be executed.

【0036】図15はアイドルスレッド513bの動作
を示す。アイドルスレッド513bはポーリング処理リ
スト611を参照して、登録された全てのI/Oデバイ
スの状態レジスタに対するポーリングを行う。S611
でポーリング処理リストのエントリを得る。次にS61
2で取得したエントリのポーリングレジスタに設定され
ているI/Oデバイスの状態レジスタをポーリングし、
該当I/Oデバイスから割込みが到着しているか確認す
る。割込みが到着していなければ、S613でポーリン
グ処理リストの次のエントリにポインタを進め、S61
1に戻り次のI/Oデバイスに対応するエントリを得
る。S612で割込みの到着を検出した場合は、S61
4でアイドルスレッドはポーリング処理リストに登録さ
れたI/O処理ルーチン114を呼出し、必要なI/O
処理を行う。S611でポーリング処理リストの最後の
エントリに到達した場合はS615で先頭エントリにポ
インタを戻し、ポーリングを続ける。ポーリングは次の
スケジューリングイベントが発生するまで続ける。ポー
リング中にスケジューリングイベントが発生した場合は
スケジューラに戻りS603を実行する。
FIG. 15 shows the operation of the idle thread 513b. The idle thread 513b refers to the polling processing list 611 and performs polling on the status registers of all registered I / O devices. S611
To get an entry in the polling list. Next, S61
Poll the status register of the I / O device set in the polling register of the entry obtained in step 2,
Check whether an interrupt has arrived from the corresponding I / O device. If the interrupt has not arrived, the pointer is advanced to the next entry in the polling processing list in S613, and S61 is executed.
Return to 1 to obtain an entry corresponding to the next I / O device. If the arrival of the interrupt is detected in S612, the process proceeds to S61.
In step 4, the idle thread calls the I / O processing routine 114 registered in the polling processing list, and
Perform processing. If the last entry of the polling processing list has been reached in S611, the pointer is returned to the first entry in S615, and the polling is continued. Polling continues until the next scheduling event occurs. If a scheduling event occurs during polling, the process returns to the scheduler and executes S603.

【0037】実施の形態4.先に述べたように、ポーリ
ングは特定デバイスからの連続割込の際の処理時間の短
縮に有効である。ここでは、ポーリングの登録と解除の
手段を設けて、常に適切なI/Oデバイスのみに対して
ポーリングを行うケースを説明する。図16は本発明の
実施におけるオペレーティングシステムの割込み処理部
分の構成図である。本実施の形態では、先の各構成に加
えて、ポーリング処理リスト611に対して、オペレー
ティングシステム上で動作するアプリケーション713
から新しくポーリングするI/Oデバイスを登録する登
録I/F 711、登録されているI/Oデバイスを削
除する削除I/F 712を持つ。これらのI/Fから
呼出された処理はポーリング処理リストのエントリの操
作を行う。
Embodiment 4 FIG. As described above, polling is effective in reducing the processing time in the case of a continuous interrupt from a specific device. Here, a case will be described in which means for registering and canceling polling are provided, and only appropriate I / O devices are polled at all times. FIG. 16 is a configuration diagram of an interrupt processing portion of the operating system in the embodiment of the present invention. In the present embodiment, in addition to the above components, the polling process list 611 is added to the application 713 operating on the operating system.
Has a registration I / F 711 for registering a newly polled I / O device and a deletion I / F 712 for deleting a registered I / O device. The processing called from these I / Fs operates the entry of the polling processing list.

【0038】本実施の形態における構成の動作を図1
7、図18を使い説明する。スケジューラ511b、ア
イドルスレッド513bは実施の形態3と同じ動作を行
う。それに加えて、ポーリング処理リストへの登録I/
Fから呼出されたエントリ登録処理が、図17の動作を
行う。エントリ登録処理では、登録するI/Oデバイス
のポーリングする状態レジスタのアドレスと、割込みを
受けたときに実行するI/O処理ルーチンのアドレスを
引数として受け取る。まずS701でポーリング処理リ
スト611を参照し、エントリを得る。次にS702で
そのエントリにI/Oデバイスが登録されておらず空い
ているかどうかを確認する。エントリが既に使用されて
いる場合は、S703でポーリング処理リストの次のエ
ントリにポインタを進め、S701に戻る。S702で
空きエントリを見つけた場合は、S705に移り、引数
により受け渡されたI/Oデバイスの状態レジスタのア
ドレスを該エントリのポーリングレジスタ欄に、I/O
処理ルーチンのアドレスを該エントリのI/O処理ルー
チン欄に登録する。これでエントリ登録処理は完了す
る。S701でポーリング処理リストの最後のエントリ
に到達した場合は、S704で空きエントリが無いと
し、エラーを設定してエントリ登録処理を終了する。
FIG. 1 shows the operation of the configuration according to the present embodiment.
7 and FIG. The scheduler 511b and the idle thread 513b perform the same operation as in the third embodiment. In addition, the registration I /
The entry registration process called from F performs the operation of FIG. In the entry registration process, the address of the polling status register of the I / O device to be registered and the address of the I / O processing routine to be executed when an interrupt is received are received as arguments. First, an entry is obtained by referring to the polling process list 611 in S701. Next, in S702, it is confirmed whether the I / O device is not registered in the entry and is free. If the entry has already been used, the pointer is advanced to the next entry in the polling processing list in S703, and the process returns to S701. If an empty entry is found in S702, the process moves to S705, and the address of the status register of the I / O device passed by the argument is stored in the polling register column of the entry.
The address of the processing routine is registered in the I / O processing routine column of the entry. This completes the entry registration process. If the last entry in the polling process list has been reached in S701, it is determined that there is no empty entry in S704, an error is set, and the entry registration process ends.

【0039】ポーリング処理リストへの削除I/Fから
呼出されたエントリ削除処理は、図18の動作を行う。
エントリ削除処理では、削除するI/Oデバイスのポー
リングする状態レジスタのアドレスと、割込みを受けた
ときに実行するI/O処理ルーチンのアドレスを引数と
して受け取る。まずS711でポーリング処理リスト6
11を参照し、エントリを得る。次にS712で該エン
トリのポーリングレジスタ欄、I/O処理ルーチン欄を
確認し、引数で受け渡された状態レジスタアドレスとI
/O処理ルーチンのアドレスが同じかどうかを確認す
る。異なる場合は、S713でポーリング処理リストの
次のエントリにポインタを進め、S711に戻る。S7
12で引数で受け渡されたI/Oデバイスに対応するエ
ントリを見つけた場合は、S715に移り、該エントリ
を空きに設定する。これでエントリ削除処理は完了す
る。S711でポーリング処理リストの最後のエントリ
に到達した場合は、S714で指定された引数に対応す
るエントリが無いとし、エラーを設定してエントリ削除
処理を終了する。
The entry deletion processing called from the deletion I / F to the polling processing list performs the operation shown in FIG.
In the entry deletion processing, the address of the polling status register of the I / O device to be deleted and the address of the I / O processing routine to be executed when an interrupt is received are received as arguments. First, in S711, the polling processing list 6
11 and obtain an entry. Next, in S712, the polling register column and the I / O processing routine column of the entry are checked, and the status register address and I
Check whether the address of the / O processing routine is the same. If not, the pointer is advanced to the next entry in the polling process list in S713, and the process returns to S711. S7
If an entry corresponding to the I / O device passed as an argument is found in step S12, the process proceeds to step S715, and the entry is set to be empty. This completes the entry deletion process. If the last entry of the polling processing list has been reached in S711, it is determined that there is no entry corresponding to the argument specified in S714, an error is set, and the entry deletion processing ends.

【0040】本実施の形態におけるオペレーティングシ
ステムの割込み処理によれば、ポーリング処理リストに
対して、オペレーティングシステム上で動作するアプリ
ケーションからシステム実行中にポーリングするI/O
デバイスのエントリの登録、削除できるようにしたの
で、システムの実行状況、負荷、構成に対応して、柔軟
にアイドルスレッドのポーリングするI/Oデバイスを
変更できる。
According to the interrupt processing of the operating system in the present embodiment, an I / O that polls the polling processing list from an application operating on the operating system during system execution.
Since the entry of the device can be registered and deleted, the I / O device to be polled by the idle thread can be flexibly changed according to the execution status, load and configuration of the system.

【0041】ポーリングを行うかどうかは、過去のポー
リング実績に基いて検討することが有効である。ここで
はこうした実績に基づくポーリングの続行/解除を行う
ケースを説明する。図19は本実施の形態における他の
オペレーティングシステムの割込み処理部分の構成図で
ある。本構成は、ポーリング処理リスト811に割込み
検出回数欄を持つ。割込み検出回数は該当するI/Oデ
バイスに対するポーリングにより割込みを検出できた回
数を記録する。即ちポーリングが有効であった回数を記
憶している。さらにポーリング効果確認処理812を持
つ。ポーリング効果確認処理812はポーリング処理リ
スト811の割込み検出回数を参照し、ポーリングによ
る処理の待ち受けが有効であったかを確認する処理で、
アプリケーションからの要求や、定期的に実行するタイ
マ処理として起動する。
It is effective to determine whether to perform polling based on past polling results. Here, a case will be described in which polling is continued / canceled based on such results. FIG. 19 is a configuration diagram of an interrupt processing portion of another operating system according to the present embodiment. In this configuration, the polling processing list 811 has an interrupt detection count column. The number of times of interrupt detection records the number of times an interrupt can be detected by polling the corresponding I / O device. That is, the number of times polling is effective is stored. Further, it has a polling effect confirmation process 812. The polling effect confirmation processing 812 refers to the number of interrupt detections in the polling processing list 811 and confirms whether the waiting of the processing by polling is effective.
It starts as a request from an application or a timer process that is executed periodically.

【0042】本実施の形態における構成の動作を図2
0、図21を使い説明する。スケジューラ511bの動
作は実施の形態3の図14と同じである。アイドルスレ
ッド513cの動作を図20に示す。アイドルスレッド
のI/Oデバイスに対するポーリング動作は実施の形態
3と同じであるが、本実施の形態では新たに、ポーリン
グにより割込みを検出し該当するI/O処理を呼出すS
614の後で、ポーリング処理リストの割込み検出回数
をカウントアップするS801を加える。こうして、ポ
ーリングにより割込みの検出を行った場合は、ポーリン
グ処理リストの割込み検出回数欄がカウントアップされ
る。
FIG. 2 shows the operation of the configuration according to the present embodiment.
0 and FIG. The operation of the scheduler 511b is the same as in FIG. 14 of the third embodiment. FIG. 20 shows the operation of the idle thread 513c. The polling operation for the I / O device of the idle thread is the same as that of the third embodiment. However, in the present embodiment, an interrupt is newly detected by polling and the corresponding I / O process is called.
After 614, S801 is added to count up the number of interrupt detections in the polling processing list. In this way, when an interrupt is detected by polling, the interrupt detection frequency column of the polling processing list is counted up.

【0043】ポーリング効果確認処理812の動作を図
21に示す。ポーリング効果確認処理はアプリケーショ
ンからの要求、または定期的に起動されるタイマ処理と
して呼出す。ポーリング効果確認処理を呼出すと、まず
S811でポーリング処理リストのエントリを得る。次
にS812で取得したエントリの割込み検出回数を参照
し、その単位時間換算の値がシステムで設定した設定値
よりも大きいかどうかを確認する。この設定値は、割込
み頻度が低いためにポーリングを行っても実際には割込
みを検出することが少ないI/Oデバイスを判定するた
めの閾値である。S812で割込み検出回数が設定値よ
りも大きい場合は、エントリをそのままにし、ポーリン
グを継続させる。この場合はS813で次回のポーリン
グ効果確認処理のために割込み検出回数をリセットし、
S814でポーリング処理リストの次のエントリにポイ
ンタを進め、S811に戻って次のエントリに対する処
理を行う。S812で割込み検出回数が設定値以下の場
合は、該当I/Oデバイスに対するポーリングを止める
ようにし、S815で該当エントリを無効化する。そし
てS814に移り次のエントリに処理を進める。S81
1でポーリング処理リストの最後のエントリに到達した
場合は、ポーリング効果確認処理は完了する。なお、単
位時間換算の設定及び検出は、ポーリングに対する有効
実行処理できた割合としてもよい。
The operation of the polling effect confirmation processing 812 is shown in FIG. The polling effect confirmation process is called as a request from an application or a timer process started periodically. When the polling effect confirmation processing is called, first, an entry of the polling processing list is obtained in S811. Next, referring to the interrupt detection count of the entry acquired in S812, it is determined whether or not the unit time conversion value is larger than the set value set in the system. This set value is a threshold value for determining an I / O device that does not actually detect an interrupt even when polling is performed because the interrupt frequency is low. If the interrupt detection count is greater than the set value in S812, the entry is left as it is and polling is continued. In this case, in step S813, the number of interrupt detections is reset for the next polling effect confirmation processing,
In S814, the pointer is advanced to the next entry in the polling processing list, and the process returns to S811 to perform the processing for the next entry. If the interrupt detection count is equal to or less than the set value in S812, the polling for the corresponding I / O device is stopped, and the corresponding entry is invalidated in S815. Then, the process moves to S814 and proceeds to the next entry. S81
If the last entry of the polling processing list is reached in 1, the polling effect confirmation processing is completed. Note that the setting and detection of the unit time conversion may be a ratio at which the effective execution process for polling has been performed.

【0044】本実施の形態におけるオペレーティングシ
ステムの割込み処理によれば、ポーリング効果確認処理
により割込み検出回数を確認し、真に有効なI/Oデバ
イスに絞ってポーリングを継続するのでシステムの処理
効率を高めることができる。
According to the interrupt processing of the operating system in the present embodiment, the number of interrupt detections is confirmed by the polling effect confirmation processing, and the polling is continued by focusing on the only valid I / O devices. Can be enhanced.

【0045】[0045]

【発明の効果】以上述べたようにこの方法または構成に
よれば、OSからデバイスへの一部の処理をポーリング
で行うようにしたので、コンテキストスイッチによる処
理時間より短い時間で処理を実行できる効果がある。
As described above, according to this method or configuration, a part of the processing from the OS to the device is performed by polling, so that the processing can be executed in a shorter time than the processing time by the context switch. There is.

【0046】また更に、ポーリングの実行を優先度やO
Sの負荷によって選択して実行するようにしたので、O
Sの動作と特定デバイスの連続処理とをバランスよく行
える効果がある。
Furthermore, the execution of polling is performed by priority or O
S is selected and executed depending on the load of S.
There is an effect that the operation of S and the continuous processing of the specific device can be performed in a well-balanced manner.

【0047】または、OSの空き時間にポーリング処理
を行うようにしたので、計算機の処理を有効に利用でき
る効果がある。
Alternatively, since the polling processing is performed during the idle time of the OS, there is an effect that the processing of the computer can be used effectively.

【0048】また更に、ポーリングが有効であった結果
に基づいてポーリングを続行するようにしたので、処理
時間が更に高まる効果がある。
Further, since the polling is continued based on the result of the valid polling, the processing time is further increased.

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

【図1】 本発明の実施の形態1におけるOSの割り込
み処理部分の構成図である。
FIG. 1 is a configuration diagram of an interrupt processing portion of an OS according to a first embodiment of the present invention.

【図2】 実施の形態1におけるOSの動作を示すフロ
ー図である。
FIG. 2 is a flowchart showing an operation of an OS according to the first embodiment.

【図3】 実施の形態1における他のOSの割り込み処
理部分の構成図である。
FIG. 3 is a configuration diagram of an interrupt processing portion of another OS according to the first embodiment.

【図4】 実施の形態1における他のOSの動作を示す
フロー図である。
FIG. 4 is a flowchart showing an operation of another OS in the first embodiment.

【図5】 本発明の実施の形態2におけるOSの割り込
み処理部分の構成図である。
FIG. 5 is a configuration diagram of an interrupt processing portion of an OS according to a second embodiment of the present invention.

【図6】 実施の形態2におけるOSの動作を示すフロ
ー図である。
FIG. 6 is a flowchart showing an operation of an OS according to the second embodiment.

【図7】 実施の形態2における他のOSの動作を示す
フロー図である。
FIG. 7 is a flowchart showing an operation of another OS according to the second embodiment.

【図8】 実施の形態2における他のOSの割り込み処
理部分の構成図である。
FIG. 8 is a configuration diagram of an interrupt processing part of another OS according to the second embodiment.

【図9】 実施の形態2における他のOSの動作を示す
フロー図である。
FIG. 9 is a flowchart showing an operation of another OS in the second embodiment.

【図10】 本発明の実施の形態3におけるOSの割り
込み処理部分の構成図である。
FIG. 10 is a configuration diagram of an interrupt processing portion of an OS according to a third embodiment of the present invention.

【図11】 実施の形態3におけるスケジューラの動作
を示すフロー図である。
FIG. 11 is a flowchart showing an operation of a scheduler according to the third embodiment.

【図12】 実施の形態3におけるアイドルスレッドの
動作を示すフロー図である。
FIG. 12 is a flowchart showing an operation of an idle thread according to the third embodiment.

【図13】 実施の形態3における他のOSの割り込み
処理部分の構成図である。
FIG. 13 is a configuration diagram of an interrupt processing part of another OS according to the third embodiment.

【図14】 実施の形態3における他のスケジューラの
動作を示すフロー図である。
FIG. 14 is a flowchart showing an operation of another scheduler according to the third embodiment.

【図15】 実施の形態3における他のアイドルスレッ
ドの動作を示すフロー図である。
FIG. 15 is a flowchart showing an operation of another idle thread in the third embodiment.

【図16】 本発明の実施の形態4におけるOSの割り
込み処理部分の構成図である。
FIG. 16 is a configuration diagram of an interrupt processing portion of the OS according to the fourth embodiment of the present invention.

【図17】 実施の形態4におけるエントリ登録処理の
動作を示すフロー図である。
FIG. 17 is a flowchart showing an operation of an entry registration process in the fourth embodiment.

【図18】 実施の形態4におけるエントリ登録削除の
動作を示すフロー図である。
FIG. 18 is a flowchart showing an operation of entry registration deletion according to the fourth embodiment.

【図19】 実施の形態4における他のOSの割り込み
処理部分の構成図である。
FIG. 19 is a configuration diagram of an interrupt processing portion of another OS according to the fourth embodiment.

【図20】 実施の形態4におけるアイドルスレッドの
動作を示すフロー図である。
FIG. 20 is a flowchart showing an operation of an idle thread according to the fourth embodiment.

【図21】 実施の形態4におけるポーリング効果確認
処理の動作を示すフロー図である。
FIG. 21 is a flowchart showing an operation of a polling effect confirmation process according to the fourth embodiment.

【図22】 従来のマルチタスク割り込み処理を行う装
置の構成を示す図である。
FIG. 22 is a diagram showing a configuration of a conventional device for performing multitask interrupt processing.

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

101 情報処理装置、102 ネットワークコントロ
ーラ、110 オペレーティングシステム(OS)、1
11 割り込みディスパッチテーブル、112、112
b ネットワークドライバ、113 割り込みハンド
ラ、114、114b I/O処理ルーチン、121
状態レジスタ、211コンテキストスイッチ時間情報
(テーブル)、212 割り込み時間間隔情報テーブ
ル、311 通信パケット、312 優先度情報、31
3 処理優先度情報(テーブル)、411 CPU負荷
情報(テーブル)、511、511b スケジューラ、
512レディキュー、513、513b、513c ア
イドルスレッド、611 ポーリング情報リスト、71
1 ポーリング登録I/F、712 ポーリング削除I
/F、713 アプリケーション、811 ポーリング
処理リスト、S104割り込み禁止ステップ、S105
ポーリングで状態を検出するステップ、S106 ポ
ーリング回数チェックステップ、S108 割り込み解
除ステップ、S201 割り込み時間情報テーブル更新
ステップ、S204 時間比較ステップ、S302、S
304 優先度情報参照ステップ、S402 CPU負
荷値参照ステップ、S505 アイドルスレッド実行ス
テップ、S511 ポーリングで状態を検出するステッ
プ、S512I/O処理実行ステップ、S601 アイ
ドルスレッド実行ステップ、S611 ポーリング処理
リストチェックステップ、S612 ポーリングで状態
を検出するステップ、S705 登録ステップ、S71
5 エントリから削除するステップ、S801 有効ポ
ーリング回数検出ステップ、S812 指定値との比較
ステップ。
101 information processing device, 102 network controller, 110 operating system (OS), 1
11 Interrupt dispatch table, 112, 112
b network driver, 113 interrupt handler, 114, 114b I / O processing routine, 121
Status register, 211 context switch time information (table), 212 interrupt time interval information table, 311 communication packet, 312 priority information, 31
3 processing priority information (table), 411 CPU load information (table), 511, 511b scheduler,
512 ready queue, 513, 513b, 513c idle thread, 611 polling information list, 71
1 Polling registration I / F, 712 Polling delete I
/ F, 713 application, 811 polling process list, S104 interruption prohibition step, S105
Step of detecting the state by polling, S106 Polling count check step, S108 Interrupt release step, S201 Interrupt time information table update step, S204 Time comparison step, S302, S
304 Priority information reference step, S402 CPU load value reference step, S505 idle thread execution step, S511 polling state detection step, S512 I / O processing execution step, S601 idle thread execution step, S611 polling processing list check step, S612 Step of detecting state by polling, S705 registration step, S71
5 Step of deleting from entry, S801 Valid polling count detection step, S812 Comparison with specified value.

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B014 FA05 FA09 FA16 FB04 5B098 AA05 BA01 BB01 BB06 BB12 DD06 GA02 GA04 GA07 GD07 GD14  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B014 FA05 FA09 FA16 FB04 5B098 AA05 BA01 BB01 BB06 BB12 DD06 GA02 GA04 GA07 GD07 GD14

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 割込によりI/O(入出力)ドライバを
制御するマルチタスク処理を行うオペレーティングシス
テムにおいて、 上記割込要求に基づくデバイスへのドライバ処理を完了
後、該ドライバへの割込要求を禁止するステップと、 ポーリングにより上記デバイスの状態を調べて処理をす
るステップと、 所定の期間上記ポーリングを行うと、上記割込要求の禁
止を解除するステップとを備えたことを特徴とする専用
ポーリング処理組み込みオペレーティング方法。
1. An operating system for performing a multitask process for controlling an I / O (input / output) driver by an interrupt, comprising: completing a driver process for a device based on the interrupt request; Prohibiting, interrupting, checking the status of the device by polling, and releasing the interrupt request after performing the polling for a predetermined period of time. Polling processing Embedded operating method.
【請求項2】 対象の割込間隔実績によってポーリング
の可否を定めるようにしたことを特徴とする請求項1記
載の専用ポーリング処理組み込みオペレーティング方
法。
2. The operating method according to claim 1, wherein whether or not polling is possible is determined based on the actual interruption interval of the target.
【請求項3】 優先度情報を定め、該優先度情報に基づ
いてポーリングの可否を定めるようにしたことを特徴と
する請求項1記載の専用ポーリング処理組み込みオペレ
ーティング方法。
3. The dedicated polling processing embedded operating method according to claim 1, wherein priority information is determined, and whether polling is permitted or not is determined based on the priority information.
【請求項4】 オペレーティングシステムの負荷状況を
調べ、該負荷状況が所定値以下の場合にポーリングを行
うようにしたことを特徴とする請求項1記載の専用ポー
リング処理組み込みオペレーティング方法。
4. The operating method according to claim 1, wherein the load status of the operating system is checked and polling is performed when the load status is equal to or less than a predetermined value.
【請求項5】 割込によりI/Oドライバを制御するマ
ルチタスク処理を行うオペレーティングシステムにおい
て、 上記割込要求対応の処理を実行後、他の割り込み要求が
無い空き状態であると、特定のデバイスへのドライバに
対しポーリングして該デバイスの状態を調べて処理をす
るステップを備えたことを特徴とする専用ポーリング処
理組み込みオペレーティング方法。
5. An operating system for performing a multitask process for controlling an I / O driver by an interrupt, wherein after executing the process corresponding to the interrupt request, if there is no other interrupt request in the idle state, the specific device A dedicated polling process built-in operating method, comprising a step of polling a driver to check the status of the device and processing the device.
【請求項6】 特定のデバイスを複数のリストに登録し
て、ポーリング処理ステップは、オペレーティングシス
テムが空き状態であると、該登録した複数のデバイスに
対して所定の順でポーリングして各々のデバイスの状態
を調べて処理をするステップとしたことを特徴とする請
求項5記載の専用ポーリング処理組み込みオペレーティ
ング方法。
6. A polling processing step of registering a specific device in a plurality of lists and polling the plurality of registered devices in a predetermined order when the operating system is in an idle state. 6. The operating method according to claim 5, further comprising the step of examining the state of the program and performing processing.
【請求項7】 ポーリングによる実処理が実行できた割
合または回数をデバイス毎に記録するステップを備え、 上記割合または単位時間当たりの実行回数が所定値以上
の場合に、以後のポーリングを続けるようにしたことを
特徴とする請求項1または請求項5記載の専用ポーリン
グ処理組み込みオペレーティング方法。
7. A step of recording, for each device, a ratio or the number of times the actual processing by polling has been executed, and when the ratio or the number of executions per unit time is equal to or more than a predetermined value, continue polling thereafter. 6. The operating method according to claim 1, wherein said dedicated polling process is incorporated.
【請求項8】 割込によりI/O(入出力)ドライバを
制御するマルチタスク処理を行うオペレーティングシス
テムにおいて、 上記割込要求に基づくデバイスへのドライバ処理を完了
後、該ドライバへの割込要求を禁止し、ポーリングによ
り上記デバイスの状態を調べて処理をし、所定の期間上
記ポーリングを行って後、上記ドライバへの割込要求の
禁止を解除するプログラム、を備えたことを特徴とする
専用ポーリング処理組み込みオペレーティングシステ
ム。
8. An operating system for performing a multitask process for controlling an I / O (input / output) driver by means of an interrupt, comprising: completing a driver process for a device based on the interrupt request; A program that checks the status of the device by polling, processes the device, performs the polling for a predetermined period, and then cancels the prohibition of the interrupt request to the driver. Polling processing Embedded operating system.
【請求項9】 割込によりI/Oドライバを制御するマ
ルチタスク処理を行うオペレーティングシステムにおい
て、 上記割込要求対応の処理を実行後、他の割り込み要求が
無い空き状態であると優先動作するアイドルスレッドを
備えて、上記アイドルスレッドは、特定デバイスのドラ
イバに対しポーリングで該デバイスの状態を調べて処理
をするようにしたことを特徴とする専用ポーリング処理
組み込みオペレーティングシステム。
9. An operating system for performing a multitasking process for controlling an I / O driver by an interrupt, wherein after executing the process corresponding to the interrupt request, the idle operation which preferentially operates when there is no other interrupt request in an idle state. A dedicated polling processing embedded operating system comprising a thread, wherein the idle thread checks the status of the device by polling a driver of the specific device and performs processing.
JP2000021295A 2000-01-31 2000-01-31 Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing Abandoned JP2001216170A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000021295A JP2001216170A (en) 2000-01-31 2000-01-31 Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000021295A JP2001216170A (en) 2000-01-31 2000-01-31 Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing

Publications (1)

Publication Number Publication Date
JP2001216170A true JP2001216170A (en) 2001-08-10

Family

ID=18547719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000021295A Abandoned JP2001216170A (en) 2000-01-31 2000-01-31 Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing

Country Status (1)

Country Link
JP (1) JP2001216170A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126138A1 (en) * 2007-03-26 2008-10-23 Fujitsu Limited Input/output completion detecting system
WO2009060530A1 (en) * 2007-11-09 2009-05-14 Fujitsu Limited Network processing control device, program, and method
JP2009238001A (en) * 2008-03-27 2009-10-15 Texas Instr Japan Ltd Computer system
JP2013537656A (en) * 2010-06-23 2013-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション Control the speed at which adapter interrupt requests are processed
JP2015036991A (en) * 2013-08-14 2015-02-23 インテル コーポレイション Socket management with reduced latency packet processing
US9389923B2 (en) 2012-12-14 2016-07-12 Fujitsu Limited Information processing device and method for controlling information processing device
JP2019020853A (en) * 2017-07-12 2019-02-07 富士通株式会社 Information processing device, information processing method and program
CN111580949A (en) * 2020-04-30 2020-08-25 成都安恒信息技术有限公司 Automatic network packet receiving mode adjusting method
JP2020197537A (en) * 2020-08-12 2020-12-10 シチズン時計株式会社 Event notification system, electronic timepiece, and event notification method
JP2020197538A (en) * 2020-08-12 2020-12-10 シチズン時計株式会社 Event notification system, electronic timepiece, and event notification method
US10884786B2 (en) 2018-09-18 2021-01-05 Kabushiki Kaisha Toshiba Switch device, switching method, and computer program product
WO2023243000A1 (en) * 2022-06-15 2023-12-21 ファナック株式会社 Robot control device

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126138A1 (en) * 2007-03-26 2008-10-23 Fujitsu Limited Input/output completion detecting system
WO2009060530A1 (en) * 2007-11-09 2009-05-14 Fujitsu Limited Network processing control device, program, and method
JP4747307B2 (en) * 2007-11-09 2011-08-17 富士通株式会社 Network processing control device, program, and method
US8032679B2 (en) 2007-11-09 2011-10-04 Fujitsu Limited Device and method for controlling network processing mode, and non-transitory computer-readable medium recording program for controlling network processing mode
JP2009238001A (en) * 2008-03-27 2009-10-15 Texas Instr Japan Ltd Computer system
JP2013537656A (en) * 2010-06-23 2013-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション Control the speed at which adapter interrupt requests are processed
US9389923B2 (en) 2012-12-14 2016-07-12 Fujitsu Limited Information processing device and method for controlling information processing device
US10305813B2 (en) 2013-08-14 2019-05-28 Intel Corporation Socket management with reduced latency packet processing
US9558132B2 (en) 2013-08-14 2017-01-31 Intel Corporation Socket management with reduced latency packet processing
JP2015036991A (en) * 2013-08-14 2015-02-23 インテル コーポレイション Socket management with reduced latency packet processing
JP2019020853A (en) * 2017-07-12 2019-02-07 富士通株式会社 Information processing device, information processing method and program
US10884733B2 (en) 2017-07-12 2021-01-05 Fujitsu Limited Information processing apparatus, and information processing method
US10884786B2 (en) 2018-09-18 2021-01-05 Kabushiki Kaisha Toshiba Switch device, switching method, and computer program product
CN111580949A (en) * 2020-04-30 2020-08-25 成都安恒信息技术有限公司 Automatic network packet receiving mode adjusting method
CN111580949B (en) * 2020-04-30 2023-08-22 成都安恒信息技术有限公司 Automatic regulating method for network packet receiving mode
JP2020197537A (en) * 2020-08-12 2020-12-10 シチズン時計株式会社 Event notification system, electronic timepiece, and event notification method
JP2020197538A (en) * 2020-08-12 2020-12-10 シチズン時計株式会社 Event notification system, electronic timepiece, and event notification method
JP7028925B2 (en) 2020-08-12 2022-03-02 シチズン時計株式会社 Event notification system, electronic clock and event notification method
JP7068399B2 (en) 2020-08-12 2022-05-16 シチズン時計株式会社 Event notification system, electronic clock and event notification method
WO2023243000A1 (en) * 2022-06-15 2023-12-21 ファナック株式会社 Robot control device

Similar Documents

Publication Publication Date Title
US20090106762A1 (en) Scheduling Threads In A Multiprocessor Computer
JP2001216170A (en) Operation method incorporating exclusive polling processing, operating system incorporating exclusive polling processing
US8478972B2 (en) Methods and apparatus for handling switching among threads within a multithread processor
JP5099090B2 (en) Multi-core system, multi-core system control method, and multi-processor
US20110078702A1 (en) Multiprocessor system
CN111897637B (en) Job scheduling method, device, host and storage medium
WO2012113232A1 (en) Method and device for adjusting clock interrupt cycle
US10891171B2 (en) Method, apparatus and device for transitioning between data and control core and migrating clock task from data core to control core
JP4609113B2 (en) Processor
KR20000060827A (en) method for implementation of transferring event in real-time operating system kernel
JP2001282558A (en) Multi-operating computer system
JP2008225641A (en) Computer system, interrupt control method and program
US7904703B1 (en) Method and apparatus for idling and waking threads by a multithread processor
US10949367B2 (en) Method for handling kernel service request for interrupt routines in multi-core environment and electronic device thereof
JP2007323256A (en) Interruption control method and information processor
WO2007094460A1 (en) Parallel processing device and exclusive access control
JP2677175B2 (en) External event detection method for computer system
US11461134B2 (en) Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor
KR101423957B1 (en) Method for improving the performance of touch screen in mobile device, and Apparatus thereof
JP2007128396A (en) Interrupt control method and information processor
JP3538833B2 (en) Dynamic method of idle waiting time
JPH0644087A (en) Scheduling control system of computer system
JPH10247161A (en) Memory management system
JPS61118841A (en) Processing delay preventing system of computer system
JP2004208181A (en) Communication controller

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040517

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050817

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20050912