JP4877317B2 - Information processing apparatus and interrupt control method - Google Patents

Information processing apparatus and interrupt control method Download PDF

Info

Publication number
JP4877317B2
JP4877317B2 JP2008319498A JP2008319498A JP4877317B2 JP 4877317 B2 JP4877317 B2 JP 4877317B2 JP 2008319498 A JP2008319498 A JP 2008319498A JP 2008319498 A JP2008319498 A JP 2008319498A JP 4877317 B2 JP4877317 B2 JP 4877317B2
Authority
JP
Japan
Prior art keywords
interrupt
load
delay
control unit
notification
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.)
Expired - Fee Related
Application number
JP2008319498A
Other languages
Japanese (ja)
Other versions
JP2010146065A (en
Inventor
紀孝 津
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008319498A priority Critical patent/JP4877317B2/en
Publication of JP2010146065A publication Critical patent/JP2010146065A/en
Application granted granted Critical
Publication of JP4877317B2 publication Critical patent/JP4877317B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、情報処理装置及び割り込み制御方法に関し、特に、ハードウェア共有環境におけるオペレーティングシステム間の割込みを制御する情報処理装置及び割り込み制御方法に関する。   The present invention relates to an information processing apparatus and an interrupt control method, and more particularly to an information processing apparatus and an interrupt control method for controlling an interrupt between operating systems in a hardware sharing environment.

1つの計算機上に複数のオペレーティングシステム(以下、OSと称する。)を備え、これら複数のOSがハードウェア資源を共有するシステムが開発されている。例えば、1つの計算機上にリアルタイムOSと汎用OSという2種類のOSが混在し、ハードウェア資源のうち、中央処理演算装置(以下、CPUと称する。)とメモリを静的に分割して、各OSのそれぞれが占有して使用するシステムがある。ここで、このようなシステムでは、入出力装置(以下、IOデバイスと称する。)などの他のハードウェア資源については、全てのOSが共有して使用するものと、各OSが占有して使用するものがある。   A system in which a plurality of operating systems (hereinafter referred to as OSs) are provided on one computer and the plurality of OSs share hardware resources has been developed. For example, a real-time OS and a general-purpose OS are mixed on one computer, and among the hardware resources, a central processing unit (hereinafter referred to as a CPU) and a memory are statically divided to each of them. There is a system that each OS occupies and uses. Here, in such a system, as for other hardware resources such as an input / output device (hereinafter referred to as an IO device), all the OSs share and use them, and each OS occupies and uses them. There is something to do.

また、関連する技術として、例えば特許文献1に記載の情報処理装置がある。特許文献1に記載の情報処理装置は、主OSと副OSが動作するシステムであり、主OSがすべての割り込み要求を受け取り、副OSが割り込み可能かつ実行可能な状態のときに必要な割り込みを配送する。かかるシステムは、主OSの判断に従って副OSを制御することを目的としたものであるが、例えば、それぞれ独立して動作する主OSと副OSが一部のハードウェア資源を共有している場合に、主OSの負荷を低減させる制御に適用することは困難である。   As a related technique, for example, there is an information processing apparatus described in Patent Document 1. The information processing apparatus described in Patent Document 1 is a system in which a main OS and a sub OS operate, and the main OS receives all interrupt requests, and issues necessary interrupts when the sub OS is in an interruptible and executable state. to deliver. Such a system is intended to control the sub-OS according to the judgment of the main OS. For example, when the main OS and the sub-OS that operate independently share some hardware resources, for example. In addition, it is difficult to apply to control for reducing the load on the main OS.

さらにまた、他の関連する技術として、例えば特許文献2に記載の情報伝送装置がある。特許文献2に記載の情報伝送装置は、一定時間内に発生する割込回数を監視し、その回数に基づきチャネル異常を検出し、また、割込発生元のチャネルを一定時間停止する。かかる情報伝送装置は、複数のOSが混在するシステムを対象とするものではない。   Furthermore, as another related technique, for example, there is an information transmission apparatus described in Patent Document 2. The information transmission apparatus described in Patent Document 2 monitors the number of interrupts that occur within a certain period of time, detects a channel abnormality based on the number of interruptions, and stops the interrupt source channel for a certain period of time. Such an information transmission apparatus is not intended for a system in which a plurality of OSs are mixed.

また、他の関連する技術として、例えば特許文献3に記載の計算機システムがある。特許文献3に記載の計算機システムは、IOデバイスを共用するものである。
特開2006−099331号公報 特開平01−258162号公報 特開2007−148621号公報
As another related technique, there is a computer system described in Patent Document 3, for example. The computer system described in Patent Document 3 shares an IO device.
JP 2006-099331 A Japanese Patent Laid-Open No. 01-258162 JP 2007-148621 A

複数のOSがIOデバイスなどのハードウェア資源を共有して使用する場合に、共有しているIOデバイスなどから発生した割り込みは、リアルタイムOSに対して最初に通知される。これは、汎用OSに比べてより優先順位の高いリアルタイムOSは、IOデバイスに関係する処理においてリアルタイム性が要求され、優先的に割り込みを受け取る必要があるためである。そして、割り込みを受け取ったリアルタイムOSは、受け取った割り込みがどのOS向けの割り込みであったかを判別し、汎用OS向けの割り込みであった場合には、受取った割込みを汎用OSへと転送する。割込みを受取った汎用OSは、割り込みを発生するIO処理を実行する。   When a plurality of OSs share and use hardware resources such as IO devices, an interrupt generated from the shared IO device is first notified to the real-time OS. This is because a real-time OS having a higher priority than a general-purpose OS requires real-time performance in processing related to an IO device and needs to receive an interrupt preferentially. The real-time OS that has received the interrupt determines which OS the received interrupt is for, and if the interrupt is for the general-purpose OS, transfers the received interrupt to the general-purpose OS. The general-purpose OS that has received the interrupt executes an IO process that generates the interrupt.

ここで、割り込みがリアルタイムOSを経由して汎用OSに通知される場合には、このような割り込みはリアルタイムOS上の処理とは関係がないにも関わらず、汎用OS上の処理によってリアルタイムOSは影響を受けてしまう。すなわち、優先順位が低い汎用OSによって割り込みが大量に発生した場合には、優先順位が高いリアルタイムOSへの割り込みが大量に通知されることになるため、リアルタイムOSにおいては、割り込みを転送するための負荷が高まり、その性能の低下要因となる。例えば、汎用OSにより割り込みを発生させるIO処理を大量に実行した場合には、リアルタイムOSに対して大量の割り込みが通知され、その結果、リアルタイムOS上の処理が阻害されるという問題があった。   Here, when the interrupt is notified to the general-purpose OS via the real-time OS, the real-time OS can be processed by the processing on the general-purpose OS, even though such an interrupt is not related to the processing on the real-time OS. It will be affected. That is, when a large number of interrupts are generated by the general-purpose OS having a low priority, a large number of interrupts to the real-time OS having a high priority are notified. The load increases and the performance is reduced. For example, when a large amount of IO processing that generates interrupts is performed by the general-purpose OS, a large amount of interrupts are notified to the real-time OS, and as a result, there is a problem that processing on the real-time OS is hindered.

従って、本発明の目的は、優先順位の高いOSと優先順位の低いOSがハードウェア資源を共有する場合に、割り込み処理に関して、優先順位の高いOSの負荷を低減可能な情報処理装置及び割り込み制御方法を提供することにある。   Accordingly, an object of the present invention is to provide an information processing apparatus and interrupt control capable of reducing the load of an OS with a high priority regarding interrupt processing when an OS with a high priority and an OS with a low priority share hardware resources. It is to provide a method.

本発明の第1の態様に係る情報処理装置は、優先順位の高い第1のOSと、当該第1のOSとハードウェア資源を共有する優先順位の低い第2のOSを備え、当該ハードウェア資源より第1のOSが割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する情報処理装置であって、前記第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定する負荷制御手段と、前記負荷制御手段が負荷が大きいと判定した場合に、前記ハードウェア資源による割り込み処理を発生させる、前記第2のOSの処理を遅延させる遅延制御手段とを備えたものである。   An information processing apparatus according to a first aspect of the present invention includes a first OS with a high priority, and a second OS with a low priority that shares hardware resources with the first OS. When the first OS receives an interrupt notification from a resource, the information processing apparatus executes an interrupt notification transfer process to the second OS when the interrupt is not processed by the first OS, A load control unit that detects a load associated with the transfer process of the first OS and determines a load state associated with the transfer process; and an interrupt by the hardware resource when the load control unit determines that the load is large And delay control means for delaying the processing of the second OS for generating the processing.

本発明の第2の態様に係る割込み制御方法は、優先順位の低い第2のOSとハードウェア資源を共有し、優先順位の高い第1のOSに対して当該ハードウェア資源からの割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する割り込み制御方法であって、前記第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定する負荷状態判定ステップと、前記負荷が大きいと判定した場合に、前記ハードウェア資源による割り込み処理を発生させる、前記第2のOSの処理を遅延させる遅延制御ステップとを備えたものである。   The interrupt control method according to the second aspect of the present invention shares a hardware resource with a second OS having a low priority, and sends an interrupt notification from the hardware resource to the first OS having a high priority. An interrupt control method for executing an interrupt notification transfer process for the second OS when the interrupt is not processed by the first OS when received, and a load associated with the transfer process of the first OS And a load state determination step for determining a load state associated with the transfer process, and a process of the second OS that generates an interrupt process by the hardware resource when the load is determined to be large. And a delay control step for delaying.

本発明によれば、優先順位の高いOSと優先順位の低いOSがハードウェア資源を共有する場合に、割り込み処理に関して、優先順位の高いOSの負荷を低減可能な情報処理装置及び割り込み制御方法を提供することができる。   According to the present invention, there is provided an information processing apparatus and an interrupt control method capable of reducing the load of an OS having a high priority regarding interrupt processing when an OS having a high priority and an OS having a low priority share hardware resources. Can be provided.

以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡潔化がなされている。各図面において同一の構成又は機能を有する構成要素及び相当部分には、同一の符号を付し、その説明を省略する。   Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. In the drawings, components having the same configuration or function and corresponding parts are denoted by the same reference numerals, and description thereof is omitted.

実施の形態1.
図1は、本実施の形態1に係る情報処理装置の全体構成を示す図である。図1に示すように、情報処理装置1は、複数のOS(OS(1)11及びOS(2)12)と、ディスク13と、イーサネット(登録商標)14と、バスコントローラ(Bus Controller)15と、複数のCPU(CPU(1)16、CPU(2)17、CPU(3)18、CPU(4)19)とを備えるシステムである。
Embodiment 1 FIG.
FIG. 1 is a diagram showing an overall configuration of the information processing apparatus according to the first embodiment. As shown in FIG. 1, the information processing apparatus 1 includes a plurality of OSs (OS (1) 11 and OS (2) 12), a disk 13, an Ethernet (registered trademark) 14, and a bus controller (Bus Controller) 15. And a plurality of CPUs (CPU (1) 16, CPU (2) 17, CPU (3) 18, CPU (4) 19).

OS(1)11及びOS(2)12は、ハードウェア資源のうち、CPU16〜19とメモリ(不図示)については、それぞれ静的に分割して使用する。すなわち、OS(1)11はCPU(1)16とCPU(2)17を使用し、OS(2)12はCPU(3)18とCPU(4)19を使用する。また、メモリ(不図示)は、複数の領域に分割され、OS(1)11及びOS(2)12は、それぞれ対応する領域を使用する。CPU及びメモリを除く他のハードウェア資源については、OS(1)11及びOS(2)12は、いずれかのOSが占有して使用する、或いは、2つのOSにより共有して使用する。このようにシステムを必要最低限のハードウェア資源により構成し、ハードウェア資源を共有して使用することで、各OS用にハードウェア資源を用意せずに済み、コストを抑制することができる。以下では、ディスク13とイーサネット(登録商標)14が、共有するハードウェア資源であるものとして説明する。   Of the hardware resources, the OS (1) 11 and the OS (2) 12 use the CPUs 16 to 19 and the memory (not shown) in a statically divided manner. That is, OS (1) 11 uses CPU (1) 16 and CPU (2) 17, and OS (2) 12 uses CPU (3) 18 and CPU (4) 19. The memory (not shown) is divided into a plurality of areas, and the OS (1) 11 and the OS (2) 12 use corresponding areas. As for other hardware resources other than the CPU and the memory, the OS (1) 11 and the OS (2) 12 are used exclusively by one of the OSs or are shared and used by the two OSs. By configuring the system with the minimum necessary hardware resources in this way and sharing and using the hardware resources, it is not necessary to prepare hardware resources for each OS, and costs can be reduced. In the following description, it is assumed that the disk 13 and the Ethernet (registered trademark) 14 are shared hardware resources.

本実施の形態では、OS(1)11及びOS(2)12に対して、優先順位が設定されている。優先順位が高いOS上では、高いリアルタイム性が要求されるような、システムとして優先すべきプログラムが実行される。以下では、OS(2)12は汎用OSであり、OS(1)11は汎用OSよりも優先順位の高いリアルタイムOSであるものとして説明する。   In this embodiment, priorities are set for the OS (1) 11 and the OS (2) 12. On an OS having a high priority, a program that should be prioritized as a system is executed so that high real-time performance is required. In the following description, it is assumed that the OS (2) 12 is a general-purpose OS, and the OS (1) 11 is a real-time OS having a higher priority than the general-purpose OS.

バスコントローラ15は、共有しているハードウェア資源の割り込みを管理しており、割込みが発生した場合には、優先順位の高いOS(1)11に対して割込みを通知する。これは、システムは、どのOSにより割り込みを発生させる操作が行われたのかが不明であるため、バスコントローラ15を経由して、優先順位の高いOS(1)11へと割込みを最初に通知するためである。そして、割込みを受取ったOS(1)11は、割り込みが自身により処理すべき割り込みであるか否かを確認し、自身により処理すべき割り込みでない場合には、より優先順位の低いOS(2)12へと割り込みを転送する。   The bus controller 15 manages an interrupt of a shared hardware resource, and when an interrupt occurs, notifies the interrupt to the OS (1) 11 having a higher priority. This is because the system does not know which OS has caused an operation to generate an interrupt, so the system first notifies the interrupt to the OS (1) 11 having a higher priority via the bus controller 15. Because. Then, the OS (1) 11 that has received the interrupt checks whether or not the interrupt is an interrupt to be processed by itself, and if it is not an interrupt to be processed by itself, the OS (2) having a lower priority order. Transfer the interrupt to 12.

OS(2)12がハードウェア資源を操作することで割り込みを発生させた場合には、バスコントローラ15を介して、OS(1)11に対して割り込みが最初に通知される。OS(2)12の動作に伴いOS(1)11における処理が発生するが、この処理の際にOS(1)11に対して掛かる負荷が、システム設計時の見積もり範囲内に収まる場合であれば問題はない。しかし、OS(2)12による割り込みの発生回数が、見積もり範囲を大幅に超過した場合には、OS(1)11における処理の負荷が増大してしまい、OS(1)11の本来の処理が阻害されるという問題がある。ここで、通知される割り込みがどのOSに対するものであるかは不明であるため、OS(1)11により、割り込みの処理や転送の実行を停止することはできない。そこで、本実施の形態1に係る情報処理装置1は、優先順位の低いOS(2)12により発生した割り込みが、優先順位の高いOS(1)11の動作を妨げないように、OS(1)11とOS(2)12が協調し、OS(1)11の割り込みによる負荷が高くなった場合には、OS(2)12に負荷の情報を通知してOS(2)12における割り込みの発生要因となる処理の頻度を制御することで、OS(2)12による割り込みがOS(1)11に与える影響を抑制するものである。   When the OS (2) 12 generates an interrupt by operating a hardware resource, the interrupt is first notified to the OS (1) 11 via the bus controller 15. A process in the OS (1) 11 occurs along with the operation of the OS (2) 12. Even if the load applied to the OS (1) 11 during this process falls within the estimated range at the time of system design. There is no problem. However, when the number of interrupts generated by the OS (2) 12 greatly exceeds the estimated range, the processing load on the OS (1) 11 increases, and the original processing of the OS (1) 11 is not performed. There is a problem of being obstructed. Here, since it is unclear to which OS the interrupt to be notified is, the OS (1) 11 cannot stop interrupt processing and transfer execution. Therefore, the information processing apparatus 1 according to the first embodiment has the OS (1) so that the interrupt generated by the OS (2) 12 with the lower priority does not disturb the operation of the OS (1) 11 with the higher priority. ) 11 and OS (2) 12 cooperate, and when the load due to the interrupt of OS (1) 11 increases, the load information is notified to OS (2) 12 and the interrupt of OS (2) 12 By controlling the frequency of processing that is a cause of occurrence, the influence of the interruption by the OS (2) 12 on the OS (1) 11 is suppressed.

次に、図2を参照して、本実施の形態1に係る情報処理装置1の構成について、より詳細に説明する。図に示すように、情報処理装置1は、OS(1)11と、OS(2)12と、デバイス60を備える。   Next, the configuration of the information processing apparatus 1 according to the first embodiment will be described in more detail with reference to FIG. As illustrated, the information processing apparatus 1 includes an OS (1) 11, an OS (2) 12, and a device 60.

OS(2)12は、スレッド31と、ドライバ40と、遅延時間管理部50を備えている。ドライバ40は、入口処理部41と、遅延処理部42と、IO発行処理部43と、出口処理部44を備えている。遅延時間管理部50は、遅延時間データ51を保持している。   The OS (2) 12 includes a thread 31, a driver 40, and a delay time management unit 50. The driver 40 includes an entrance processing unit 41, a delay processing unit 42, an IO issue processing unit 43, and an exit processing unit 44. The delay time management unit 50 holds delay time data 51.

遅延時間管理部50は、OS(1)11の負荷制御部70から負荷通知を受けて、遅延時間データ51を設定する。ドライバ40は、IO発行処理部43による処理に先立ち遅延処理部42による遅延処理を実行する。遅延処理部42は、遅延時間管理部50に設定された遅延時間データ51を参照して遅延が必要かどうかを判断し、遅延が必要な場合には遅延処理を実行する。他方で、遅延が終了した場合、或いは、遅延が必要でないと判断した場合には遅延処理を終了する。遅延処理部42による遅延処理が終了した場合には、IO発行処理部43は、IOを発行することでデバイス60を操作する。デバイス60は、命令された処理を実行し、処理が終了した場合には、OS(1)11に対して割り込みを通知する。   The delay time management unit 50 receives the load notification from the load control unit 70 of the OS (1) 11, and sets the delay time data 51. The driver 40 executes delay processing by the delay processing unit 42 prior to processing by the IO issue processing unit 43. The delay processing unit 42 refers to the delay time data 51 set in the delay time management unit 50 to determine whether a delay is necessary, and executes a delay process if a delay is necessary. On the other hand, when the delay ends or when it is determined that the delay is not necessary, the delay processing is ended. When the delay processing by the delay processing unit 42 is completed, the IO issue processing unit 43 operates the device 60 by issuing an IO. The device 60 executes the instructed process, and when the process is completed, notifies the OS (1) 11 of an interrupt.

OS(1)11は、負荷制御部70を備えている。負荷制御部70は、平均割り込み頻度データ71と、平均タスク待ち時間データ72を保持している。OS(1)11は、割り込みが自分宛のものであるか否かを判断し、自分宛の割り込みでない場合には、OS(2)12に対して割り込みを転送すると共に、割り込みによる負荷の統計情報を負荷制御部70により取得する。ここでは、負荷の統計情報として、平均割り込み頻度データ70と平均タスク待ち時間データ72を取得する。負荷制御部70は、取得した負荷の統計情報を予め定めた閾値と比較して、割り込みによる負荷が高いと判断した場合には、OS(2)12に対して負荷を通知する。負荷の通知を受けたOS(2)12は、割り込みを処理した後、遅延時間管理部50により遅延時間データ51を更新する。なお、本例では、平均割り込み頻度データ71と平均タスク待ち時間データ72の双方を用いて負荷の状態を判定しているが、いずれか一方のデータを用いて判定してもよい。   The OS (1) 11 includes a load control unit 70. The load control unit 70 holds average interrupt frequency data 71 and average task waiting time data 72. The OS (1) 11 determines whether or not the interrupt is addressed to itself. If the interrupt is not addressed to itself, the OS (1) 11 transfers the interrupt to the OS (2) 12 and calculates the load statistics due to the interrupt. Information is acquired by the load control unit 70. Here, average interrupt frequency data 70 and average task wait time data 72 are acquired as the load statistical information. The load control unit 70 compares the acquired load statistical information with a predetermined threshold value, and if the load control unit 70 determines that the load due to the interrupt is high, notifies the OS (2) 12 of the load. The OS (2) 12 that has received the load notification updates the delay time data 51 by the delay time management unit 50 after processing the interrupt. In this example, the load state is determined using both the average interrupt frequency data 71 and the average task waiting time data 72, but may be determined using any one of the data.

次に、図3乃至図5に示すフローチャートを参照して、情報処理装置1の動作処理について詳細に説明する。ここでは、図2に示した情報処理装置1において、プログラムの実行単位であるスレッド31が、デバイス60を操作するためにドライバ40を呼び出した場合の動作処理について説明する。   Next, the operation process of the information processing apparatus 1 will be described in detail with reference to the flowcharts shown in FIGS. Here, in the information processing apparatus 1 illustrated in FIG. 2, an operation process when the thread 31 that is a program execution unit calls the driver 40 to operate the device 60 will be described.

スレッド31から呼び出されたドライバ40は、図3に示すように、遅延処理が必要な場合には、IO発行処理部43によるIO発行処理に先立ち、遅延処理部42による遅延処理を実行する。すなわち、図3に示すように、遅延処理部42は、遅延時間管理部50の遅延時間データ51を参照して、遅延処理を実行するか否かを判断する(ステップS101)。図3に示す例では、遅延時間が0よりも大きな場合には、遅延処理を実行し、遅延時間が0の場合には、遅延処理を実行せずに、遅延処理を終了する。そして、遅延処理を実行する場合には、遅延処理部42は、遅延時間の間だけ処理を待機することで、遅延処理を実行する(ステップS102)。IO発行処理部43は、遅延処理部42による遅延処理が実行された場合には、遅延処理に続いて、IO発行処理を行い、遅延処理が実行されなかった場合には、ステップS101における判定処理に続いて、IO発行処理を実行する。すなわち、IO発行処理部43は、IO発行処理を行い、デバイス60にアクセスする。そして、デバイス60は命令された処理が終了した場合には、新たに割り込みを発生して、発生した割り込みをOS(1)11に対して通知する。   As shown in FIG. 3, the driver 40 called from the thread 31 executes delay processing by the delay processing unit 42 prior to IO issue processing by the IO issue processing unit 43 when delay processing is necessary. That is, as shown in FIG. 3, the delay processing unit 42 refers to the delay time data 51 of the delay time management unit 50 and determines whether or not to execute the delay process (step S101). In the example shown in FIG. 3, when the delay time is greater than 0, the delay process is executed, and when the delay time is 0, the delay process is terminated without executing the delay process. When executing the delay process, the delay processing unit 42 waits for the process for the delay time to execute the delay process (step S102). When the delay processing by the delay processing unit 42 is executed, the IO issue processing unit 43 performs the IO issue processing subsequent to the delay processing, and when the delay processing is not executed, the determination processing in step S101. Subsequently, the IO issue process is executed. That is, the IO issue processing unit 43 performs IO issue processing and accesses the device 60. Then, when the commanded processing is completed, the device 60 newly generates an interrupt and notifies the OS (1) 11 of the generated interrupt.

デバイス60から割り込みを通知されたOS(1)11は、発生した割り込みが誰宛のものであるかを確認し、割り込みがOS(2)12宛ての割り込みである場合には、割込みをOS(2)12に対して転送する。また、OS(1)11は、図4に示す負荷制御部70による負荷制御処理を実行する。すなわち、図4に示すように、負荷制御部70は、まず、割り込みによる負荷の統計情報としての平均割り込み頻度と、この割り込みのために掛かったタスクの待ち時間を更新する(ステップS201)。そして、負荷制御部70は、平均割込み頻度が予め定めた閾値を超えたか否かを判定する(ステップS202)。平均割込み頻度が閾値を超えていない場合には、負荷制御部70は、さらに、平均タスクの待ち時間が予め定めた閾値を超えたか否かを判定する(ステップS203)。ステップS202における判定の結果、平均割込み頻度が閾値を超えた場合、又は、ステップS203における判定の結果、平均タスク待ち時間が閾値を超えた場合には、負荷制御部70は、OS(2)12に対して、OS(1)11において割り込みの負荷が上昇したことを示す負荷通知を行い、負荷制御処理を終了する。一方で、ステップS203における判定の結果、平均タスク待ち時間が閾値を超えていない場合には、負荷制御部70は、負荷制御処理を終了する。   The OS (1) 11 notified of the interrupt from the device 60 confirms to whom the generated interrupt is addressed, and if the interrupt is an interrupt addressed to the OS (2) 12, the OS (1) 11 2) Transfer to 12. Further, the OS (1) 11 executes a load control process by the load control unit 70 shown in FIG. That is, as shown in FIG. 4, the load control unit 70 first updates the average interrupt frequency as the statistical information of the load due to the interrupt, and the waiting time of the task taken for this interrupt (step S201). Then, the load control unit 70 determines whether or not the average interrupt frequency exceeds a predetermined threshold (step S202). If the average interrupt frequency does not exceed the threshold, the load control unit 70 further determines whether or not the average task waiting time has exceeded a predetermined threshold (step S203). If the average interrupt frequency exceeds the threshold as a result of the determination in step S202, or if the average task waiting time exceeds the threshold as a result of the determination in step S203, the load control unit 70 sets the OS (2) 12 In response to this, the OS (1) 11 issues a load notification indicating that the interrupt load has increased, and ends the load control process. On the other hand, if the average task waiting time does not exceed the threshold as a result of the determination in step S203, the load control unit 70 ends the load control process.

OS(1)11から割り込み通知されたOS(2)12は、割り込みを発生したデバイス60に関する処理を実行する。また、OS(2)12は、図5に示す遅延時間管理部50による遅延時間管理処理を実行する。すなわち、図5に示すように、遅延時間管理部50は、まず、OS1(1)11から通知された負荷通知により特定される負荷の値が定めた所定の閾値よりも高いか低いかを確認する(ステップS301)。   The OS (2) 12 notified of the interrupt from the OS (1) 11 executes processing related to the device 60 that has generated the interrupt. Further, the OS (2) 12 executes a delay time management process by the delay time management unit 50 shown in FIG. That is, as shown in FIG. 5, the delay time management unit 50 first checks whether the load value specified by the load notification notified from the OS1 (1) 11 is higher or lower than a predetermined threshold value. (Step S301).

S301における判定の結果、負荷の値が閾値よりも高い場合には、遅延時間管理部50は、さらに、遅延時間データ51により特定される現在の遅延時間が予め定めた上限値(以下、MAX値と称する。)よりも小さいか否かを判定する(ステップS302)。遅延時間管理部50は、遅延時間がMAX値よりも小さくない、すなわち、遅延時間が既にMAX値と等しいと判定した場合には、さらに遅延時間を増加させることはできないため、遅延時間管理処理を終了する。一方で、遅延時間管理部50は、遅延時間がMAX値より小さい、すなわち、遅延時間を増加させることができる余地がある場合には、遅延時間の値を大きくする(ステップS303)。   If the load value is higher than the threshold value as a result of the determination in S301, the delay time management unit 50 further determines a predetermined upper limit value (hereinafter, MAX value) specified by the delay time data 51. Or less) (step S302). When the delay time management unit 50 determines that the delay time is not smaller than the MAX value, that is, the delay time is already equal to the MAX value, the delay time cannot be further increased. finish. On the other hand, when the delay time is smaller than the MAX value, that is, there is room for increasing the delay time, the delay time management unit 50 increases the value of the delay time (step S303).

S301における判定の結果、負荷通知が閾値よりも低い場合には、遅延時間管理部50は、さらに、遅延時間データ51により特定される現在の遅延時間が予め定めた下限値よりも大きいか否かを判定する(S304)。図3に示す例では、下限値は0である。遅延時間管理部50は、遅延時間が0よりも大きな場合には、さらに、遅延時間を小さくすることができるため、遅延時間の値を小さくする(ステップS305)。一方で、遅延時間が0である場合には、遅延時間をさらに小さくすることができないため、遅延時間管理部50は、遅延時間管理処理を終了する。   If the load notification is lower than the threshold as a result of the determination in S301, the delay time management unit 50 further determines whether or not the current delay time specified by the delay time data 51 is greater than a predetermined lower limit value. Is determined (S304). In the example shown in FIG. 3, the lower limit value is 0. When the delay time is larger than 0, the delay time management unit 50 can further reduce the delay time, and therefore decreases the value of the delay time (step S305). On the other hand, when the delay time is 0, since the delay time cannot be further reduced, the delay time management unit 50 ends the delay time management process.

以下、図3乃至図5に示した各動作処理に関して、OS(1)11をリアルタイムOS、OS(2)12を汎用OSとして、これら2つのOSが、デバイス60としてのイーサネット(登録商標)14を共有する場合について具体的に説明する。   Hereinafter, regarding each operation processing shown in FIGS. 3 to 5, the OS (1) 11 is a real-time OS, the OS (2) 12 is a general-purpose OS, and these two OSs are the Ethernet (registered trademark) 14 as the device 60. The case of sharing will be specifically described.

まず、図2に示したように、汎用OS上のスレッド31が、ドライバ40に指示を与えることでイーサネット(登録商標)14を使用する。指示を受けたドライバ40は、遅延処理部42により、遅延時間管理部50の遅延時間データ51を参照して、遅延処理を実行する必要があるか否かを判断する。遅延処理を実行する必要がある場合には、遅延処理部42は、遅延処理を実行する。そして、ドライバ40のIO発行処理部43は、イーサネット(登録商標)14に対してIO命令を発行する。IO発行命令を受けたイーサネット(登録商標)14は処理を行い、処理が完了した場合には、イーサネット(登録商標)14から割り込みが発生する。発生した割り込みは、リアルタイムOSに通知される。   First, as shown in FIG. 2, the thread 31 on the general-purpose OS uses the Ethernet (registered trademark) 14 by giving an instruction to the driver 40. Upon receiving the instruction, the driver 40 refers to the delay time data 51 of the delay time management unit 50 by the delay processing unit 42 and determines whether or not it is necessary to execute the delay processing. When it is necessary to execute the delay process, the delay processing unit 42 executes the delay process. The IO issue processing unit 43 of the driver 40 issues an IO command to the Ethernet (registered trademark) 14. The Ethernet (registered trademark) 14 that has received the IO issue command performs processing. When the processing is completed, an interrupt is generated from the Ethernet (registered trademark) 14. The generated interrupt is notified to the real-time OS.

次いで、割込みが通知されたリアルタイムOSは、通知された割り込みの要因を調べて、自分宛の割り込みか否かを判別する。自分宛の割り込みでないものと判断した場合には、リアルタイムOSは、割込みを汎用OSに対して転送する。また、図3に示したように、リアルタイムOSの負荷制御部70は、割り込みの平均頻度や、この割り込みのために掛かったタスクの待ち時間などの統計情報を計測し、負荷が掛かりすぎていないかを予め定めた閾値を用いて判定する。判定の結果、負荷が高い場合には、汎用OSに対して負荷通知を行う。そして、リアルタイムOSから割込みが転送された汎用OSは、転送された割り込みを処理する。   Next, the real-time OS notified of the interrupt checks the cause of the notified interrupt and determines whether or not the interrupt is addressed to itself. When determining that the interrupt is not addressed to itself, the real-time OS transfers the interrupt to the general-purpose OS. Further, as shown in FIG. 3, the load control unit 70 of the real-time OS measures statistical information such as the average frequency of interrupts and the waiting time of a task that is caused by the interrupts, and is not overloaded. Is determined using a predetermined threshold value. If the result of determination is that the load is high, a load notification is sent to the general-purpose OS. The general-purpose OS to which the interrupt is transferred from the real-time OS processes the transferred interrupt.

ここで、汎用OSによりイーサネット(登録商標)14が大量に使用された場合には、リアルタイムOSは、負荷が掛かっているものと判断して、汎用OS上の遅延時間管理部50に対して、負荷制御部70により負荷通知を行う。図5に示したように、汎用OSは、高い負荷を示す負荷通知を受けた場合には、遅延時間データ51を増加させる。   Here, when the Ethernet (registered trademark) 14 is used in large quantities by the general-purpose OS, the real-time OS determines that the load is applied, and the delay time management unit 50 on the general-purpose OS The load control unit 70 notifies the load. As illustrated in FIG. 5, the general-purpose OS increases the delay time data 51 when receiving a load notification indicating a high load.

そして、スレッド31がドライバ40に指示を与えてイーサネット(登録商標)14を操作しようとする場合には、図4に示したように、ドライバ40は、遅延処理部42により遅延時間管理部50の遅延時間データ51を参照して、遅延処理を実行する必要があるか否かを判断する。遅延処理を実行する必要がある場合には、遅延処理部42は、遅延処理を実行する。そして、ドライバ40のIO発行処理部43は、イーサネット(登録商標)14に対してIO命令を発行してイーサネット(登録商標)14を操作する。   When the thread 31 gives an instruction to the driver 40 to operate the Ethernet (registered trademark) 14, as shown in FIG. 4, the driver 40 causes the delay processing unit 50 to execute the delay time management unit 50. With reference to the delay time data 51, it is determined whether or not it is necessary to execute delay processing. When it is necessary to execute the delay process, the delay processing unit 42 executes the delay process. The IO issue processing unit 43 of the driver 40 issues an IO command to the Ethernet (registered trademark) 14 to operate the Ethernet (registered trademark) 14.

これにより、IO発行処理部43によるIO発行処理が、遅延処理部42による遅延時間だけ遅延されることなるため、リアルタイムOSに通知される割り込みの頻度が低下し、そのために発生していた負荷も低下することになる。そして、リアルタイムOSに通知される割り込みの頻度が十分に低下することで、リアルタイムOSは、汎用OSの遅延時間管理部50に対して割り込みの負荷が低下したことを通知する。この負荷通知を受けた汎用OSは、遅延時間管理部50により遅延時間の値を小さくする。   As a result, the IO issue processing by the IO issue processing unit 43 is delayed by the delay time by the delay processing unit 42, so the frequency of interrupts notified to the real-time OS is reduced, and the load that has been generated for that is also reduced. Will be reduced. Then, when the frequency of interrupts notified to the real-time OS is sufficiently reduced, the real-time OS notifies the delay time management unit 50 of the general-purpose OS that the interrupt load has been reduced. Upon receiving this load notification, the general-purpose OS reduces the delay time value by the delay time management unit 50.

このように、優先順位が高いリアルタイムOSにおいて、より優先順位が低い汎用OSに対して割り込みを転送する処理に掛かった負荷の統計情報を取得し、取得した統計情報が予め定めた閾値を超えた場合には、リアルタイムOSから汎用OSに対して割り込みを減らすように通知を行う。そして、通知を受けた汎用OSにおいて、割り込みが発生するIO発行処理の実行を遅延させ、単位時間当たりのIO発行処理の回数を減少させることで、汎用OSが発生させた割り込みによるリアルタイムOSに対する影響を抑制することができる。   As described above, in the real-time OS having a high priority, the statistical information of the load applied to the process of transferring the interrupt to the general-purpose OS having the lower priority is acquired, and the acquired statistical information exceeds a predetermined threshold. In this case, the real-time OS notifies the general-purpose OS so as to reduce interrupts. Then, in the general-purpose OS that has received the notification, the execution of the IO issuing process that generates the interrupt is delayed, and the number of IO issuing processes per unit time is reduced, thereby affecting the real-time OS by the interrupt generated by the general-purpose OS. Can be suppressed.

実施の形態2.
続いて、本発明の実施の形態2に係る情報処理装置について説明する。実施の形態2に係る情報処理装置では、IO発行処理を実行するスレッドについて、スレッドをディスパッチキューにつなげる処理に先立って遅延処理を実行するものである。
Embodiment 2. FIG.
Subsequently, an information processing apparatus according to Embodiment 2 of the present invention will be described. The information processing apparatus according to the second embodiment executes a delay process for a thread that executes an IO issue process prior to a process that connects the thread to a dispatch queue.

図6は、本実施の形態2に係る情報処理装置1の構成を示す図である。図に示すように、情報処理装置1は、OS(1)11と、OS(2)12と、デバイス60を備える。OS(2)12は、スケジューラ80と、遅延時間管理部50を備えている。スケジューラ80は、実行可能なスレッドをディスパッチキューにつなげるための処理を行う処理部81(以下、ディスパッチキュー接続処理部81と称する。)と、遅延処理部82と、実行処理部83を備えている。遅延時間管理部50は、遅延時間データ51を備えている。OS(1)11は、負荷制御部70を備えている。負荷制御部70は、平均割り込み頻度データ71と、平均タスク待ち時間データ72を保持している。   FIG. 6 is a diagram showing a configuration of the information processing apparatus 1 according to the second embodiment. As illustrated, the information processing apparatus 1 includes an OS (1) 11, an OS (2) 12, and a device 60. The OS (2) 12 includes a scheduler 80 and a delay time management unit 50. The scheduler 80 includes a processing unit 81 (hereinafter referred to as a dispatch queue connection processing unit 81) that performs processing for connecting an executable thread to a dispatch queue, a delay processing unit 82, and an execution processing unit 83. . The delay time management unit 50 includes delay time data 51. The OS (1) 11 includes a load control unit 70. The load control unit 70 holds average interrupt frequency data 71 and average task waiting time data 72.

図7は、ディスパッチキュー接続処理部81による動作処理を示すフローチャートである。図7に示すように、ディスパッチキュー接続処理部81は、遅延時間管理部50の遅延時間データ51を参照して、遅延処理を実行するか否かを判断する(ステップS401)。図7に示す例では、遅延時間が0よりも大きな場合には、さらに、ディスパッチキュー接続処理部81は、スレッドがIO発行処理を実行しているか否かを調べる(ステップS402)。ステップS401における判断の結果、遅延時間が0である場合、又は、ステップS402における調査の結果、スレッドがIO発行処理を実行していない場合には、ディスパッチキュー接続処理部81は、実行可能なスレッドをディスパッチキューにつなげるための処理を行う(ステップS403)。一方で、ステップS402における調査の結果、スレッドがIO発行処理を実行している場合には、ディスパッチキュー接続処理部81は、遅延時間管理部50の遅延時間データ51をタイマーとして設定し、設定した遅延時間の経過後に、実行可能なスレッドをディスパッチキューにつなげるための処理を行う(ステップS404)。   FIG. 7 is a flowchart showing operation processing by the dispatch queue connection processing unit 81. As shown in FIG. 7, the dispatch queue connection processing unit 81 refers to the delay time data 51 of the delay time management unit 50 and determines whether or not to execute the delay process (step S401). In the example shown in FIG. 7, when the delay time is larger than 0, the dispatch queue connection processing unit 81 further checks whether or not the thread is executing the IO issue processing (step S402). If the delay time is 0 as a result of the determination in step S401, or if the thread is not executing the IO issuing process as a result of the investigation in step S402, the dispatch queue connection processing unit 81 executes the executable thread. For connecting to the dispatch queue (step S403). On the other hand, as a result of the investigation in step S402, when the thread is executing the IO issue processing, the dispatch queue connection processing unit 81 sets the delay time data 51 of the delay time management unit 50 as a timer and sets it. After the delay time elapses, processing for connecting an executable thread to the dispatch queue is performed (step S404).

このように、本実施の形態2に係る情報処理装置1では、実行可能なスレッドをディスパッチキューにつなぐ処理に先立ち、スレッドがIO発行処理を実行するスレッドであるか否かを調べる。そして、IO発行処理を実行するスレッドであった場合には、遅延時間管理部50にアクセスして遅延処理が必要であるか否かを調べ、遅延処理が必要である場合には、ディスパッチキューにつなぐ処理に先立ち、設定する遅延時間の間、待機してから、ディスパッチキューにスレッドをつなぐ。これにより、汎用OSが発生させた割り込みによるリアルタイムOSに対する影響を抑制することができる。   As described above, the information processing apparatus 1 according to the second embodiment checks whether or not the thread is a thread that executes the IO issuing process before the process of connecting the executable thread to the dispatch queue. If the thread is a thread that executes the IO issue process, the delay time management unit 50 is accessed to check whether the delay process is necessary. If the delay process is necessary, the thread is placed in the dispatch queue. Prior to the process to be connected, wait for the set delay time and then connect the thread to the dispatch queue. Thereby, it is possible to suppress the influence on the real-time OS due to the interrupt generated by the general-purpose OS.

実施の形態3.
続いて、本発明の実施の形態3に係る情報処理装置について説明する。実施の形態3に係る情報処理装置では、汎用OSからリアルタイムOSに対して割込み処理の実行の許可を求め、リアルタイムOSによって許可された場合に割込み処理を実行するものである。
Embodiment 3 FIG.
Subsequently, an information processing apparatus according to Embodiment 3 of the present invention will be described. In the information processing apparatus according to the third embodiment, the general-purpose OS requests permission of execution of interrupt processing from the real-time OS, and executes the interrupt processing when permitted by the real-time OS.

図8は、本実施の形態3に係る情報処理装置1の構成を示す図である。図に示すように、情報処理装置1は、OS(1)11と、OS(2)12と、デバイス60を備える。OS(2)12は、スレッド31と、ドライバ40と、割り込み制御部50を備えている。ドライバ40は、入口処理部41と、割り込み確認呼び出し処理部48と、IO発行処理部43と、出口処理部44を備えている。割り込み制御部50は、割り込み確認処理部52を備えている。OS(1)11は、負荷制御部70を備えている。負荷制御部70は、平均割り込み頻度データ71と、平均タスク待ち時間データ72を保持している。   FIG. 8 is a diagram showing a configuration of the information processing apparatus 1 according to the third embodiment. As illustrated, the information processing apparatus 1 includes an OS (1) 11, an OS (2) 12, and a device 60. The OS (2) 12 includes a thread 31, a driver 40, and an interrupt control unit 50. The driver 40 includes an entrance processing unit 41, an interrupt confirmation call processing unit 48, an IO issue processing unit 43, and an exit processing unit 44. The interrupt control unit 50 includes an interrupt confirmation processing unit 52. The OS (1) 11 includes a load control unit 70. The load control unit 70 holds average interrupt frequency data 71 and average task waiting time data 72.

次に、本実施の形態3に係る情報処理装置1の処理について説明する。本実施の形態3では、割り込み遅延を行うかどうかを判断する処理につき特徴を有するため、かかる処理を中心に説明する。   Next, processing of the information processing apparatus 1 according to the third embodiment will be described. Since the third embodiment has a feature in the process for determining whether or not to perform interrupt delay, the process will be mainly described.

割り込み確認呼び出し処理部48は、ドライバ40内で割り込みが発生する操作を行う前に、割り込み制御部50の割り込み確認処理部52に対して、割り込み制御を使用し、OS1(11)の負荷制御部70に対して割り込みが発生する処理を行ってよいか許可を求める処理を要求する。   The interrupt confirmation call processing unit 48 uses the interrupt control for the interrupt confirmation processing unit 52 of the interrupt control unit 50 before performing an operation that generates an interrupt in the driver 40, and the load control unit of the OS1 (11). 70 is requested for permission to determine whether or not the processing for generating an interrupt may be performed.

割り込み制御部50の割り込み確認処理部52は、かかる要求に応じて、OS(1)11の負荷制御部70に対して、割り込み通知を発行することにより、OS(1)11の負荷制御部70に対して割り込みが発生する処理を行ってよいか許可を求める。負荷制御部70は、平均割り込み頻度データ71や平均タスク待ち時間データ72等のデータに基づいて、割り込みの平均頻度や、この割り込みのために掛かったタスクの待ち時間などの統計情報を計測し、負荷が掛かりすぎていないかを予め定めた閾値を用いて判定する。   In response to such a request, the interrupt confirmation processing unit 52 of the interrupt control unit 50 issues an interrupt notification to the load control unit 70 of the OS (1) 11 to thereby load the load control unit 70 of the OS (1) 11. Asks for permission to perform processing that generates an interrupt. Based on data such as average interrupt frequency data 71 and average task waiting time data 72, the load control unit 70 measures statistical information such as the average frequency of interrupts and the waiting time of tasks taken for this interrupt, It is determined whether a load is excessively applied using a predetermined threshold value.

負荷制御部70は、判定の結果、負荷が低いと判定した場合には、OS(2)12の割り込み制御部50(割り込み確認処理部52)に対して、割り込みを許可する許可通知を行う。また、負荷制御部70は、判定の結果、負荷が高いと判定した場合には、OS(2)12の割り込み制御部50(割り込み確認処理部52)に対して、割り込みを許可しない不許可通知を行う。   When the load control unit 70 determines that the load is low as a result of the determination, the load control unit 70 notifies the interrupt control unit 50 (interrupt confirmation processing unit 52) of the OS (2) 12 of permission to permit an interrupt. If the load control unit 70 determines that the load is high as a result of the determination, the load control unit 70 notifies the interrupt control unit 50 (interrupt confirmation processing unit 52) of the OS (2) 12 that the interrupt is not permitted. I do.

OS(2)12の割り込み確認処理部52は、負荷制御部70から許可通知を受けた場合には、割込み確認呼び出し処理部48に対して、割込み許可を示す許可通知を出力する。そして、ドライバ40の割込み確認呼び出し処理部48は、許可通知に従って、割込み処理を実行する。   When receiving the permission notification from the load control unit 70, the interrupt confirmation processing unit 52 of the OS (2) 12 outputs a permission notification indicating interrupt permission to the interrupt confirmation calling processing unit 48. Then, the interrupt confirmation call processing unit 48 of the driver 40 executes interrupt processing in accordance with the permission notification.

また、当該割り込み確認処理部52は、負荷制御部70から不許可通知を受けた場合には、割込み確認呼び出し処理部48に対して、割込み不許可を示す不許可通知を出力する。そして、ドライバ40の割り込み確認呼び出し処理部48は、不許可通知に応じて、予め定められた時間、待機処理を行う。その後、割り込み確認呼び出し処理部48は、予め定められた時間の経過後に、再度、割り込み制御部50の割り込み確認処理部52に対して、割り込み制御を使用し、OS1(11)の負荷制御部70に対して割り込みが発生する処理を行ってよいか許可を求める処理を要求する。以降は、同様の処理となり、割り込み確認呼び出し処理部48は、負荷制御部70の許可を取得するまで、割込み処理を行わず、負荷制御部70の許可を取得して初めて割り込み処理を実行する。   Further, when receiving the non-permission notification from the load control unit 70, the interrupt confirmation processing unit 52 outputs a non-permission notification indicating interrupt non-permission to the interrupt confirmation calling processing unit 48. Then, the interrupt confirmation call processing unit 48 of the driver 40 performs standby processing for a predetermined time in response to the non-permission notification. Thereafter, the interrupt confirmation call processing unit 48 uses the interrupt control for the interrupt confirmation processing unit 52 of the interrupt control unit 50 again after a predetermined time elapses, and loads the load control unit 70 of the OS1 (11). Is requested for permission to determine whether or not the processing for generating an interrupt may be performed. Thereafter, the same processing is performed, and the interrupt confirmation call processing unit 48 does not perform the interrupt processing until the permission of the load control unit 70 is acquired, and executes the interrupt processing only after acquiring the permission of the load control unit 70.

このように、本実施の形態3にかかる情報処理装置では、リアルタイムOSの許可を得るまで割込み処理を遅延させるため、発明の実施の形態1にかかる情報処理装置と同様に、汎用OSが発生させた割り込みによるリアルタイムOSに対する影響を抑制することができる。   As described above, in the information processing apparatus according to the third embodiment, the interrupt process is delayed until the real-time OS permission is obtained, so that the general-purpose OS is generated in the same manner as the information processing apparatus according to the first embodiment of the invention. The influence on the real-time OS due to the interrupt can be suppressed.

実施の形態4.
続いて、本発明の実施の形態4に係る情報処理装置について説明する。実施の形態4に係る情報処理装置では、共有メモリを用意し、リアルタイムOSはこの共有メモリに汎用OSの割り込み発生処理を許可するか否かのフラグを書き込み、汎用OSは共有メモリを参照して許可が下りているかを判断するものである。その他の構成については、発明の実施の形態3と同等である。
Embodiment 4 FIG.
Subsequently, an information processing apparatus according to Embodiment 4 of the present invention will be described. In the information processing apparatus according to the fourth embodiment, a shared memory is prepared, the real-time OS writes a flag indicating whether or not the interrupt generation processing of the general-purpose OS is permitted to the shared memory, and the general-purpose OS refers to the shared memory. This is to determine whether permission has been granted. Other configurations are the same as those of the third embodiment.

図9は、本実施の形態4に係る情報処理装置1の構成を示す図である。図に示すように、情報処理装置1は、OS(1)11と、OS(2)12と、デバイス60と、共有メモリ90を備える。OS(2)12は、スレッド31と、ドライバ40と、割り込み制御部50を備えている。ドライバ40は、入口処理部41と、割り込み確認呼び出し処理部48と、IO発行処理部43と、出口処理部44を備えている。割り込み制御部50は、割り込み確認処理部53を備えている。OS(1)11は、負荷制御部70を備えている。負荷制御部70は、平均割り込み頻度データ71と、平均タスク待ち時間データ72を保持している。共有メモリ90は、割込み許可フラグ91を保持している。   FIG. 9 is a diagram showing a configuration of the information processing apparatus 1 according to the fourth embodiment. As illustrated, the information processing apparatus 1 includes an OS (1) 11, an OS (2) 12, a device 60, and a shared memory 90. The OS (2) 12 includes a thread 31, a driver 40, and an interrupt control unit 50. The driver 40 includes an entrance processing unit 41, an interrupt confirmation call processing unit 48, an IO issue processing unit 43, and an exit processing unit 44. The interrupt control unit 50 includes an interrupt confirmation processing unit 53. The OS (1) 11 includes a load control unit 70. The load control unit 70 holds average interrupt frequency data 71 and average task waiting time data 72. The shared memory 90 holds an interrupt permission flag 91.

次に、本実施の形態4に係る情報処理装置1の処理について説明する。本実施の形態4では、割り込み遅延を行うかどうかを判断する処理につき特徴を有するため、かかる処理を中心に説明する。   Next, processing of the information processing apparatus 1 according to the fourth embodiment will be described. Since the fourth embodiment has a feature in the process for determining whether or not to perform interrupt delay, this process will be mainly described.

割り込み確認呼び出し処理部48は、ドライバ40内で割り込みが発生する操作を行う前に、割り込み制御部50の割り込み確認処理部53に対して、割込み確認処理を要求する。   The interrupt confirmation call processing unit 48 requests the interrupt confirmation processing from the interrupt confirmation processing unit 53 of the interrupt control unit 50 before performing an operation that generates an interrupt in the driver 40.

割り込み制御部50の割り込み確認処理部53は、かかる要求に応じて、共有メモリ90の割り込み許可フラグ91を参照する。ここで、共有メモリ90の割り込み許可フラグ91は、OS(1)11の負荷制御部70によって設定される。具体的には、負荷制御部70は、平均割り込み頻度データ71や平均タスク待ち時間データ72等のデータに基づいて、割り込みの平均頻度や、この割り込みのために掛かったタスクの待ち時間などの統計情報を計測し、負荷が掛かりすぎていないかを予め定めた閾値を用いて判定する。負荷制御部70は、判定の結果、負荷が低いと判定した場合には、共有メモリ90に割込み許可を示す割り込み許可フラグ91を設定する。また、負荷制御部70は、判定の結果、負荷が高いと判定した場合には、共有メモリ90に割込み許可フラグ91を設定しない。   The interrupt confirmation processing unit 53 of the interrupt control unit 50 refers to the interrupt permission flag 91 of the shared memory 90 in response to the request. Here, the interrupt permission flag 91 of the shared memory 90 is set by the load control unit 70 of the OS (1) 11. Specifically, the load control unit 70, based on data such as the average interrupt frequency data 71 and the average task wait time data 72, provides statistics such as the average interrupt frequency and the task wait time taken for this interrupt. Information is measured, and it is determined using a predetermined threshold whether or not an excessive load is applied. If the load control unit 70 determines that the load is low as a result of the determination, the load control unit 70 sets an interrupt permission flag 91 indicating interrupt permission in the shared memory 90. Further, if the load control unit 70 determines that the load is high as a result of the determination, the load control unit 70 does not set the interrupt permission flag 91 in the shared memory 90.

OS(2)12の割り込み確認処理部53は、共有メモリ90の割り込み許可フラグを参照した結果、割込み許可フラグ91が設定されている場合には、割込み確認呼び出し処理部48に対して、割込み許可を示す許可通知を出力する。そして、ドライバ40の割込み確認呼び出し処理部48は、許可通知に従って、割込み処理を実行する。   When the interrupt permission flag 91 is set as a result of referring to the interrupt permission flag of the shared memory 90, the interrupt confirmation processing unit 53 of the OS (2) 12 instructs the interrupt confirmation calling processing unit 48 to interrupt permission. The permission notice indicating is output. Then, the interrupt confirmation call processing unit 48 of the driver 40 executes interrupt processing in accordance with the permission notification.

また、当該割り込み確認処理部53は、共有メモリ90の割り込み許可フラグ91を参照した結果、割込み許可フラグ91が設定されていない場合には、割込み確認呼び出し処理部48に対して、割込み不許可を示す不許可通知を出力する。そして、ドライバ40の割り込み確認呼び出し処理部48は、不許可通知に応じて、予め定められた時間、待機処理を行う。その後、割り込み確認呼び出し処理部48は、予め定められた時間の経過後に、再度、割り込み制御部50の割り込み確認処理部53に対して、割込み確認処理を要求する。以降は、同様の処理となる。割り込み確認呼び出し処理部48は、負荷制御部70の許可に応じて共有メモリ90に割込み許可フラグ91が設定されるまで、割込み処理を行わず、負荷制御部70による許可が下り、共有メモリ90に割込み許可フラグ91が設定されて初めて割り込み処理を実行する。   Further, as a result of referring to the interrupt permission flag 91 of the shared memory 90 as a result of the interrupt confirmation processing unit 53, if the interrupt permission flag 91 is not set, the interrupt confirmation processing unit 53 does not permit the interrupt confirmation call processing unit 48 to interrupt. The disapproval notice is output. Then, the interrupt confirmation call processing unit 48 of the driver 40 performs standby processing for a predetermined time in response to the non-permission notification. Thereafter, the interrupt confirmation call processing unit 48 requests the interrupt confirmation processing again from the interrupt confirmation processing unit 53 of the interrupt control unit 50 after a predetermined time has elapsed. Thereafter, the same processing is performed. The interrupt confirmation call processing unit 48 does not perform the interrupt processing until the interrupt permission flag 91 is set in the shared memory 90 according to the permission of the load control unit 70, and the permission by the load control unit 70 is dropped and the shared memory 90 is Interrupt processing is executed only after the interrupt permission flag 91 is set.

このように、本実施の形態4にかかる情報処理装置では、リアルタイムOSの許可を得るまで割込み処理を遅延させるため、発明の実施の形態1にかかる情報処理装置と同様に、汎用OSが発生させた割り込みによるリアルタイムOSに対する影響を抑制することができる。   As described above, in the information processing apparatus according to the fourth embodiment, the interrupt process is delayed until the real-time OS permission is obtained. Therefore, as in the information processing apparatus according to the first embodiment, the general-purpose OS is generated. The influence on the real-time OS due to the interrupt can be suppressed.

実施の形態5.
続いて、本発明の実施の形態5に係る情報処理装置について説明する。実施の形態5に係る情報処理装置では、優先順位が相対的に高い一つのOSと、優先順位が相対的に低い二つのOSを備えている。
Embodiment 5 FIG.
Subsequently, an information processing apparatus according to Embodiment 5 of the present invention will be described. The information processing apparatus according to Embodiment 5 includes one OS with a relatively high priority and two OSs with a relatively low priority.

図10は、本実施の形態5に係る情報処理装置1の構成を示す図である。図に示すように、情報処理装置1は、OS(1)11と、OS(2)12と、OS(3)21と、デバイス60を備える。OS(2)12とOS(3)21は、共に、スレッドと、ドライバと、遅延時間管理部を備えており、それらの構成及び機能は、発明の実施の形態1と同様である。OS(1)11は、負荷制御部70を備えている。負荷制御部70は、OS(2)12の平均割り込み頻度データと、OS(3)21の平均割り込み頻度データと、平均タスク待ち時間データを保持している。   FIG. 10 is a diagram showing a configuration of the information processing apparatus 1 according to the fifth embodiment. As illustrated, the information processing apparatus 1 includes an OS (1) 11, an OS (2) 12, an OS (3) 21, and a device 60. The OS (2) 12 and the OS (3) 21 each include a thread, a driver, and a delay time management unit, and the configuration and function thereof are the same as those of the first embodiment. The OS (1) 11 includes a load control unit 70. The load control unit 70 holds average interrupt frequency data of the OS (2) 12, average interrupt frequency data of the OS (3) 21, and average task waiting time data.

次に、本実施の形態5に係る情報処理装置1の処理について説明する。OS(1)11は、デバイス60から割り込み通知を受け取ると、発明の実施の形態1と同様にどのOSが通知された割り込みを処理するのかを調査する。そして、OS(1)11は、割り込みを処理すべきOSが、OS(2)12かOS(3)21の場合には、そのOSに割り込みを転送する。かかる転送処理の際に、OS(1)11は、転送する割り込みのために発生したタスクの待ち時間と各OSへの割り込みの発生頻度とを計測する。取得した情報はOSごとに記録し、各OSによる負荷が閾値を超えていないか確認し、超えていたら負荷情報をそのOSごとに通知する。なお、遅延処理の方法については、前述の発明の実施の形態1〜4のいずれかを用いる。   Next, processing of the information processing apparatus 1 according to the fifth embodiment will be described. When the OS (1) 11 receives the interrupt notification from the device 60, the OS (1) 11 investigates which OS handles the notified interrupt as in the first embodiment of the invention. If the OS that should process the interrupt is OS (2) 12 or OS (3) 21, OS (1) 11 transfers the interrupt to that OS. During the transfer process, the OS (1) 11 measures the waiting time of the task generated due to the interrupt to be transferred and the frequency of occurrence of the interrupt to each OS. The acquired information is recorded for each OS, and it is confirmed whether or not the load of each OS exceeds the threshold. If it exceeds, the load information is notified for each OS. For the delay processing method, any one of the first to fourth embodiments described above is used.

このように本実施の形態5に係る情報処理装置においても、発明の実施の形態1にかかる情報処理装置と同様に、汎用OSが発生させた割り込みによるリアルタイムOSに対する影響を抑制することができる。   As described above, also in the information processing apparatus according to the fifth embodiment, similarly to the information processing apparatus according to the first embodiment of the invention, it is possible to suppress the influence on the real-time OS due to the interrupt generated by the general-purpose OS.

尚、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   It should be noted that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.

本発明は、例えば、1つの計算機上において2つ以上の異なるOSによりハードウェアを共有しており、一方のOSに割り込みが通知される環境において、割り込みが直接通知されないOSによるIO処理によって割り込みが直接通知されるOSの負荷が高くなる場合に、割り込みによる負荷を軽減する用途に適用可能である。   In the present invention, for example, in an environment in which two or more different OSs share hardware on one computer and an interrupt is notified to one OS, the interrupt is not generated by an IO process by the OS that is not notified of the interrupt directly. When the load of the OS notified directly becomes high, it can be applied to a use for reducing the load caused by the interrupt.

発明の実施の形態1にかかる情報処理装置の概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of an information processing apparatus according to a first embodiment of the invention. 発明の実施の形態1にかかる情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus concerning Embodiment 1 of invention. 発明の実施の形態1にかかる情報処理装置の処理を示すフローチャートである。It is a flowchart which shows the process of the information processing apparatus concerning Embodiment 1 of invention. 発明の実施の形態1にかかる情報処理装置の処理を示すフローチャートである。It is a flowchart which shows the process of the information processing apparatus concerning Embodiment 1 of invention. 発明の実施の形態1にかかる情報処理装置の処理を示すフローチャートである。It is a flowchart which shows the process of the information processing apparatus concerning Embodiment 1 of invention. 発明の実施の形態2にかかる情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus concerning Embodiment 2 of invention. 発明の実施の形態2にかかる情報処理装置の処理を示すフローチャートである。It is a flowchart which shows the process of the information processing apparatus concerning Embodiment 2 of invention. 発明の実施の形態3にかかる情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus concerning Embodiment 3 of invention. 発明の実施の形態4にかかる情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus concerning Embodiment 4 of invention. 発明の実施の形態5にかかる情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus concerning Embodiment 5 of invention.

符号の説明Explanation of symbols

1 情報処理装置、11 OS(1)、12 OS(2)、13 ディスク、
14 イーサネット(登録商標)、15 バスコントローラ、16〜19 CPU、
21 OS(3)、31 スレッド、40 ドライバ、50 遅延時間管理部、
60 デバイス、70 負荷制御部、80 スケジューラ、90 共有メモリ
1 information processing apparatus, 11 OS (1), 12 OS (2), 13 disks,
14 Ethernet (registered trademark), 15 bus controller, 16-19 CPU,
21 OS (3), 31 threads, 40 drivers, 50 delay time management unit,
60 devices, 70 load control unit, 80 scheduler, 90 shared memory

Claims (17)

優先順位の高い第1のOSと、当該第1のOSとハードウェア資源を共有する優先順位の低い第2のOSを備え、当該ハードウェア資源より第1のOSが割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する情報処理装置であって、
前記第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定する負荷制御手段と、
前記負荷制御手段が負荷が大きいと判定した場合に、前記ハードウェア資源による割り込み処理を発生させる、前記第2のOSの処理を遅延させる遅延制御手段とを備えた情報処理装置。
A first OS having a higher priority and a second OS having a lower priority sharing hardware resources with the first OS, and the first OS receives an interrupt notification from the hardware resources An information processing apparatus that executes interrupt notification transfer processing to the second OS when the interrupt is not processed by the first OS,
Load control means for detecting a load associated with the transfer process of the first OS and determining a load state associated with the transfer process;
An information processing apparatus comprising: delay control means for delaying processing of the second OS, which generates interrupt processing by the hardware resource when the load control means determines that the load is large.
前記負荷制御手段は、前記第2のOSによる割込み処理に関する平均割込み頻度、又は、当該割込み処理に要した平均タスク待ち時間、又は当該平均割込み頻度及び平均タスク時間の双方に基づいて当該負荷の状態を判定することを特徴とする請求項1記載の情報処理装置。   The load control means determines the state of the load based on the average interrupt frequency related to the interrupt processing by the second OS, the average task waiting time required for the interrupt processing, or both the average interrupt frequency and the average task time. The information processing apparatus according to claim 1, further comprising: 前記負荷制御手段は、当該平均割込み頻度又は平均タスク時間が閾値を超える場合に、負荷が高いと判定することを特徴とする請求項2記載の情報処理装置。   The information processing apparatus according to claim 2, wherein the load control unit determines that the load is high when the average interrupt frequency or the average task time exceeds a threshold value. 前記遅延制御手段は、前記負荷制御手段が当該負荷が高いと判定した場合に、遅延時間の値が大きくなるよう更新し、前記負荷制御手段が当該負荷が低いと判定した場合に、遅延時間の値が小さくなるよう更新する請求項1〜3いずれか1項に記載の情報処理装置。   When the load control unit determines that the load is high, the delay control unit updates the delay time value so that the delay time value is increased. When the load control unit determines that the load is low, the delay control unit The information processing apparatus according to any one of claims 1 to 3, wherein the information is updated so that the value becomes smaller. 前記遅延制御手段は、実行スレッドをディスパッチキューにつなげる処理について遅延制御を実行することを特徴とする請求項1〜4いずれか1項に記載の情報処理装置。   5. The information processing apparatus according to claim 1, wherein the delay control unit executes delay control for a process of connecting an execution thread to a dispatch queue. 前記負荷制御手段を前記第1のOSに設け、前記遅延制御手段を前記第2のOSに設けたことを特徴とする請求項1〜5いずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the load control unit is provided in the first OS, and the delay control unit is provided in the second OS. 前記負荷制御手段を前記第1のOSに設け、前記遅延制御手段を前記第2のOSに設けた場合に、
前記遅延制御手段は、前記ハードウェア資源への割り込み処理を行うときに、前記第1のOSに設けられた負荷制御手段に対して割り込み通知を行い、
当該負荷制御手段は、かかる割り込み通知に応じて第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定して、負荷が低いときに許可通知を、負荷が高いときに不許可通知を前記遅延制御手段に送り、
前記遅延制御手段は、許可通知を受けた場合には前記割り込み処理を実行し、不許可通知を受けた場合には所定時間待機後に再び前記負荷制御手段に対して割り込み通知を実行することを特徴とする請求項1〜5いずれか1項に記載の情報処理装置。
When the load control means is provided in the first OS and the delay control means is provided in the second OS,
The delay control unit performs an interrupt notification to the load control unit provided in the first OS when performing an interrupt process to the hardware resource,
The load control means detects the load associated with the transfer process of the first OS in response to the interrupt notification, determines the state of the load associated with the transfer process, and notifies the permission notification when the load is low. When it is high, send a notice of disapproval to the delay control means
The delay control unit executes the interrupt process when receiving a permission notification, and executes the interrupt notification to the load control unit again after waiting for a predetermined time when receiving a non-permission notification. The information processing apparatus according to any one of claims 1 to 5.
前記負荷制御手段を前記第1のOSに設け、前記遅延制御手段を前記第2のOSに設けた場合に、
当該負荷制御手段は、判定した負荷の状態を示す割り込み許可フラグを共有メモリに設定し、
前記遅延制御手段は、前記ハードウェア資源への割り込み処理を行うときに、前記共有メモリに設定された割り込み許可フラグを参照し、割り込みが許可されている場合には前記割り込み処理を実行し、割り込みが許可されていない場合には所定時間待機後に再び割り込み許可フラグを参照することを特徴とする請求項1〜5いずれか1項に記載の情報処理装置。
When the load control unit is provided in the first OS and the delay control unit is provided in the second OS,
The load control means sets an interrupt permission flag indicating the determined load state in the shared memory,
The delay control means refers to an interrupt permission flag set in the shared memory when performing an interrupt process to the hardware resource, and executes the interrupt process when an interrupt is permitted, 6. The information processing apparatus according to claim 1, wherein if the permission is not permitted, the interrupt permission flag is referred again after waiting for a predetermined time.
前記情報処理装置が優先順位の低いOSを複数有する場合に、前記負荷制御手段は、当該優先順位の低いOSのそれぞれに設けられた遅延制御手段に対して、個別の負荷状況に応じた負荷通知を行うことを特徴とする請求項1〜8いずれか1項に記載の情報処理装置。   When the information processing apparatus has a plurality of OSs with low priorities, the load control means notifies the delay control means provided for each of the OSs with low priorities according to individual load conditions. The information processing apparatus according to claim 1, wherein: 優先順位の低い第2のOSとハードウェア資源を共有し、優先順位の高い第1のOSに対して当該ハードウェア資源からの割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する割り込み制御方法であって、
前記第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定する負荷状態判定ステップと、
前記負荷が大きいと判定した場合に、前記ハードウェア資源による割り込み処理を発生させる、前記第2のOSの処理を遅延させる遅延制御ステップとを備えた割り込み制御方法。
It is not an interrupt that is processed by the first OS when it shares hardware resources with the second OS with a lower priority and receives an interrupt notification from the hardware resource for the first OS with a higher priority. An interrupt control method for executing interrupt notification transfer processing to the second OS sometimes,
A load state determination step of detecting a load associated with the transfer process of the first OS and determining a load state associated with the transfer process;
An interrupt control method comprising: a delay control step of delaying the processing of the second OS, which generates an interrupt processing by the hardware resource when it is determined that the load is large.
前記負荷状態判定ステップでは、前記第2のOSによる割込み処理に関する平均割込み頻度、又は、当該割込み処理に要した平均タスク待ち時間、又は当該平均割込み頻度及び平均タスク時間の双方に基づいて当該負荷の状態を判定することを特徴とする請求項10記載の割り込み制御方法。   In the load state determination step, based on the average interrupt frequency related to the interrupt processing by the second OS, the average task waiting time required for the interrupt processing, or both the average interrupt frequency and the average task time, The interrupt control method according to claim 10, wherein a state is determined. 前記負荷状態判定ステップでは、当該平均割込み頻度又は平均タスク時間が閾値を超える場合に、負荷が高いと判定することを特徴とする請求項11記載の割り込み制御方法。   12. The interrupt control method according to claim 11, wherein, in the load state determination step, it is determined that the load is high when the average interrupt frequency or the average task time exceeds a threshold value. 遅延制御ステップでは、前記負荷状態判定ステップにおいて当該負荷が高いと判定した場合に、遅延時間の値が大きくなるよう更新し、前記負荷制御手段が当該負荷が低いと判定した場合に、遅延時間の値が小さくなるよう更新する請求項10〜12いずれか1項に記載の割り込み制御方法。   In the delay control step, when it is determined that the load is high in the load state determination step, the delay time value is updated to be large, and when the load control unit determines that the load is low, the delay time is The interrupt control method according to claim 10, wherein the interrupt control method is updated so that the value becomes smaller. 前記遅延制御ステップでは、実行スレッドをディスパッチキューにつなげる処理について遅延制御を実行することを特徴とする請求項10〜13いずれか1項に記載の割り込み制御方法。   The interrupt control method according to any one of claims 10 to 13, wherein, in the delay control step, delay control is executed for a process of connecting an execution thread to a dispatch queue. 前記負荷状態判定ステップを前記第1のOSが実行し、前記遅延制御ステップを前記第2のOSが実行することを特徴とする請求項10〜14いずれか1項に記載の割り込み制御方法。   The interrupt control method according to any one of claims 10 to 14, wherein the first OS executes the load state determination step, and the second OS executes the delay control step. 優先順位の低い第2のOSとハードウェア資源を共有し、優先順位の高い第1のOSに対して当該ハードウェア資源からの割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する割り込み制御方法であって、
前記第2のOSは、前記ハードウェア資源への割り込み処理を行うときに、前記第1のOSに対して割り込み通知を実行するステップと、
前記第1のOSは、かかる割り込み通知に応じて第1のOSの転送処理に伴う負荷を検出し、当該転送処理に伴う負荷の状態を判定して、負荷が低いときに許可通知を、負荷が高いときに不許可通知を前記第2のOSに送るステップ、
前記第2のOSは、許可通知を受けた場合には前記割り込み処理を実行し、不許可通知を受けた場合には所定時間待機後に再び前記第1のOSに対して割り込み通知を実行するステップとを備えた割り込み制御方法。
It is not an interrupt that is processed by the first OS when it shares hardware resources with the second OS with a lower priority and receives an interrupt notification from the hardware resource for the first OS with a higher priority. An interrupt control method for executing interrupt notification transfer processing to the second OS sometimes,
The second OS executing an interrupt notification to the first OS when performing an interrupt process on the hardware resource;
The first OS detects the load associated with the transfer process of the first OS in response to the interrupt notification, determines the load state associated with the transfer process, and sends a permission notice when the load is low. Sending a disapproval notice to the second OS when the
The second OS executes the interrupt process when receiving the permission notification, and executes the interrupt notification again with respect to the first OS after waiting for a predetermined time when receiving the non-permission notification. And an interrupt control method.
優先順位の低い第2のOSとハードウェア資源を共有し、優先順位の高い第1のOSに対して当該ハードウェア資源からの割り込み通知を受けた場合に当該第1のOSが処理する割り込みでないときに前記第2のOSに対して割込み通知の転送処理を実行する割り込み制御方法であって、
前記第1のOSが、第1のOSの転送処理に伴う負荷の状態を示す割り込み許可フラグを設定するステップと、
前記第2のOSが、前記ハードウェア資源への割り込み処理を行うときに、前記割り込み許可フラグを参照し、割り込みが許可されている場合には前記割り込み処理を実行し、割り込みが許可されていない場合には所定時間待機後に再び割り込み許可フラグを参照するステップとを備えた割り込み制御方法。
It is not an interrupt that is processed by the first OS when it shares hardware resources with the second OS with a lower priority and receives an interrupt notification from the hardware resource for the first OS with a higher priority. An interrupt control method for executing interrupt notification transfer processing to the second OS sometimes,
The first OS sets an interrupt permission flag indicating a load state associated with the transfer processing of the first OS;
When the second OS performs an interrupt process to the hardware resource, the second OS refers to the interrupt permission flag, executes the interrupt process when the interrupt is permitted, and the interrupt is not permitted. And a step of referring to the interrupt permission flag again after waiting for a predetermined time.
JP2008319498A 2008-12-16 2008-12-16 Information processing apparatus and interrupt control method Expired - Fee Related JP4877317B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008319498A JP4877317B2 (en) 2008-12-16 2008-12-16 Information processing apparatus and interrupt control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008319498A JP4877317B2 (en) 2008-12-16 2008-12-16 Information processing apparatus and interrupt control method

Publications (2)

Publication Number Publication Date
JP2010146065A JP2010146065A (en) 2010-07-01
JP4877317B2 true JP4877317B2 (en) 2012-02-15

Family

ID=42566491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008319498A Expired - Fee Related JP4877317B2 (en) 2008-12-16 2008-12-16 Information processing apparatus and interrupt control method

Country Status (1)

Country Link
JP (1) JP4877317B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5691749B2 (en) * 2011-03-31 2015-04-01 富士通株式会社 Resource suppression program, resource monitoring program, resource suppression device, resource monitoring device, resource suppression method, resource monitoring method, and resource suppression system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03131936A (en) * 1989-10-18 1991-06-05 Nec Corp Inter-os input/output device sharing system for virtual computer system
JP4345630B2 (en) * 2004-09-29 2009-10-14 ソニー株式会社 Information processing apparatus, interrupt processing control method, and computer program
JP2008065713A (en) * 2006-09-08 2008-03-21 Canon Inc Multiprocessor system and interrupt control method

Also Published As

Publication number Publication date
JP2010146065A (en) 2010-07-01

Similar Documents

Publication Publication Date Title
JP4747307B2 (en) Network processing control device, program, and method
EP3457644B1 (en) Transfer device, transfer method, and computer-readable medium
US10592298B2 (en) Method for distributing load in a multi-core system
US8056083B2 (en) Dividing a computer job into micro-jobs for execution
JP2007041720A (en) Job step execution program and job step execution method
US9389921B2 (en) System and method for flexible device driver resource allocation
JP2003298599A (en) Method and apparatus for distribution control
JP2008129846A (en) Data processor, data processing method, and program
US9389923B2 (en) Information processing device and method for controlling information processing device
EP3306866B1 (en) Message processing method, device and system
CN113032152B (en) Scheduling method, scheduling apparatus, electronic device, storage medium, and program product for deep learning framework
US9367349B2 (en) Multi-core system and scheduling method
JP6955163B2 (en) Information processing equipment, information processing methods and programs
JP4811260B2 (en) Programmable controller and its support device
US20060184942A1 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
CN106095548B (en) Method and device for distributing interrupts in multi-core processor system
JP4877317B2 (en) Information processing apparatus and interrupt control method
JP2008204243A (en) Job execution control method and system
JP4048638B2 (en) Scheduling apparatus and method, and recording medium
US8095695B2 (en) Control apparatus for process input-output device
JP4363417B2 (en) Computer apparatus and computer control method
CN114116203B (en) Resource call control method, resource call control device and storage medium
KR20160061726A (en) Method for handling interrupts
CN115794390A (en) Task control device, electronic equipment and storage medium
US8869171B2 (en) Low-latency communications

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111114

R150 Certificate of patent or registration of utility model

Ref document number: 4877317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees