JP2009181474A - Priority controller for input/output request, priority control method for input/output request, and priority control program for input/output request - Google Patents

Priority controller for input/output request, priority control method for input/output request, and priority control program for input/output request Download PDF

Info

Publication number
JP2009181474A
JP2009181474A JP2008021727A JP2008021727A JP2009181474A JP 2009181474 A JP2009181474 A JP 2009181474A JP 2008021727 A JP2008021727 A JP 2008021727A JP 2008021727 A JP2008021727 A JP 2008021727A JP 2009181474 A JP2009181474 A JP 2009181474A
Authority
JP
Japan
Prior art keywords
input
priority
output request
output
request
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.)
Granted
Application number
JP2008021727A
Other languages
Japanese (ja)
Other versions
JP4984165B2 (en
Inventor
Shotaro Kono
正太郎 河野
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 JP2008021727A priority Critical patent/JP4984165B2/en
Publication of JP2009181474A publication Critical patent/JP2009181474A/en
Application granted granted Critical
Publication of JP4984165B2 publication Critical patent/JP4984165B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve priority control for preventing the delay of the response of a real time OS, and for suppressing the deterioration of a through-put of a general-purpose OS in a hybrid OS. <P>SOLUTION: The priority controller of an input/output request includes a priority management table; a priority control part; and input/output request queue. The priority management table is configured to determine the size of an input/output block which is permitted for a second input/output request to be issued to a general-purpose operating system in response to the priority of a first input/output request to be issued to a real time operating system. The priority control part is configured to receive the first input/output request and the second input/output request, and to divide the second input/output request based on the priority management table, and the input/output queue is configured to enqueue the first input/output request and the second input/output request divided by the priority control part in the order of priority. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、入出力要求の優先度コントローラ、入出力要求の優先度制御方法、及び、入出力要求の優先度制御プログラムに関する。   The present invention relates to an input / output request priority controller, an input / output request priority control method, and an input / output request priority control program.

ある応答を、ある決められた時間内に行うリアルタイムOS(Operating System)が知られる。リアルタイムOSは、カーナビゲーション、デジタルカメラ、情報家電、携帯電話機の組み込みシステムなどで使用されている。特に、組み込みシステムにおいては、近年、リアルタイム処理に加えて、音声データや動画データを扱うマルチメディア処理を行うなど、システムの高機能化が求められている。   A real-time OS (Operating System) that performs a certain response within a predetermined time is known. Real-time OSs are used in car navigation systems, digital cameras, information appliances, mobile phone embedded systems, and the like. In particular, in an embedded system, in recent years, in addition to real-time processing, it has been demanded to increase the functionality of the system such as performing multimedia processing that handles audio data and moving image data.

高機能化を実現する手法の一つとして、ハイブリッドOSが知られる。ハイブリッドOSは、リアルタイム処理を行うリアルタイムOSと、マルチメディア処理などを行う汎用OSとの2種類のOSを擁したOSである。OSのハイブリッド化により、リアルタイムOSが持つ高リアルタイム性や高信頼性、及び、汎用OSが持つ高スケーラビリティや高スループットなど、二つのOSの特長を併せ持つシステムが実現可能となる。   A hybrid OS is known as one method for realizing high functionality. The hybrid OS is an OS having two types of OSs, a real-time OS that performs real-time processing and a general-purpose OS that performs multimedia processing. By hybridizing the OS, it is possible to realize a system having the features of two OSs such as the high real-time property and high reliability of the real-time OS and the high scalability and high throughput of the general-purpose OS.

組み込みシステムでOSのハイブリッド化を行う場合、省スペースの制約などのため、OS毎にディスクを設けることが難しい。そのため、OS間でディスクを共有する必要がある。しかし、共有ディスクを設けた場合、リアルタイムOSの入出力処理が、汎用OSの入出力処理によって阻害され、レスポンスが低下することがある。   When hybridizing an OS in an embedded system, it is difficult to provide a disk for each OS due to space-saving restrictions. Therefore, it is necessary to share a disk between OSs. However, when a shared disk is provided, the input / output processing of the real-time OS may be hindered by the input / output processing of the general-purpose OS, and the response may decrease.

加えて、汎用OSでは、スループットを重視するため、入出力要求の入出力ブロックサイズが、リアルタイムOSの入出力要求の入出力ブロックサイズと比較して大きくなるという傾向が見られる。入出力ブロックサイズが大きいと、入出力要求あたりの入出力処理の実行時間が長くなるため、汎用OSの入出力処理により、リアルタイムOSの入出力処理を開始できず、かなりの頻度で遅延が生じてしまう。   In addition, in general-purpose OSs, the input / output block size for input / output requests tends to be larger than the input / output block size for input / output requests of the real-time OS because throughput is important. If the input / output block size is large, the execution time of the input / output processing per input / output request becomes long. Therefore, the input / output processing of the general-purpose OS cannot start the input / output processing of the real-time OS, and a delay occurs with considerable frequency. End up.

特開平11−39246号公報(特許文献1参照)には、通常優先度のI/Oブロックを分割可能なディスクアクセス方式の発明が記載されている。このディスクアクセス方式の発明においては、現在処理中のI/O要求よりも高優先度I/O要求が発生した場合に、ディスクのI/Oブロックを分割した単位であるI/Oサブブロックの切れ目にて、高優先度I/O要求を割り込ませて先に処理する。   Japanese Patent Application Laid-Open No. 11-39246 (see Patent Document 1) describes a disk access system invention capable of dividing a normal priority I / O block. In this disk access system invention, when an I / O request having a higher priority than an I / O request currently being processed is generated, the I / O sub-block which is a unit obtained by dividing the I / O block of the disk At the break, the high priority I / O request is interrupted and processed first.

特開平11−39246号公報JP-A-11-39246

本発明の課題は、ハイブリッドOSにおいて、リアルタイムOSのレスポンスが遅延することを回避すると共に、汎用OSのスループットが低下することを抑止するための優先度制御を行うことである。   An object of the present invention is to perform priority control for preventing a response of a real-time OS from being delayed and suppressing a decrease in throughput of a general-purpose OS in a hybrid OS.

本発明の一つ目のアスペクトによる入出力要求の優先度コントローラは、優先度管理テーブルと、優先度制御部と、入出力要求キューとを備える。優先度管理テーブルは、リアルタイムオペレーティングシステムに発行される第一の入出力要求の優先度に応じて、汎用オペレーティングシステムに発行される第二の入出力要求に許容する入出力ブロックの大きさを決定するためのテーブルである。優先度制御部は、第一の入出力要求と、第二の入出力要求とを受け取ると共に、優先度管理テーブルに基づいて、第二の入出力要求を分割する。入出力要求キューは、第一の入出力要求と、優先度制御部によって分割された第二の入出力要求とを、優先度順にエンキューする。   An input / output request priority controller according to a first aspect of the present invention includes a priority management table, a priority control unit, and an input / output request queue. The priority management table determines the size of the I / O block allowed for the second I / O request issued to the general-purpose operating system according to the priority of the first I / O request issued to the real-time operating system. It is a table to do. The priority control unit receives the first input / output request and the second input / output request, and divides the second input / output request based on the priority management table. The input / output request queue enqueues the first input / output request and the second input / output request divided by the priority control unit in order of priority.

本発明の二つ目のアスペクトによる入出力要求の優先度制御方法は、受け取ることと、決定することと、分割することと、エンキューすることとを備える。受け取ることは、リアルタイムオペレーティングシステムに発行される第一の入出力要求を受け取ると共に、汎用オペレーティングシステムに発行される第二の入出力要求を受け取る。決定することは、第一の入出力要求の優先度に応じて、第二の入出力要求に許容する入出力ブロックの大きさを決定する。分割することは、その大きさに基づいて、第二の入出力要求を分割する。エンキューすることは、第一の入出力要求と、分割することによって分割された第二の入出力要求とを、優先度順に入出力要求キューにエンキューする。   The input / output request priority control method according to the second aspect of the present invention comprises receiving, determining, dividing, and enqueuing. Receiving receives a first I / O request issued to the real-time operating system and a second I / O request issued to the general purpose operating system. The determination determines the size of the input / output block allowed for the second input / output request in accordance with the priority of the first input / output request. Splitting splits the second I / O request based on its size. Enqueuing enqueues the first input / output request and the second input / output request divided by dividing into the input / output request queue in order of priority.

本発明の三つ目のアスペクトによる入出力要求の優先度制御プログラムは、受け取る手順と、決定する手順と、分割する手順と、エンキューする手順とをコンピュータに実行させる。受け取る手順は、リアルタイムオペレーティングシステムに発行される第一の入出力要求を受け取ると共に、汎用オペレーティングシステムに発行される第二の入出力要求を受け取る。決定する手順は、第一の入出力要求の優先度に応じて、第二の入出力要求に許容する入出力ブロックの大きさを決定する。分割する手順は、この大きさに基づいて、第二の入出力要求を分割する。エンキューする手順は、第一の入出力要求と、分割することによって分割された第二の入出力要求とを、優先度順に入出力要求キューにエンキューする。   The input / output request priority control program according to the third aspect of the present invention causes a computer to execute a receiving procedure, a determining procedure, a dividing procedure, and an enqueuing procedure. The receiving procedure receives a first I / O request issued to the real-time operating system and a second I / O request issued to the general-purpose operating system. The determining procedure determines the size of the input / output block allowed for the second input / output request in accordance with the priority of the first input / output request. The dividing procedure divides the second input / output request based on this size. The enqueueing procedure enqueues the first input / output request and the second input / output request divided by dividing into the input / output request queue in order of priority.

本発明によれば、ハイブリッドOSにおいて、リアルタイムOSのレスポンスが遅延することを回避すると共に、汎用OSのスループットが低下することを抑止するための優先度制御を行うことができる。   According to the present invention, in the hybrid OS, it is possible to perform priority control for preventing the response of the real-time OS from being delayed and preventing the throughput of the general-purpose OS from being lowered.

本発明を実施するための最良の形態の一つについて、図面を参照して詳細に説明する。図1に、一つの実施の形態による入出力要求の優先度コントローラを、組み込みシステムに適用した構成図を示す。図1において、組み込みシステムはハイブリッドOSを装備しており、リアルタイムOS 3と、OS間通信部4と、汎用OS 5とを有している。リアルタイムOS 3の上ではリアルタイムOS・アプリケーション1が動作し、汎用OS 4の上では汎用OS・アプリケーション2が動作している。これらのソフトウェア1〜5は、組み込みシステムが備えるシングルプロセッサ又はマルチコアプロセッサで実行されている。図中、組み込みシステムは一つのみの共有ディスク6を備え、両OS 3,5は同一の共有ディスク6を使用するようになっている。   One of the best modes for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 shows a configuration diagram in which an input / output request priority controller according to one embodiment is applied to an embedded system. In FIG. 1, the embedded system is equipped with a hybrid OS, and has a real-time OS 3, an inter-OS communication unit 4, and a general-purpose OS 5. A real-time OS / application 1 operates on the real-time OS 3, and a general-purpose OS / application 2 operates on the general-purpose OS 4. These software 1 to 5 are executed by a single processor or a multi-core processor included in the embedded system. In the figure, the embedded system includes only one shared disk 6, and both OSes 3 and 5 use the same shared disk 6.

図1において、リアルタイムOS・アプリケーション1として、二つのタスク11,12が動作している。また、汎用OS・アプリケーション2として、二つのプロセス21,22が動作している。タスク11,12は、リアルタイムOS 3の入出力受付部31に対して、入出力要求を発行する。一方、プロセス21,22は、汎用OS 5の入出力受付部51に対して、入出力要求を発行する。リアルタイムOS 3の入出力受付部31は、タスク11,22から入出力要求を受け取ると、この入出力要求を、入出力要求の優先度コントローラ70に通知する。汎用OSの入出力受付部51は、プロセス21,22から入出力要求を受け取ると、この入出力要求を、OS間通信部4を経由して、優先度コントローラ70に通知する。   In FIG. 1, two tasks 11 and 12 are operating as the real-time OS application 1. Further, as the general-purpose OS / application 2, two processes 21 and 22 are operating. The tasks 11 and 12 issue an input / output request to the input / output receiving unit 31 of the real-time OS 3. On the other hand, the processes 21 and 22 issue an input / output request to the input / output receiving unit 51 of the general-purpose OS 5. When the input / output receiving unit 31 of the real-time OS 3 receives an input / output request from the tasks 11 and 22, it notifies the input / output request priority controller 70 of the input / output request. When receiving the input / output request from the processes 21 and 22, the general-purpose OS input / output receiving unit 51 notifies the priority controller 70 of the input / output request via the inter-OS communication unit 4.

優先度コントローラ70は、入出力受付部31から、又は、入出力受付部51から入出力要求を受け取る。そして、一定条件下、入出力要求を分割するなどして、入出力要求の優先度を制御する。入出力処理部35は、優先度コントローラ70から、優先度順に従って入出力要求を取り出し、共有ディスク6に対する入出力を実行する。入出力が完了すると、優先度コントローラ70は、入出力要求元に入出力の完了を通知する。   The priority controller 70 receives an input / output request from the input / output receiving unit 31 or the input / output receiving unit 51. Then, the priority of the input / output request is controlled by dividing the input / output request under a certain condition. The input / output processing unit 35 retrieves an input / output request from the priority controller 70 in the order of priority, and executes input / output to the shared disk 6. When the input / output is completed, the priority controller 70 notifies the input / output request source of the completion of the input / output.

図2は、入出力要求の優先度コントローラの一例を説明する構成図である。図示するように、優先度コントローラ70は、優先度制御部71と、優先度管理テーブル72と、入出力要求キュー73とを有している。図2において、優先度制御部71は、入出力要求を受け取ると共に、受け取った入出力要求を、入出力要求キュー33に優先度順にエンキューする。このとき、優先度制御部32は、優先度管理テーブルを参照して、汎用OS 5の入出力受付部51からの入出力要求を、一定条件下、予め決められたアルゴリズムに従って分割する。   FIG. 2 is a configuration diagram illustrating an example of a priority controller for input / output requests. As illustrated, the priority controller 70 includes a priority control unit 71, a priority management table 72, and an input / output request queue 73. In FIG. 2, the priority control unit 71 receives an input / output request and enqueues the received input / output request in the input / output request queue 33 in order of priority. At this time, the priority control unit 32 refers to the priority management table and divides the input / output request from the input / output reception unit 51 of the general-purpose OS 5 according to a predetermined algorithm under a certain condition.

図3は、優先度管理テーブルの具体例を示す説明図である。図3に例示する優先度管理テーブル72は、二つのサブテーブルを備えている。図3において、一つ目のサブテーブルは、二つ目のサブテーブルにおけるタスクの優先度と、汎用OS 5の入出力受付部51からの入出力要求について、入出力ブロックの大きさを制限する部分ブロックサイズとの対応表である。タスクの優先度が高いほど、より小さなサイズの部分ブロックサイズが割り当てられ、タスクの優先度が低いほど、より大きなサイズの部分ブロックサイズが割り当てられている。二つ目のサブテーブルは、入出力要求キュー33にエンキューされている入出力要求を発行したタスクと、そのタスクの優先度との対応表である。ここでは、入出力要求の優先度は、その入出力要求を発行したタスクの優先度と等価になっていて、同一のタスクから発行される入出力要求は、全て、同じ優先度を割り当てられている。   FIG. 3 is an explanatory diagram of a specific example of the priority management table. The priority management table 72 illustrated in FIG. 3 includes two sub tables. In FIG. 3, the first sub-table limits the size of the input / output block for the priority of the task in the second sub-table and the input / output request from the input / output receiving unit 51 of the general-purpose OS 5. It is a correspondence table with partial block size. As the task priority is higher, a smaller partial block size is assigned, and as the task priority is lower, a larger partial block size is assigned. The second sub-table is a correspondence table between the task that issued the input / output request enqueued in the input / output request queue 33 and the priority of the task. Here, the priority of the I / O request is equivalent to the priority of the task that issued the I / O request, and all I / O requests issued from the same task are assigned the same priority. Yes.

図4は、入出力要求の説明図である。図示するように、タスク11,12及びプロセス21,22が発行する入出力要求は、発行元のタスク(又はプロセス)を特定するタスク識別子(又はプロセス識別子)と、そのタスク(又はプロセス)の優先度と、入出力ブロックとに関する情報を含んでいる。入出力ブロックの欄には、例えば、簡便に説明すると、アドレスが#0から#9までというような入出力データを特定する情報が含まれている。   FIG. 4 is an explanatory diagram of an input / output request. As shown in the figure, the input / output request issued by the tasks 11 and 12 and the processes 21 and 22 includes a task identifier (or process identifier) that identifies the task (or process) of the issuer and the priority of the task (or process). And information about I / O blocks. The input / output block column includes information for specifying input / output data such as addresses from # 0 to # 9.

図5は、優先度制御部の動作を説明する流れ図である。リアルタイムOS・アプリケーション1のタスク11,12、又は、汎用OS・アプリケーション2のプロセス21,22が入出力要求を発行すると、優先度制御部71は、入出力受付部31又は入出力受付部51から、その入出力要求を受け取る(ステップA1)。優先度制御部71は、この入出力要求が、汎用OS・アプリケーション2のプロセス21,22から発行されたものか否かを確認する(ステップA2)。   FIG. 5 is a flowchart for explaining the operation of the priority control unit. When the tasks 11 and 12 of the real-time OS / application 1 or the processes 21 and 22 of the general-purpose OS / application 2 issue an input / output request, the priority control unit 71 receives the input / output reception unit 31 or the input / output reception unit 51. The input / output request is received (step A1). The priority control unit 71 confirms whether or not the input / output request is issued from the processes 21 and 22 of the general-purpose OS / application 2 (step A2).

汎用OS 5からの入出力要求の場合(ステップA2:イエス)、優先度制御部71は、優先度管理テーブル72を参照する(ステップA3)。ここで、優先度制御部71は、まず、第二のサブテーブルから、エントリされているタスクの優先度の最高値を取り出す(ステップA4)。次に、第一のサブテーブルから、優先度の最高値に対応する部分ブロックサイズを取り出す(ステップA5)。優先度制御部71は、入出力要求における入出力ブロックの欄のサイズが、取り出した部分ブロックサイズよりも大きかった場合には、部分ブロックサイズ以下になるように、汎用OS 5からの入出力要求を分割する(ステップA6)。そして、分割された入出力要求を、優先度順になるように入出力要求キュー73にエンキューする(ステップA7)。   In the case of an input / output request from the general-purpose OS 5 (step A2: YES), the priority control unit 71 refers to the priority management table 72 (step A3). Here, the priority control unit 71 first extracts the highest priority value of the entered task from the second sub-table (step A4). Next, the partial block size corresponding to the highest priority is extracted from the first sub-table (step A5). When the size of the input / output block column in the input / output request is larger than the extracted partial block size, the priority control unit 71 sets the input / output request from the general-purpose OS 5 so as to be equal to or smaller than the partial block size. Is divided (step A6). Then, the divided input / output requests are enqueued in the input / output request queue 73 in order of priority (step A7).

リアルタイムOS・アプリケーション1のタスク11,12が発行した入出力要求の場合(ステップA2:ノー)、優先度制御部71は、入出力要求を分割せずに、優先度順になるように入出力要求キュー73にエンキューする(ステップA7)。このとき、優先度制御部71は、優先度管理テーブル72における第二のサブテーブルに、その入出力要求を発行したタスクのタスク識別子と、優先度とを有するエントリを追加する。   In the case of an input / output request issued by the tasks 11 and 12 of the real-time OS / application 1 (step A2: No), the priority control unit 71 does not divide the input / output request, but makes the input / output request in order of priority. The queue is enqueued (step A7). At this time, the priority control unit 71 adds an entry having the task identifier and priority of the task that issued the input / output request to the second sub-table in the priority management table 72.

優先度制御部の動作と並行して、入出力処理部35は、入出力要求キュー73から、優先度が最も高い先頭の入出力要求をデキューし、共有ディスク6に対し入出力を実行する。入出力が完了すると、優先度制御部71は、その入出力要求に関するエントリを、優先度管理テーブル72における第二のサブテーブルから削除する。同時に、入出力要求の発行元であるリアルタイムOS・アプリケーション1のタスク11、タスク12へ、又は、汎用OS・アプリケーション2のプロセス21、プロセス22へ入出力の完了を通知する。   In parallel with the operation of the priority control unit, the input / output processing unit 35 dequeues the first input / output request with the highest priority from the input / output request queue 73 and executes input / output to the shared disk 6. When the input / output is completed, the priority control unit 71 deletes the entry related to the input / output request from the second sub-table in the priority management table 72. At the same time, it notifies the task 11 and task 12 of the real-time OS / application 1 that is the source of the input / output request or the process 21 and process 22 of the general-purpose OS / application 2 of the completion of input / output.

図5の動作例では、第二のサブテーブルを参照することにより優先度を取得し、これらの優先度の最高位を算出し、その後、第一のサブテーブルを参照した。別の動作例として、第二のサブテーブルを参照することにより優先度を取得し、これらの優先度の全てについて、第一のサブテーブルを参照することによりそれぞれの部分ブロックサイズを取得し、最後に、これらの部分ブロックサイズの最小値を算出するようにしても良い。   In the operation example of FIG. 5, the priority is acquired by referring to the second sub-table, the highest rank of these priorities is calculated, and then the first sub-table is referred to. As another example of operation, the priority is obtained by referring to the second sub-table, and the partial block size is obtained for each of these priorities by referring to the first sub-table. In addition, the minimum value of these partial block sizes may be calculated.

このように、本実施の形態では、汎用OS 5からの入出力要求を、優先度管理テーブル72で制限している部分ブロックサイズ以下の入出力ブロックを有する複数の入出力要求に分割している。分割を行えば、入出力要求あたりの入出力の実行時間が短くなるので、リアルタイムOSの入出力の開始が遅延しないようになる。   As described above, in the present embodiment, the input / output request from the general-purpose OS 5 is divided into a plurality of input / output requests having input / output blocks having a partial block size that is limited by the priority management table 72. . If the division is performed, the input / output execution time per input / output request is shortened, so that the start of input / output of the real-time OS is not delayed.

一般的に、リアルタイムOSの入出力は、タスクの優先度が高いほど高レスポンス性が必要とされる。本実施の形態では、汎用OS 5からの入出力要求における入出力ブロックの大きさを制限する部分ブロックサイズを、リアルタイムOSのタスクの優先度により可変としている。従って、リアルタイムOSのタスクで、非常に高いレスポンス性を要求するものがある場合には、部分ブロックサイズを小さくすることにより、相応の高レスポンス性を確保することができる。同時に、リアルタイムOSのタスクで、高いレスポンス性を必要とするものが無い場合には、部分ブロックサイズを大きくすることにより、汎用OSのスループットの低下を抑止することができる。   In general, the input / output of a real-time OS requires higher response as the task priority is higher. In this embodiment, the partial block size that limits the size of the input / output block in the input / output request from the general-purpose OS 5 is made variable according to the priority of the task of the real-time OS. Accordingly, when there is a task requiring a very high response among real-time OS tasks, a corresponding high response can be ensured by reducing the partial block size. At the same time, if there is no real-time OS task that requires high responsiveness, a decrease in the throughput of the general-purpose OS can be suppressed by increasing the partial block size.

以上説明したように、本実施の形態によれば、一定条件下、汎用OSからの入出力要求を分割することにより、入出力要求あたりの入出力の実行時間を短くするようにしているため、リアルタイムOSの特長である高レスポンス性を十分に確保することができる。また、分割後における入出力ブロックの最大サイズとなる部分ブロックサイズを、リアルタイムOSのタスクの優先度により可変としているので、汎用OSのスループットの低下を抑止することができる。   As described above, according to the present embodiment, since the input / output request from the general-purpose OS is divided under a certain condition, the input / output execution time per input / output request is shortened. The high response characteristic of the real-time OS can be sufficiently secured. In addition, since the partial block size, which is the maximum size of the input / output block after the division, is variable depending on the priority of the task of the real-time OS, it is possible to suppress a decrease in the throughput of the general-purpose OS.

図1は、本発明を実施するための最良の形態の一つを説明する構成図である。FIG. 1 is a block diagram for explaining one of the best modes for carrying out the present invention. 図2は、入出力要求の優先度コントローラの一例を説明する構成図である。FIG. 2 is a configuration diagram illustrating an example of a priority controller for input / output requests. 図3は、優先度管理テーブルの具体例を示す説明図である。FIG. 3 is an explanatory diagram of a specific example of the priority management table. 図4は、入出力要求の説明図である。FIG. 4 is an explanatory diagram of an input / output request. 図5は、優先度制御部の動作を説明する流れ図である。FIG. 5 is a flowchart for explaining the operation of the priority control unit.

符号の説明Explanation of symbols

1,2 アプリケーション
3,5 OS
4 OS間通信部
6 共有ディスク
11,12 タスク
21,22 プロセス
31,51 入出力受付部
35 入出力処理部
70 入出力要求の優先度コントローラ
71 優先度制御部
72 優先度管理テーブル
73 入出力要求キュー
1, 2 Application 3, 5 OS
4 Inter-OS communication unit 6 Shared disk 11, 12 Task 21, 22 Process 31, 51 Input / output accepting unit 35 Input / output processing unit 70 Input / output request priority controller 71 Priority control unit 72 Priority management table 73 Input / output request queue

Claims (25)

リアルタイムオペレーティングシステムに発行される第一の入出力要求の優先度に応じて、汎用オペレーティングシステムに発行される第二の入出力要求に許容する入出力ブロックの大きさを決定するための優先度管理テーブルと、
前記第一の入出力要求と、前記第二の入出力要求とを受け取ると共に、前記優先度管理テーブルに基づいて、前記第二の入出力要求を分割する優先度制御手段と、
前記第一の入出力要求と、前記優先度制御手段によって分割された第二の入出力要求とを、優先度順にエンキューする入出力要求キューとを備える
入出力要求の優先度コントローラ。
Priority management to determine the I / O block size allowed for the second I / O request issued to the general-purpose operating system according to the priority of the first I / O request issued to the real-time operating system Table,
Priority control means for receiving the first input / output request and the second input / output request, and dividing the second input / output request based on the priority management table;
An input / output request priority controller, comprising: an input / output request queue that enqueues the first input / output request and the second input / output request divided by the priority control means in order of priority.
前記優先度管理テーブルは、
前記優先度が高いほど、より小さなサイズの入出力ブロックの大きさを、また、前記優先度が低いほど、より大きなサイズの入出力ブロックの大きさを決定するためのテーブルである
請求項1記載の入出力要求の優先度コントローラ。
The priority management table includes:
The table for determining the size of an input / output block having a smaller size as the priority is higher and the size of an input / output block having a larger size as the priority is lower. I / O request priority controller.
前記優先度管理テーブルは、
前記優先度の欄と、その優先度を有する第一の入出力要求があった場合に、前記第二の入出力要求に許容する入出力ブロックの大きさとなる部分ブロックサイズの欄とを具備する第一のサブテーブルを含む
請求項2記載の入出力要求の優先度コントローラ。
The priority management table includes:
The priority column and a partial block size column that is the size of an input / output block allowed for the second input / output request when there is a first input / output request having the priority. The input / output request priority controller according to claim 2, comprising a first sub-table.
前記優先度制御手段は、
所定の手順によって、前記入出力要求キューにエンキューされている第一の入出力要求が有する優先度の中で、最高位の優先度を取得すると共に、前記第一のサブテーブルを参照して、前記最高位の優先度に対応する部分ブロックサイズを取得し、この部分ブロックサイズを超えないように、前記第二の入出力要求を分割する
請求項3記載の入出力要求の優先度コントローラ。
The priority control means includes:
According to a predetermined procedure, the highest priority among the priorities of the first input / output request enqueued in the input / output request queue is obtained, and referring to the first sub-table, The input / output request priority controller according to claim 3, wherein a partial block size corresponding to the highest priority is obtained, and the second input / output request is divided so as not to exceed the partial block size.
前記優先度管理テーブルは、
前記入出力要求キューにエンキューされている第一の入出力要求を発行したタスクのタスク識別子の欄と、そのタスクが発行する入出力要求に割り当てられる優先度の欄とを具備する第二のサブテーブルを更に含む
請求項4記載の入出力要求の優先度コントローラ。
The priority management table includes:
A second sub-field comprising a task identifier field of a task that has issued the first input / output request enqueued in the input / output request queue, and a priority field assigned to the input / output request issued by the task; The input / output request priority controller according to claim 4, further comprising a table.
前記優先度制御手段は、
前記第二のサブテーブルを参照することによって、前記最高位の優先度を取得する
請求項5記載の入出力要求の優先度コントローラ。
The priority control means includes:
The input / output request priority controller according to claim 5, wherein the highest priority is acquired by referring to the second sub-table.
前記優先度制御手段は、
前記入出力要求キューにエンキューされている第一の入出力要求に応じて、前記第二のサブテーブルを更新する
請求項6記載の入出力要求の優先度コントローラ。
The priority control means includes:
The input / output request priority controller according to claim 6, wherein the second sub-table is updated in response to a first input / output request enqueued in the input / output request queue.
リアルタイムオペレーティングシステムに発行される第一の入出力要求を受け取ると共に、汎用オペレーティングシステムに発行される第二の入出力要求を受け取ることと、
前記第一の入出力要求の優先度に応じて、前記第二の入出力要求に許容する入出力ブロックの大きさを決定することと、
前記大きさに基づいて、前記第二の入出力要求を分割することと、
前記第一の入出力要求と、前記分割することによって分割された第二の入出力要求とを、優先度順に入出力要求キューにエンキューすることとを備える
入出力要求の優先度制御方法。
Receiving a first I / O request issued to the real-time operating system and receiving a second I / O request issued to the general purpose operating system;
Determining a size of an input / output block allowed for the second input / output request according to a priority of the first input / output request;
Dividing the second I / O request based on the size;
A priority control method for an input / output request, comprising: enqueuing the first input / output request and the second input / output request divided by the division into an input / output request queue in order of priority.
前記決定することは、
前記第一の入出力要求の優先度に応じて、前記第二の入出力要求に許容する入出力ブロックの大きさを決定するための優先度管理テーブルを参照することを含む
請求項8記載の入出力要求の優先度制御方法。
The determination is
9. The priority management table for determining a size of an input / output block allowed for the second input / output request according to the priority of the first input / output request is included. Priority control method for I / O requests.
前記決定することは、
前記優先度が高いほど、より小さなサイズの入出力ブロックの大きさを、また、前記優先度が低いほど、より大きなサイズの入出力ブロックの大きさを決定するための優先度管理テーブルを参照することを更に含む
請求項9記載の入出力要求の優先度制御方法。
The determination is
The higher the priority, the smaller the size of the input / output block is referred to, and the lower the priority, the higher priority is referred to the priority management table for determining the size of the input / output block. The input / output request priority control method according to claim 9.
前記決定することは、
前記優先度の欄と、その優先度を有する第一の入出力要求があった場合に、前記第二の入出力要求に許容する入出力ブロックの大きさとなる部分ブロックサイズの欄とを具備する第一のサブテーブルを含む優先度管理テーブルを参照することを更に含む
請求項10記載の入出力要求の優先度制御方法。
The determination is
The priority column and a partial block size column that is the size of an input / output block allowed for the second input / output request when there is a first input / output request having the priority. The input / output request priority control method according to claim 10, further comprising referring to a priority management table including a first sub-table.
前記分割することは、
所定の手順によって、前記入出力要求キューにエンキューされている第一の入出力要求が有する優先度の中で、最高位の優先度を取得すると共に、前記第一のサブテーブルを参照して、前記最高位の優先度に対応する部分ブロックサイズを取得し、この部分ブロックサイズを超えないように、前記第二の入出力要求の分割を行うことを含む
請求項11記載の入出力要求の優先度制御方法。
The division is
According to a predetermined procedure, the highest priority among the priorities of the first input / output request enqueued in the input / output request queue is obtained, and referring to the first sub-table, The priority of the input / output request according to claim 11, further comprising: obtaining a partial block size corresponding to the highest priority and dividing the second input / output request so as not to exceed the partial block size. Degree control method.
前記決定することは、
前記入出力要求キューにエンキューされている第一の入出力要求を発行したタスクのタスク識別子の欄と、そのタスクが発行する入出力要求に割り当てられる優先度の欄とを具備する第二のサブテーブルを更に含む優先度管理テーブルを参照することを更に含む
請求項12記載の入出力要求の優先度制御方法。
The determination is
A second sub-field comprising a task identifier field of a task that has issued the first input / output request enqueued in the input / output request queue, and a priority field assigned to the input / output request issued by the task; The input / output request priority control method according to claim 12, further comprising referring to a priority management table further including a table.
前記分割することは、
前記第二のサブテーブルを参照することによって、前記最高位の優先度を取得することを更に含む
請求項13記載の入出力要求の優先度制御方法。
The division is
The input / output request priority control method according to claim 13, further comprising: acquiring the highest priority by referring to the second sub-table.
前記エンキューすることは、
前記入出力要求キューにエンキューされている第一の入出力要求に応じて、前記第二のサブテーブルを更新することを含む
請求項14記載の入出力要求の優先度制御方法。
The enqueue is
The input / output request priority control method according to claim 14, comprising updating the second sub-table in response to a first input / output request enqueued in the input / output request queue.
リアルタイムオペレーティングシステムに発行される第一の入出力要求を受け取ると共に、汎用オペレーティングシステムに発行される第二の入出力要求を受け取る手順と、
前記第一の入出力要求の優先度に応じて、前記第二の入出力要求に許容する入出力ブロックの大きさを決定する手順と、
前記大きさに基づいて、前記第二の入出力要求を分割する手順と、
前記第一の入出力要求と、前記分割することによって分割された第二の入出力要求とを、優先度順に入出力要求キューにエンキューする手順とをコンピュータに実行させるための
入出力要求の優先度制御プログラム。
Receiving a first I / O request issued to the real-time operating system and receiving a second I / O request issued to the general-purpose operating system;
Determining a size of an input / output block allowed for the second input / output request according to the priority of the first input / output request;
Dividing the second I / O request based on the size;
Priority of input / output request for causing a computer to execute a procedure for enqueuing the first input / output request and the second input / output request divided by dividing into an input / output request queue in order of priority Degree control program.
前記決定する手順は、
前記第一の入出力要求の優先度に応じて、前記第二の入出力要求に許容する入出力ブロックの大きさを決定するための優先度管理テーブルを参照する
請求項16記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
The input / output request according to claim 16, wherein a priority management table for determining a size of an input / output block allowed for the second input / output request is referred to according to the priority of the first input / output request. Priority control program.
前記決定する手順は、
前記優先度が高いほど、より小さなサイズの入出力ブロックの大きさを、また、前記優先度が低いほど、より大きなサイズの入出力ブロックの大きさを決定するための優先度管理テーブルを参照する
請求項17記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
The higher the priority, the smaller the size of the input / output block is referred to, and the lower the priority, the higher priority is referred to the priority management table for determining the size of the input / output block. 18. The priority control program for input / output requests according to claim 17.
前記決定する手順は、
前記優先度の欄と、その優先度を有する第一の入出力要求があった場合に、前記第二の入出力要求に許容する入出力ブロックの大きさとなる部分ブロックサイズの欄とを具備する第一のサブテーブルを含む優先度管理テーブルを参照する
請求項18記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
The priority column and a partial block size column that is the size of an input / output block allowed for the second input / output request when there is a first input / output request having the priority. 19. The input / output request priority control program according to claim 18, wherein the priority management table including the first sub-table is referred to.
前記決定する手順は、
前記入出力要求キューにエンキューされている第一の入出力要求が有する優先度の中で、最高位の優先度を取得すると共に、
前記第一のサブテーブルを参照して、前記最高位の優先度に対応する部分ブロックサイズを取得する
請求項19記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
Among the priorities of the first input / output request enqueued in the input / output request queue, the highest priority is obtained,
The input / output request priority control program according to claim 19, wherein a partial block size corresponding to the highest priority is obtained with reference to the first sub-table.
前記決定する手順は、
前記入出力要求キューにエンキューされている第一の入出力要求を発行したタスクのタスク識別子の欄と、そのタスクが発行する入出力要求に割り当てられる優先度の欄とを具備する第二のサブテーブルを更に含む優先度管理テーブルを参照する
請求項20記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
A second sub-field comprising a task identifier field of a task that has issued the first input / output request enqueued in the input / output request queue, and a priority field assigned to the input / output request issued by the task; 21. The input / output request priority control program according to claim 20, wherein the priority management table further includes a table.
前記決定する手順は、
前記第二のサブテーブルを参照することによって、前記最高位の優先度を取得することを含む
請求項21記載の入出力要求の優先度制御プログラム。
The procedure for determining is as follows:
The input / output request priority control program according to claim 21, further comprising: acquiring the highest priority by referring to the second sub-table.
前記エンキューする手順は、
前記入出力要求キューにエンキューされている第一の入出力要求に応じて、前記第二のサブテーブルを更新する
請求項14記載の入出力要求の優先度制御プログラム。
The enqueue procedure is:
The input / output request priority control program according to claim 14, wherein the second sub-table is updated according to a first input / output request enqueued in the input / output request queue.
請求項1〜7いずれか1項に記載した入出力要求の優先度コントローラと、
前記優先度コントローラが制御する入出力要求を受け付けるリアルタイムオペレーティングシステム及び汎用オペレーティングシステムに共用される共有記憶装置とを具備する
組み込みシステム。
A priority controller for input / output requests according to any one of claims 1 to 7,
An embedded system comprising: a real-time operating system that receives an input / output request controlled by the priority controller; and a shared storage device shared by a general-purpose operating system.
請求項8〜15いずれか1項に記載した入出力要求の優先度制御方法を使用した
組み込みシステム。
An embedded system using the priority control method for input / output requests according to any one of claims 8 to 15.
JP2008021727A 2008-01-31 2008-01-31 Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request Expired - Fee Related JP4984165B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008021727A JP4984165B2 (en) 2008-01-31 2008-01-31 Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008021727A JP4984165B2 (en) 2008-01-31 2008-01-31 Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request

Publications (2)

Publication Number Publication Date
JP2009181474A true JP2009181474A (en) 2009-08-13
JP4984165B2 JP4984165B2 (en) 2012-07-25

Family

ID=41035381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008021727A Expired - Fee Related JP4984165B2 (en) 2008-01-31 2008-01-31 Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request

Country Status (1)

Country Link
JP (1) JP4984165B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228045A (en) * 1988-03-08 1989-09-12 Hitachi Ltd Input/output control system
JPH1139246A (en) * 1997-07-18 1999-02-12 Nec Corp Disk access system
JP2001229621A (en) * 2000-12-28 2001-08-24 Sony Corp Data transmitter
JP2003005987A (en) * 2001-06-19 2003-01-10 Hitachi Ltd Emulation device
JP2005513644A (en) * 2001-12-20 2005-05-12 ノキア コーポレイション Method and system for performing operating system functions and electronic device
JP2007220086A (en) * 2006-01-17 2007-08-30 Ntt Docomo Inc Input/output controller, input/output control system, and input/output control method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228045A (en) * 1988-03-08 1989-09-12 Hitachi Ltd Input/output control system
JPH1139246A (en) * 1997-07-18 1999-02-12 Nec Corp Disk access system
JP2001229621A (en) * 2000-12-28 2001-08-24 Sony Corp Data transmitter
JP2003005987A (en) * 2001-06-19 2003-01-10 Hitachi Ltd Emulation device
JP2005513644A (en) * 2001-12-20 2005-05-12 ノキア コーポレイション Method and system for performing operating system functions and electronic device
JP2007220086A (en) * 2006-01-17 2007-08-30 Ntt Docomo Inc Input/output controller, input/output control system, and input/output control method

Also Published As

Publication number Publication date
JP4984165B2 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
US9396154B2 (en) Multi-core processor for managing data packets in communication network
WO2009147802A1 (en) Priority controller and priority control method
US9632977B2 (en) System and method for ordering packet transfers in a data processor
US8191073B2 (en) Method and system for polling network controllers
JP6170553B2 (en) System and method for providing low latency for applications using heterogeneous processors
JP4888731B2 (en) Computer system, input / output priority control method, and program
US20180006806A1 (en) Dual-mode processing of cryptographic operations
US11201836B2 (en) Method and device for managing stateful application on server
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
EP3369238B1 (en) Method, apparatus, computer-readable medium and computer program product for cloud file processing
US10977200B2 (en) Method, apparatus and computer program product for processing I/O request
CN104702534A (en) Method and device for processing data of multi-process sharing port
US10877790B2 (en) Information processing apparatus, control method and storage medium
JP2013143653A (en) Information processing apparatus and information processing method
JP4984165B2 (en) Priority controller for input / output request, priority control method for input / output request, and priority control program for input / output request
US10423546B2 (en) Configurable ordering controller for coupling transactions
CN110764710A (en) Data access method and storage system of low-delay and high-IOPS
JP4089506B2 (en) File sharing system, server and program
US20180174592A1 (en) Spatial audio resource management utilizing minimum resource working sets
JP6219771B2 (en) Load distribution apparatus, load distribution method, and load distribution system
US9330036B2 (en) Interrupt reduction by dynamic application buffering
TW201421420A (en) Graphic processing unit virtual apparatus, graphic processing unit host apparatus, and graphic processing unit program processing methods thereof
CN115328665B (en) Hypervisor-based GPU virtualization method and device and electronic equipment
JP2019003245A (en) Service providing system, service providing server, service providing method and service providing program
US7974300B2 (en) Configuration for messaging multiplexed channel instances with varying connection speeds

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120329

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4984165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees