JP2009217750A - Computer system, input/output priority control method, and program - Google Patents

Computer system, input/output priority control method, and program Download PDF

Info

Publication number
JP2009217750A
JP2009217750A JP2008063368A JP2008063368A JP2009217750A JP 2009217750 A JP2009217750 A JP 2009217750A JP 2008063368 A JP2008063368 A JP 2008063368A JP 2008063368 A JP2008063368 A JP 2008063368A JP 2009217750 A JP2009217750 A JP 2009217750A
Authority
JP
Japan
Prior art keywords
input
output
output request
real
priority
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
JP2008063368A
Other languages
Japanese (ja)
Other versions
JP4888731B2 (en
Inventor
Hideki Ogawa
英輝 小川
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 JP2008063368A priority Critical patent/JP4888731B2/en
Publication of JP2009217750A publication Critical patent/JP2009217750A/en
Application granted granted Critical
Publication of JP4888731B2 publication Critical patent/JP4888731B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To cope with a problem that input-output processing by a real-time OS is prevented by input-output processing by a general purpose OS, and consequently a response of the real-time OS lowers. <P>SOLUTION: A computer system has a sharing device 6 shared by the real-time OS 3 and the general purpose OS 5, a priority controller 32 which divides a first input/output request issued to the versatile OS 5 into two or more second input/output requests which demand that an input-output block to which input/output is required by the first input/output request, should be divided into two or more partial blocks for input/output, and an input-output processing interface 36 which performs input-output processing to the sharing device 6 in response to the second input/output requests and the third input/output request issued to the real-time OS 3. The priority controller 32 responds to the properties of an issuance source of the first input/output request corresponding to two or more second input/output requests and the issuance source of the third input/output request, and performs priority control over input-output processing to the sharing device 6. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、コンピュータシステム、入出力優先度制御方法、及びプログラムに関し、特に、リアルタイムOSと汎用OSとが組み込まれたハイブリッドOSにおける入出力処理の競合制御に関する。   The present invention relates to a computer system, an input / output priority control method, and a program, and more particularly to conflict control of input / output processing in a hybrid OS in which a real-time OS and a general-purpose OS are incorporated.

カーナビゲーション、デジタルカメラ、情報家電、携帯電話機その他の組み込みシステムでは、従来行われているようなリアルタイム処理に加えて音声データや動画データを扱うマルチメディア処理を行うなど、システムの高機能化が求められている。   For embedded systems such as car navigation, digital cameras, information appliances, mobile phones, and other built-in systems, it is necessary to increase the functionality of the system by performing multimedia processing that handles audio data and video data in addition to the real-time processing that has been performed conventionally. It has been.

高機能化を実現する一つの手法は、リアルタイム処理を行うリアルタイムOS(operating system)と、マルチメディア処理などを行う汎用OSとの2種類のOSを搭載したハイブリッドOSを使用することである(例えば、特開2005−234658号公報参照)。このようなハイブリッドOSを採用することにより、リアルタイムOSが持つ高リアルタイム性や高信頼性、及び、汎用OSが持つ高スケーラビリティや高スループットなど、二つのOSの特長を併せ持つシステムが実現可能となる。   One method for realizing high functionality is to use a hybrid OS equipped with two types of OSs, a real-time OS (operating system) that performs real-time processing and a general-purpose OS that performs multimedia processing (for example, JP 2005-234658 A). By adopting such a hybrid OS, it is possible to realize a system having both features of the two OS, such as high real-time property and high reliability possessed by the real-time OS, and high scalability and high throughput possessed by the general-purpose OS.

組み込みシステムでOSのハイブリッド化を行う場合、OS間でディスクを共有することが一般的である。これは、省スペースの制約などのため、OS毎にディスクを設けることが難しいためである。   When hybridizing an OS in an embedded system, it is common to share a disk between the OSs. This is because it is difficult to provide a disk for each OS due to space-saving restrictions.

しかし、共有ディスクを設けた場合、リアルタイムOSの入出力処理が汎用OSの入出力処理によって阻害され、リアルタイムOSのレスポンスが低下することがある。リアルタイムOSのレスポンスの低下の一つの要因は、汎用OSでは、スループットを向上するために、入出力要求の入出力ブロックサイズが大きい傾向にあることである。汎用OSの入出力要求の入出力ブロックサイズが大きいと、一の入出力要求あたりの入出力処理の実行時間が長くなり、リアルタイムOSから要求される入出力処理が開始できずに遅延してしまう。   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 of the real-time OS may decrease. One factor in the decrease in response of the real-time OS is that the general-purpose OS tends to have a large input / output block size for input / output requests in order to improve throughput. If the input / output block size of the input / output request of the general-purpose OS is large, the execution time of the input / output processing per one input / output request becomes long, and the input / output processing requested from the real-time OS cannot be started and delayed. .

その一方で、リアルタイムOSのリスポンスの向上のみを指向した入出力処理は、好ましくない場合がある。例えば、リアルタイムOSにおいてリアルタイム性を必要としないタスクが実行され、汎用OSにおいてある程度のリアルタイム性が求められるプロセスが実行されている場合がある。このような場合、汎用OSにおいて実行されるプロセスが、リアルタイムOSの入出力処理によって遅延されることは好ましくない。   On the other hand, input / output processing directed only at improving the response of the real-time OS may not be preferable. For example, a task that does not require real-time performance may be executed in the real-time OS, and a process that requires a certain level of real-time performance may be executed in the general-purpose OS. In such a case, it is not preferable that the process executed in the general-purpose OS is delayed by the input / output processing of the real-time OS.

このような背景から、リアルタイムOSの入出力処理が汎用OSの入出力処理によって阻害されてリアルタイムOSのレスポンスが低下するという問題に対処しながら、システム全体としての入出力処理の競合制御を最適に行うための技術の提供が求められている。   Against this background, while optimizing the input / output processing of the real-time OS, the competition control of the input / output processing of the entire system is optimized while dealing with the problem that the response of the real-time OS is reduced by the input / output processing of the general-purpose OS. There is a need to provide technology to do this.

関連して、特開平11−39246号公報は、入出力処理の競合制御について開示している。より具体的には、この公報は、ディスクドライバに通常プライオリティI/O要求キューと高プライオリティI/O要求キューとを設けることを開示している。通常プライオリティで要求されたI/O要求については、I/Oブロックを分割したI/Oサブブロック単位でディスクに入出力処理が行われる。高プライオリティのI/O要求が発生した場合は、当該I/O要求への入出力処理は、I/Oサブブロックの切れ目で割り込んで先に処理される。   Relatedly, Japanese Patent Laid-Open No. 11-39246 discloses competition control for input / output processing. More specifically, this publication discloses that the disk driver is provided with a normal priority I / O request queue and a high priority I / O request queue. For I / O requests requested with normal priority, I / O processing is performed on the disk in units of I / O sub-blocks obtained by dividing the I / O block. When a high-priority I / O request occurs, the input / output processing for the I / O request is interrupted at the break of the I / O sub-block and processed first.

また、特開平10−49388号公報も、コンピュータの入出力処理の競合制御について開示している。この公報は、プロセスの優先度、入出力装置の転送データサイズおよびプロセスが要求する入出力データサイズを基に、ロック設定中の入出力処理で転送するロック時データ合計サイズを決定すること、及び優先度の高いプロセスには大きなロック時データ合計サイズを割り当てることを開示している。   Japanese Patent Application Laid-Open No. 10-49388 also discloses contention control for computer input / output processing. This publication determines the total data size at the time of locking to be transferred in input / output processing during lock setting based on the priority of the process, the transfer data size of the input / output device and the input / output data size required by the process, and It is disclosed that a large total data size at the time of locking is allocated to a process with high priority.

しかしながら、これらの公報には、リアルタイムOSと汎用OSとが組み込まれたハイブリッドOSにおける共有ディスクへの入出力処理の制御については何らの示唆もない。
特開2005−234658号公報 特開平11−39246号公報 特開平10−49388号公報
However, these publications have no suggestion regarding control of input / output processing to a shared disk in a hybrid OS in which a real-time OS and a general-purpose OS are incorporated.
JP 2005-234658 A JP-A-11-39246 Japanese Patent Laid-Open No. 10-49388

本発明の目的は、リアルタイムOSの入出力処理が汎用OSの入出力処理によって阻害されてリアルタイムOSのレスポンスが低下するという問題に対処しながら、システム全体としての入出力処理の競合制御を最適に行うための技術を提供することにある。   The object of the present invention is to optimize the competition control of input / output processing as a whole system while dealing with the problem that the input / output processing of the real-time OS is obstructed by the input / output processing of the general-purpose OS and the response of the real-time OS decreases. It is to provide a technique for performing.

本発明の一の観点においては、リアルタイムOSと汎用OSとからなるハイブリッドOSがインストールされたコンピュータシステムが、前記リアルタイムOSと前記汎用OSとに共有される共有デバイスと、前記汎用OSに対して発行された第1入出力要求を、前記第1入出力要求によって入出力が要求された入出力ブロックを複数の部分ブロックに分割して入出力するように要求する複数の第2入出力要求に分割する入出力要求分割手段と、前記複数の第2入出力要求と前記リアルタイムOSに対して発行された第3入出力要求に応答して前記共有デバイスへの入出力処理を行う入出力処理手段とを具備している。前記入出力処理手段は、前記複数の第2入出力要求に対応する前記第1入出力要求の発行元と前記第3入出力要求の発行元の性質に応じて、前記共有デバイスへの前記入出力処理の優先度制御を行う。   In one aspect of the present invention, a computer system in which a hybrid OS composed of a real-time OS and a general-purpose OS is installed is issued to the shared device shared by the real-time OS and the general-purpose OS and the general-purpose OS. The first input / output request is divided into a plurality of second input / output requests for requesting to input / output by dividing the input / output block requested for input / output by the first input / output request into a plurality of partial blocks. Input / output request dividing means for performing input / output processing to the shared device in response to the plurality of second input / output requests and a third input / output request issued to the real-time OS; It has. The input / output processing means is configured to input the input to the shared device according to a property of an issuer of the first input / output request and an issuer of the third input / output request corresponding to the plurality of second input / output requests. Controls the priority of output processing.

本発明によれば、リアルタイムOSの入出力処理が汎用OSの入出力処理によって阻害されてリアルタイムOSのレスポンスが低下するという問題に対処しながら、システム全体としての入出力処理の競合制御を最適に行うための技術が提供される。   According to the present invention, the competition control of the input / output processing as the whole system is optimized while dealing with the problem that the input / output processing of the real-time OS is obstructed by the input / output processing of the general-purpose OS and the response of the real-time OS is reduced. Techniques for doing so are provided.

図1は、本発明のコンピュータシステムの一実施形態である組み込みシステム10のシステム構成図を示す。当該組み込みシステム10には、リアルタイムOS3と汎用OS5からなるハイブリッドOSと、リアルタイムOS3と汎用OS5との間のOS間通信を行うOS間通信ドライバ4とがインストールされている。リアルタイムOS3、OS間通信ドライバ4、及び汎用OS5は、いずれも、組み込みシステム10上で動作するソフトウェアプログラムであり、組み込みシステム10のハードウェア資源(演算装置、入出力装置、記憶装置等)を用いて実行される。組み込みシステム10は、共有ディスク6を備えており、この共有ディスク6は、リアルタイムOS3と汎用OS5の間で共有される。   FIG. 1 shows a system configuration diagram of an embedded system 10 which is an embodiment of a computer system of the present invention. In the embedded system 10, a hybrid OS including a real-time OS 3 and a general-purpose OS 5 and an inter-OS communication driver 4 that performs inter-OS communication between the real-time OS 3 and the general-purpose OS 5 are installed. The real-time OS 3, the inter-OS communication driver 4, and the general-purpose OS 5 are all software programs that operate on the embedded system 10, and use hardware resources (an arithmetic device, an input / output device, a storage device, etc.) of the embedded system 10. Executed. The embedded system 10 includes a shared disk 6 that is shared between the real-time OS 3 and the general-purpose OS 5.

当該組み込みシステム10には、更に、リアルタイムOS3の上で動作するアプリケーション1と、汎用OS5の上で動作するアプリケーション2とがインストールされている。リアルタイムOS3上で動作するアプリケーション1は、様々なタスクを実行しており、同様に、汎用OS5上で動作するアプリケーション2は、様々なプロセスを実行している。図1では、アプリケーション1によって実行されるタスクは符号11、12によって示されており、アプリケーション2によって実行されるプロセスは符号21、22によって示されている。   The embedded system 10 is further installed with an application 1 that operates on the real-time OS 3 and an application 2 that operates on the general-purpose OS 5. The application 1 that operates on the real-time OS 3 executes various tasks, and similarly, the application 2 that operates on the general-purpose OS 5 executes various processes. In FIG. 1, tasks executed by application 1 are indicated by reference numerals 11 and 12, and processes executed by application 2 are indicated by reference numerals 21 and 22.

汎用OS5は、入出力受付インターフェース51を備えており、この入出力受付インターフェース51により、プロセス21、22によって汎用OS5に対して発行された入出力要求を受け付ける。図2Aは、汎用OS5に対して発行される入出力要求のフォーマットを示す概念図である。汎用OS5に対して発行される入出力要求は、ヘッダ61と入出力ブロック情報62とを備えている。ヘッダ61は、その発行元のプロセスを識別するプロセス識別子63と、発行元のプロセスのクラスを示す発行元プロセス情報64とを含んでいる。本実施形態では、アプリケーション2によって実行されるプロセスには、リアルタイムクラス、タイムシェアクラスの2つのクラスが許容されている。発行元プロセス情報64には、当該入出力要求の発行元のプロセスがリアルタイムクラス、タイムシェアクラスのいずれであるかが記述されている。ここで、リアルタイムクラスとは、リアルタイム処理をすべきクラスであり、タイムシェアクラスとは、リアルタイム処理が不要なクラスである。汎用OS5に対して発行された入出力要求は、OS間通信ドライバ4によってリアルタイムOS3に引き渡される。入出力ブロック情報62とは、入出力が要求される入出力ブロックを特定するための情報であり、例えば、入出力ブロックのアドレスが記述されている。   The general-purpose OS 5 includes an input / output acceptance interface 51, and accepts input / output requests issued to the general-purpose OS 5 by the processes 21 and 22 through the input / output acceptance interface 51. FIG. 2A is a conceptual diagram showing a format of an input / output request issued to the general-purpose OS 5. The input / output request issued to the general-purpose OS 5 includes a header 61 and input / output block information 62. The header 61 includes a process identifier 63 for identifying the issuing source process, and issuing source process information 64 indicating the class of the issuing source process. In the present embodiment, two classes of a real time class and a time share class are allowed for the process executed by the application 2. The issuer process information 64 describes whether the process that issued the input / output request is a real time class or a time share class. Here, the real-time class is a class that should be processed in real time, and the time share class is a class that does not require real-time processing. The input / output request issued to the general-purpose OS 5 is delivered to the real-time OS 3 by the inter-OS communication driver 4. The input / output block information 62 is information for specifying an input / output block for which input / output is requested. For example, an input / output block address is described.

リアルタイムOS3は、入出力受付インターフェース31を備えており、この入出力受付インターフェース31により、タスク11、12によってリアルタイムOS3に対して発行された入出力要求を受け付ける。図2Bは、リアルタイムOS3に対して発行される入出力要求のフォーマットを示す概念図である。リアルタイムOS3に対して発行される入出力要求は、ヘッダ71と入出力ブロック情報72とを備えている。ヘッダ61は、その発行元のタスクを識別するタスク識別子73と、発行元のタスクの優先度を示す優先度情報と、発行元のタスクのクラスを示す発行元タスク情報75とを含んでいる。アプリケーション2によって実行されるプロセスと同様に、アプリケーション1によって実行されるタスクには、リアルタイムクラス、タイムシェアクラスの2つのクラスが許容されている。発行元タスク情報75には発行元のタスクがリアルタイムクラス、タイムシェアクラスのいずれであるかが記述されている。入出力ブロック情報72とは、入出力が要求される入出力ブロックを特定するための情報であり、例えば、入出力ブロックのアドレスが記述されている。   The real-time OS 3 includes an input / output reception interface 31, and receives input / output requests issued to the real-time OS 3 by the tasks 11 and 12 through the input / output reception interface 31. FIG. 2B is a conceptual diagram showing a format of an input / output request issued to the real-time OS 3. The input / output request issued to the real-time OS 3 includes a header 71 and input / output block information 72. The header 61 includes a task identifier 73 for identifying the issuer task, priority information indicating the priority of the issuer task, and issuer task information 75 indicating the class of the issuer task. Similar to the process executed by the application 2, two classes of the real time class and the time share class are allowed for the task executed by the application 1. The issuer task information 75 describes whether the issuer task is a real time class or a time share class. The input / output block information 72 is information for specifying an input / output block for which input / output is requested, and describes, for example, the address of the input / output block.

共有ディスク6に対する入出力処理は、優先度コントローラ32と入出力処理インターフェース36とによって行われる。   Input / output processing for the shared disk 6 is performed by the priority controller 32 and the input / output processing interface 36.

優先度コントローラ32は、下記の3つの機能を有している:第1に、優先度コントローラ32は、汎用OS5に対して発行された入出力要求を、複数の入出力要求に分割する機能を有している。詳細には、優先度コントローラ32は、汎用OS5に対して発行されたある入出力要求が、ある入出力ブロックの入出力を要求している場合、当該入出力ブロックを複数の部分ブロックに分割して入出力するように要求する複数の入出力要求を生成する。   The priority controller 32 has the following three functions: First, the priority controller 32 has a function of dividing an input / output request issued to the general-purpose OS 5 into a plurality of input / output requests. Have. Specifically, when a certain input / output request issued to the general-purpose OS 5 requests input / output of a certain input / output block, the priority controller 32 divides the input / output block into a plurality of partial blocks. Multiple input / output requests that request to input / output.

第2に、優先度コントローラ32は、汎用OS5に対して発行された入出力要求を複数の入出力要求に分割する際に、部分ブロックのサイズをリアルタイムOS3に対して入出力要求を発行したタスクの優先度に応答して調節する機能を有している。部分ブロックのサイズの調整においては、優先度管理テーブル33と部分ブロックサイズ指定テーブル34とが参照される。ここで優先度管理テーブル33とは、図3Aに示されているように、リアルタイムOS3に対して入出力要求を発行したタスクのタスク識別子と、当該タスクの優先度とが登録されているテーブルである。優先度管理テーブル33に登録される優先度とは、リアルタイムOS3に対して発行された入出力要求の優先度情報74に記述されている優先度であることに留意されたい。一方、部分ブロックサイズ指定テーブル34とは、図3Bに示されているように、リアルタイムOS3に対して入出力要求を発行したタスクの優先度と、部分ブロックサイズとの対応関係を示すテーブルである。   Second, when the priority controller 32 divides the input / output request issued to the general-purpose OS 5 into a plurality of input / output requests, the priority controller 32 sets the size of the partial block to the task that issued the input / output request to the real-time OS 3. It has a function to adjust in response to the priority. In adjusting the size of the partial block, the priority management table 33 and the partial block size designation table 34 are referred to. Here, as shown in FIG. 3A, the priority management table 33 is a table in which the task identifier of a task that has issued an input / output request to the real-time OS 3 and the priority of the task are registered. is there. It should be noted that the priority registered in the priority management table 33 is the priority described in the priority information 74 of the input / output request issued to the real-time OS 3. On the other hand, the partial block size designation table 34 is a table showing the correspondence between the priority of the task that issued the input / output request to the real-time OS 3 and the partial block size, as shown in FIG. 3B. .

第3に、優先度コントローラ32は、入出力要求のそれぞれを、発行元のタスク又はプロセスの性質に応じて入出力要求キュー#1〜#3のいずれかにエンキューする機能を有している。入出力要求キュー#1は、最も高い優先度が与えられたキューであり、優先度グループ#1に対応付けられている。同様に、入出力要求キュー#2は、次に高い優先度が与えられたキューであり、優先度グループ#2に対応付けられている。入出力要求キュー#3は、最も低い優先度が与えられたキューであり、優先度グループ#3に対応付けられている。   Thirdly, the priority controller 32 has a function of enqueuing each of the input / output requests to any of the input / output request queues # 1 to # 3 according to the nature of the issuing task or process. The input / output request queue # 1 is a queue given the highest priority, and is associated with the priority group # 1. Similarly, the input / output request queue # 2 is a queue to which the next highest priority is given, and is associated with the priority group # 2. The input / output request queue # 3 is a queue given the lowest priority, and is associated with the priority group # 3.

エンキューすべき入出力要求キューの選択は、優先度グループ管理テーブル35を参照して行われる。図4に示されているように、優先度グループ管理テーブル35は、各優先度グループに属する発行元のタスク又はプロセスの性質を記述している。本実施形態では、リアルタイムOS3上で実行されるタスクのうち、リアルタイムクラスに属するものが、優先度グループ#1に分類され、汎用OS5上で実行されるプロセスのうち、リアルタイムクラスに属するものが、優先度グループ#2に分類される。また、リアルタイムOS3上で実行されるタスク及び汎用OS5上で実行されるプロセスのうち、タイムシェアクラスに属するタスク又はプロセスは、リアルタイムOS3、汎用OS5のいずれの上で実行されるかに関わらず、優先度グループ#3にグループ分けされる。ある入出力要求は、その発行元のタスク又はプロセスが優先度グループ#1に属する場合、入出力要求キュー#1にエンキューされる。また、その発行元のタスク又はプロセスが優先度グループ#2に属する場合、当該入出力要求は、入出力要求キュー#2にエンキューされ、優先度グループ#3に属する場合、当該入出力要求は、入出力要求キュー#3にエンキューされる。   The input / output request queue to be enqueued is selected with reference to the priority group management table 35. As shown in FIG. 4, the priority group management table 35 describes the nature of the issuer task or process belonging to each priority group. In the present embodiment, among the tasks executed on the real-time OS 3, those belonging to the real-time class are classified into the priority group # 1, and among the processes executed on the general-purpose OS 5, those belonging to the real-time class are It is classified into priority group # 2. Of the tasks executed on the real-time OS 3 and the processes executed on the general-purpose OS 5, the tasks or processes belonging to the time share class are executed on either the real-time OS 3 or the general-purpose OS 5, Grouped into priority group # 3. A certain input / output request is enqueued in the input / output request queue # 1 when the issuing task or process belongs to the priority group # 1. When the issuing task or process belongs to the priority group # 2, the input / output request is enqueued to the input / output request queue # 2, and when the issue task or process belongs to the priority group # 3, the input / output request is It is enqueued in the I / O request queue # 3.

入出力処理部38は、入出力要求キュー#1〜#3にエンキューされた入出力要求に応答して共有ディスク6への入出力処理を行う。入出力処理は、高い優先度が与えられた入出力要求キューから順に行われる。即ち、入出力要求キュー#1にエンキューされた入出力要求についての入出力処理が最先に行われ、入出力要求キュー#2にエンキューされた入出力要求についての入出力処理が次に行われ、入出力要求キュー#3にエンキューされた入出力要求についての入出力処理がその次に行われる。同一の入出力要求キューにエンキューされた入出力要求のうちでは、当該入出力要求キューに先にエンキューされた入出力要求から順に入出力処理が行われる。入出力処理部38は、各入出力要求に応答した入出力処理が完了すると、入出力要求の発行元のタスク又はプロセスに、入出力処理の完了を通知する。   The input / output processing unit 38 performs input / output processing to the shared disk 6 in response to the input / output requests enqueued in the input / output request queues # 1 to # 3. The input / output processing is performed in order from the input / output request queue to which high priority is given. That is, the input / output process for the input / output request enqueued in the input / output request queue # 1 is performed first, and the input / output process for the input / output request enqueued in the input / output request queue # 2 is performed next. Next, the input / output processing for the input / output request enqueued in the input / output request queue # 3 is performed. Among the input / output requests enqueued in the same input / output request queue, the input / output processing is performed in order from the input / output request previously enqueued in the input / output request queue. When the input / output processing in response to each input / output request is completed, the input / output processing unit 38 notifies the task or process that issued the input / output request of the completion of the input / output processing.

続いて、本実施形態における組み込みシステム10の動作の説明を行う。図5は、本実施形態における組み込みシステム10の動作のうち、入出力要求の発行から、当該入出力要求のエンキューまでの手順を示すフローチャートである。   Next, the operation of the embedded system 10 in this embodiment will be described. FIG. 5 is a flowchart showing a procedure from issuing an input / output request to enqueuing the input / output request in the operation of the embedded system 10 in the present embodiment.

アプリケーション1のタスク11、12又はアプリケーション2のプロセス21、22から入出力要求が発行されると、発行された入出力要求は、リアルタイムOS3の入出力受付インターフェース31又は汎用OS5の入出力受付インターフェース51によって受け取られる(ステップA1)。入出力受付インターフェース51によって入出力要求が受け取られた場合、当該入出力要求は、OS間通信によってリアルタイムOS3に引き渡される。ステップA1で受け取られた入出力要求は、以後、対象入出力要求と記載する。   When an input / output request is issued from the tasks 11 and 12 of the application 1 or the processes 21 and 22 of the application 2, the issued input / output request is sent to the input / output reception interface 31 of the real-time OS 3 or the input / output reception interface 51 of the general-purpose OS5. (Step A1). When an input / output request is received by the input / output reception interface 51, the input / output request is delivered to the real-time OS 3 by inter-OS communication. The input / output request received in step A1 is hereinafter referred to as a target input / output request.

優先度コントローラ32は、対象入出力要求が、リアルタイムOS3に対して発行された入出力要求か、汎用OS5に対して発行された入出力要求かを確認する(ステップA2)。対象入出力要求が、リアルタイムOS3に対して発行された入出力要求である場合、優先度コントローラ32は、当該入出力要求のヘッダ71からタスク識別子73と優先度情報74を参照し、発行元のタスクと、そのタスクの優先度を優先度管理テーブル33に登録する(ステップA8)。タスクと優先度の登録後、処理はステップA7に移る。対象入出力要求がリアルタイムOS3に対して発行された入出力要求である場合、当該対象入出力要求は分割されない。   The priority controller 32 confirms whether the target input / output request is an input / output request issued to the real-time OS 3 or an input / output request issued to the general-purpose OS 5 (step A2). When the target input / output request is an input / output request issued to the real-time OS 3, the priority controller 32 refers to the task identifier 73 and the priority information 74 from the header 71 of the input / output request, and The task and the priority of the task are registered in the priority management table 33 (step A8). After the task and priority are registered, the process proceeds to step A7. When the target input / output request is an input / output request issued to the real-time OS 3, the target input / output request is not divided.

一方、対象入出力要求が汎用OS5に対して発行された入出力要求である場合、優先度コントローラ32は、優先度管理テーブル33を参照し(ステップA3)、登録された優先度の最高値を取得する(ステップA4)。言い換えれば、優先度コントローラ32は、優先度管理テーブル33に登録されたタスクのうち、優先度が最も高いタスクの優先度を取得する。更に、優先度コントローラ32は、部分ブロックサイズ指定テーブル34を参照して、優先度の最高値に対応する部分ブロックサイズを取得し(ステップA5)、取得した部分ブロックサイズを用いて対象入出力要求を分割する(ステップA6)。汎用OS5に対して発行された入出力要求を複数の入出力要求に分割することにより、一の入出力要求あたりの入出力処理の実行時間が短くなり、リアルタイムOS3の入出力処理の開始の遅延を低減することができる。   On the other hand, when the target input / output request is an input / output request issued to the general-purpose OS 5, the priority controller 32 refers to the priority management table 33 (step A3) and sets the highest registered priority. Obtain (step A4). In other words, the priority controller 32 acquires the priority of the task having the highest priority among the tasks registered in the priority management table 33. Further, the priority controller 32 refers to the partial block size designation table 34, acquires the partial block size corresponding to the highest priority (step A5), and uses the acquired partial block size to execute the target input / output request. Is divided (step A6). By dividing the input / output request issued to the general-purpose OS 5 into a plurality of input / output requests, the execution time of the input / output processing per one input / output request is shortened, and the start of the input / output processing of the real-time OS 3 is delayed. Can be reduced.

詳細には、優先度コントローラ32は、対象入出力要求がある入出力ブロックの入出力を要求している場合、当該入出力ブロックを、ステップA5で取得された部分ブロックサイズを有する複数の部分ブロックに分割して入出力するように要求する複数の入出力要求を生成する。汎用OS5に対して発行された入出力要求の内容は、入出力ブロック情報62の内容以外は、ステップA6の分割によって生成された複数の入出力要求に引き継がれる。即ち、ステップA6の分割によって生成された複数の入出力要求は、入出力ブロック情報62の内容以外は、図2Aに示された汎用OS5に対して発行された入出力要求と同一の内容を有している。一方、入出力ブロック情報62の内容は、各部分ブロックを特定するための情報に書き換えられる。   Specifically, when the priority controller 32 requests input / output of an input / output block having a target input / output request, the priority controller 32 designates the input / output block as a plurality of partial blocks having the partial block size acquired in step A5. A plurality of input / output requests for requesting input / output in a divided manner are generated. The contents of the input / output request issued to the general-purpose OS 5 are inherited by a plurality of input / output requests generated by the division in step A6, except for the contents of the input / output block information 62. That is, the plurality of input / output requests generated by the division in step A6 have the same contents as the input / output requests issued to the general-purpose OS 5 shown in FIG. 2A except for the contents of the input / output block information 62. is doing. On the other hand, the contents of the input / output block information 62 are rewritten to information for specifying each partial block.

対象入出力要求の分割に使用される部分ブロックサイズは、優先度管理テーブル33に登録されたタスクのうち優先度が最も高いタスクの優先度が高いほど大きくなるように決定される。このような制御によれば、リアルタイムOS3に高速なレスポンスを必要とするタスクがない場合に部分ブロックサイズが大きくされるので、汎用OS5上で実行されるプロセスのスループットの低下を抑止することができる。   The partial block size used for dividing the target input / output request is determined so as to increase as the priority of the task having the highest priority among the tasks registered in the priority management table 33 increases. According to such control, since the partial block size is increased when there is no task that requires a high-speed response in the real-time OS 3, it is possible to suppress a decrease in throughput of a process executed on the general-purpose OS 5. .

対象入出力要求の分割の後、処理はステップA7に移る。   After dividing the target input / output request, the process proceeds to step A7.

ステップA7では、優先度コントローラ32は、対象入出力要求又は当該対象入出力要求が分割されて生成された入出力要求を、入出力要求キュー#1〜#3のいずれかにエンキューする。エンキューすべき入出力要求キューの選択は、入出力要求のヘッダ61又は71に記述されている発行元プロセス情報64又は発行元タスク情報75を優先度グループ管理テーブル35と照合することによって行われる。各入出力要求(対象入出力要求又は当該対象入出力要求が分割されて生成された入出力要求)は、その発行元が優先度グループ#1に属する場合、即ち、発行元がリアルタイムOS3上で実行されるタスクであり、当該タスクがリアルタイムクラスに属する場合、入出力要求キュー#1にエンキューされる。また、入出力要求の発行元が優先度グループ#2に属する場合、即ち、発行元が汎用OS5上で実行されるプロセスであり、且つ、当該プロセスがリアルタイムクラスに属する場合、当該入出力要求は、入出力要求キュー#2にエンキューされる。また、入出力要求の発行元が優先度グループ#3に属する場合、即ち、発行元のタスク又はプロセスがリアルタイムクラスに属する場合、発行元のタスク又はプロセスがリアルタイムOS3、汎用OS5のいずれの上で実行されるかに関わらず、当該入出力要求は入出力要求キュー#3にエンキューされる。入出力要求キュー#1〜#3にエンキューされた入出力要求は、順次にデキューされ、デキューされた入出力要求に応答して共有ディスク6に対する入出力処理が行われる。   In step A7, the priority controller 32 enqueues the target input / output request or the input / output request generated by dividing the target input / output request into any of the input / output request queues # 1 to # 3. The input / output request queue to be enqueued is selected by comparing the issuer process information 64 or the issuer task information 75 described in the header 61 or 71 of the input / output request with the priority group management table 35. Each input / output request (target input / output request or input / output request generated by dividing the target input / output request) is issued when the issuer belongs to priority group # 1, that is, the issuer is on real-time OS 3 If the task is to be executed and the task belongs to the real-time class, it is enqueued in the input / output request queue # 1. Further, when the issuer of the input / output request belongs to the priority group # 2, that is, when the issuer is a process executed on the general-purpose OS 5 and the process belongs to the real-time class, the input / output request is Are enqueued in the input / output request queue # 2. When the issuer of the input / output request belongs to the priority group # 3, that is, when the issuer task or process belongs to the real-time class, the issuer task or process is on either the real-time OS 3 or the general-purpose OS 5. Regardless of whether it is executed, the input / output request is enqueued in the input / output request queue # 3. The input / output requests enqueued in the input / output request queues # 1 to # 3 are sequentially dequeued, and input / output processing for the shared disk 6 is performed in response to the dequeued input / output requests.

入出力要求の発行元の性質に応じて優先度制御を行う、即ち、当該入出力要求をエンキューすべき入出力要求キューの選択を行うことにより、組み込みシステム10全体としての入出力処理の競合制御が最適に行われる。   The priority control is performed according to the nature of the issuer of the input / output request, that is, the input / output request contention control for the embedded system 10 as a whole is performed by selecting the input / output request queue to which the input / output request is to be enqueued. Is done optimally.

図6は、入出力要求キュー#1〜#3にエンキューされた入出力要求に応答して共有ディスク6への入出力処理を行う手順を示すフローチャートである。入出力処理インターフェース36は、入出力要求キュー#1が空であるか否かを調べる(ステップB1)。空でない場合、入出力処理インターフェース36は、先頭の入出力要求(最先にエンキューされた入出力要求)を入出力要求キュー#1からデキューし(ステップB4)、デキューされた入出力要求に応じた入出力処理を行う(ステップB7)。   FIG. 6 is a flowchart showing a procedure for performing input / output processing to the shared disk 6 in response to input / output requests enqueued in the input / output request queues # 1 to # 3. The input / output processing interface 36 checks whether the input / output request queue # 1 is empty (step B1). If it is not empty, the input / output processing interface 36 dequeues the first input / output request (the first input / output request enqueued) from the input / output request queue # 1 (step B4), and responds to the dequeued input / output request. The input / output process is performed (step B7).

入出力要求キュー#1が空である場合、入出力処理インターフェース36は、入出力要求キュー#2が空であるか否かを調べる(ステップB2)。空でない場合、入出力処理インターフェース36は、先頭の入出力要求(最先にエンキューされた入出力要求)を入出力要求キュー#2からデキューし(ステップB5)、デキューされた入出力要求に応じた入出力処理を行う(ステップB7)。   If the input / output request queue # 1 is empty, the input / output processing interface 36 checks whether the input / output request queue # 2 is empty (step B2). If it is not empty, the input / output processing interface 36 dequeues the first input / output request (the first input / output request enqueued) from the input / output request queue # 2 (step B5), and responds to the dequeued input / output request. The input / output process is performed (step B7).

また、入出力要求キュー#1、#2がいずれも空である場合、入出力処理インターフェース36は、入出力要求キュー#3が空であるか否かを調べる(ステップB3)。空でない場合、入出力処理インターフェース36は、先頭の入出力要求(最先にエンキューされた入出力要求)を入出力要求キュー#3からデキューし(ステップB6)、デキューされた入出力要求に応じた入出力処理を行う(ステップB7)。   When both the input / output request queues # 1 and # 2 are empty, the input / output processing interface 36 checks whether or not the input / output request queue # 3 is empty (step B3). If not empty, the input / output processing interface 36 dequeues the first input / output request (the first input / output request enqueued) from the input / output request queue # 3 (step B6), and responds to the dequeued input / output request. The input / output process is performed (step B7).

入出力処理が完了すると、入出力要求の発行元(リアルタイムOS3上で実行されるタスク又は汎用OS5上で実行されるプロセス)に入出力処理の完了を通知する(ステップB8)。加えて、入出力処理が完了した入出力要求の発行元が、リアルタイムOS3上で実行されるタスクである場合、入出力処理インターフェース36は、その旨を優先度コントローラ32に通知する。優先度コントローラ32は、当該タスク及びその優先度を、優先度管理テーブル33から削除する(ステップB9)。以上の手順により、共有ディスク6への入出力処理が完了する。   When the input / output processing is completed, the completion of the input / output processing is notified to the issuer of the input / output request (task executed on the real-time OS 3 or process executed on the general-purpose OS 5) (step B8). In addition, when the issuer of the input / output request for which the input / output processing has been completed is a task executed on the real-time OS 3, the input / output processing interface 36 notifies the priority controller 32 to that effect. The priority controller 32 deletes the task and its priority from the priority management table 33 (step B9). With the above procedure, the input / output processing to the shared disk 6 is completed.

本実施形態の組み込みシステム10によれば、汎用OS5に対して発行された入出力要求が複数の入出力要求に分割され、これにより、一の入出力要求あたりの入出力処理の実行時間が短くなる。したがって、本実施形態の組み込みシステム10は、リアルタイムOS3の入出力処理の開始の遅延を低減することができる。また、本実施形態の組み込みシステム10では、リアルタイムOS3で実行されるタスクが発行する入出力要求が無条件で優先的に処理されるのではなく、入出力要求の発行元の性質に応じて優先度制御が行われる。これにより、組み込みシステム10全体としての入出力処理の競合制御が最適に行われる。加えて、本実施形態の組み込みシステム10では、入出力要求の分割に使用される部分ブロックサイズが、リアルタイムOS3上で実行されるタスクの優先度に応じて調節される。このような制御によれば、リアルタイムOS3に高速なレスポンスを必要とするタスクがない場合に部分ブロックサイズを大きくし、汎用OS5上で実行されるプロセスのスループットの低下を抑止することができる。   According to the embedded system 10 of the present embodiment, the input / output request issued to the general-purpose OS 5 is divided into a plurality of input / output requests, thereby shortening the execution time of input / output processing per one input / output request. Become. Therefore, the embedded system 10 of the present embodiment can reduce the delay in starting the input / output processing of the real-time OS 3. Further, in the embedded system 10 of this embodiment, the input / output request issued by the task executed by the real-time OS 3 is not preferentially processed unconditionally, but is given priority according to the nature of the input / output request issuer. Degree control is performed. Thereby, the competition control of the input / output processing as the entire embedded system 10 is optimally performed. In addition, in the embedded system 10 of this embodiment, the partial block size used for dividing the I / O request is adjusted according to the priority of the task executed on the real-time OS 3. According to such control, when there is no task that requires a high-speed response in the real-time OS 3, the partial block size can be increased, and a decrease in throughput of a process executed on the general-purpose OS 5 can be suppressed.

図1は、本発明の一実施形態の組み込みシステムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an embedded system according to an embodiment of the present invention. 図2Aは、汎用OSで実行されるプロセスによって発行される入出力要求のフォーマットを示す概念図である。FIG. 2A is a conceptual diagram showing a format of an input / output request issued by a process executed by the general-purpose OS. 図2Bは、汎用OSで実行されるプロセスによって発行される入出力要求のフォーマットを示す概念図である。FIG. 2B is a conceptual diagram showing a format of an input / output request issued by a process executed by the general-purpose OS. 図3Aは、優先度管理テーブルの内容を示す概念図である。FIG. 3A is a conceptual diagram showing the contents of the priority management table. 図3Bは、部分ブロックサイズ指定テーブルの内容を示す概念図である。FIG. 3B is a conceptual diagram showing the contents of the partial block size designation table. 図4は、優先度グループ管理テーブルの内容を示す概念図である。FIG. 4 is a conceptual diagram showing the contents of the priority group management table. 図5は、本実施形態における、入出力要求の発行から、当該入出力要求のエンキューまでの手順を示すフローチャートである。FIG. 5 is a flowchart showing a procedure from issuing an input / output request to enqueuing the input / output request in the present embodiment. 図6は、入出力要求キューにエンキューされた入出力要求に応答して共有ディスクへの入出力処理を行う手順を示すフローチャートである。FIG. 6 is a flowchart showing a procedure for performing input / output processing to the shared disk in response to an input / output request enqueued in the input / output request queue.

符号の説明Explanation of symbols

10:組み込みシステム
1、2:アプリケーション
3:リアルタイムOS
4:OS間通信ドライバ
5:汎用OS
6:共有ディスク
11、12:タスク
21、22:プロセス
31:入出力受付インターフェース
32:優先度コントローラ
33:優先度管理テーブル
34:部分ブロックサイズ指定テーブル
35:優先度グループ管理テーブル
36:入出力処理インターフェース
51:入出力受付インターフェース
61:ヘッダ
62:入出力ブロック情報
63:プロセス識別子
64:発行元プロセス情報
71:ヘッダ
72:入出力ブロック情報
73:タスク識別子
74:優先度情報
75:発行元タスク情報
10: Embedded system 1, 2: Application 3: Real-time OS
4: Inter-OS communication driver 5: General-purpose OS
6: Shared disk 11, 12: Task 21, 22: Process 31: Input / output acceptance interface 32: Priority controller 33: Priority management table 34: Partial block size designation table 35: Priority group management table 36: Input / output processing Interface 51: Input / output acceptance interface 61: Header 62: Input / output block information 63: Process identifier 64: Issuer process information 71: Header 72: Input / output block information 73: Task identifier 74: Priority information 75: Issuer task information

Claims (8)

リアルタイムOSと汎用OSとからなるハイブリッドOSがインストールされたコンピュータシステムであって、
前記リアルタイムOSと前記汎用OSとに共有される共有デバイスと、
前記汎用OSに対して発行された第1入出力要求を、前記第1入出力要求によって入出力が要求された入出力ブロックを複数の部分ブロックに分割して入出力するように要求する複数の第2入出力要求に分割する入出力要求分割手段と、
前記複数の第2入出力要求と前記リアルタイムOSに対して発行された第3入出力要求に応答して前記共有デバイスへの入出力処理を行う入出力処理手段
とを具備し、
前記入出力処理手段は、前記複数の第2入出力要求に対応する前記第1入出力要求の発行元と前記第3入出力要求の発行元の性質に応じて、前記共有デバイスへの前記入出力処理の優先度制御を行う
コンピュータシステム。
A computer system in which a hybrid OS consisting of a real-time OS and a general-purpose OS is installed,
A shared device shared by the real-time OS and the general-purpose OS;
A plurality of requests for inputting / outputting a first input / output request issued to the general-purpose OS by dividing the input / output block requested for input / output by the first input / output request into a plurality of partial blocks. An input / output request dividing means for dividing the second input / output request;
Input / output processing means for performing input / output processing to the shared device in response to the plurality of second input / output requests and a third input / output request issued to the real-time OS;
The input / output processing means is configured to input the input to the shared device according to a property of an issuer of the first input / output request and an issuer of the third input / output request corresponding to the plurality of second input / output requests. A computer system that controls the priority of output processing.
請求項1に記載のコンピュータシステムであって、
前記複数の第2入出力要求と前記第3入出力要求を、前記複数の第2入出力要求に対応する前記第1入出力要求の発行元と前記第3入出力要求の発行元の性質に応じて異なる優先度を有する複数の入出力要求キューのいずれかにエンキューする優先度制御手段を更に具備し、
前記入出力処理手段は、高い優先度が与えられた前記入出力要求キューにエンキューされた入出力要求に応答した入出力処理を、低い優先度が与えられた前記入出力要求キューにエンキューされた入出力要求に応答した入出力処理よりも優先して行う
コンピュータシステム。
The computer system according to claim 1,
The plurality of second input / output requests and the third input / output request are made into the nature of the issuer of the first input / output request and the issuer of the third input / output request corresponding to the plurality of second input / output requests. Further comprising priority control means for enqueuing to any of a plurality of input / output request queues having different priorities according to
The input / output processing means enqueues an input / output process in response to an input / output request enqueued in the input / output request queue given a high priority into the input / output request queue given a low priority. A computer system that has priority over I / O processing in response to I / O requests.
請求項2に記載のコンピュータシステムであって、
前記発行元がリアルタイムクラスである前記第3入出力要求は、前記複数の入出力要求キューのうち優先度が最も高い第1入出力要求キューにエンキューされ、
対応する前記第1入出力要求の前記発行元がリアルタイムクラスである前記複数の第2入出力要求は、前記第1入出力要求キューよりも優先度が低い第2入出力要求キューにグループ分けされ、
前記発行元がタイムシェアクラスである前記第3入出力要求、及び対応する前記第1入出力要求の前記発行元がタイムシェアクラスである前記複数の第2入出力要求は、前記第2入出力要求キューよりも優先度が低い第3入出力要求キューにグループ分けされる
コンピュータシステム。
A computer system according to claim 2,
The third input / output request whose issuer is a real-time class is enqueued in the first input / output request queue having the highest priority among the plurality of input / output request queues,
The plurality of second input / output requests whose corresponding issuers of the first input / output requests are a real-time class are grouped into a second input / output request queue having a lower priority than the first input / output request queue. ,
The third input / output request in which the issuer is a time share class, and the plurality of second input / output requests in which the issuer of the corresponding first input / output request is a time share class are the second input / output requests A computer system that is grouped into a third I / O request queue that has a lower priority than the request queue.
請求項1乃至3のいずれかに記載のコンピュータシステムであって、
前記入出力要求分割手段は、前記複数の部分ブロックのサイズを、前記リアルタイムOSに対して前記第3入出力要求を発行したタスクの優先度に応じて調節する
コンピュータシステム。
A computer system according to any one of claims 1 to 3,
The input / output request dividing means adjusts the size of the plurality of partial blocks according to the priority of a task that has issued the third input / output request to the real-time OS.
請求項4に記載のコンピュータシステムであって、
更に、
前記リアルタイムOSに対して前記第3入出力要求が発行されると、前記第3入出力要求を発行した前記タスクとその優先度をテーブルに登録する登録手段と、
前記共有デバイスに対する前記入出力処理が行われた前記第3入出力要求を発行した前記タスクとその優先度を前記テーブルから削除する削除手段
とを具備し、
前記複数の部分ブロックのサイズは、前記テーブルに登録された前記タスクのうち優先度が最も高いタスクである最高優先タスクの優先度に応じて調節される
コンピュータシステム。
A computer system according to claim 4,
Furthermore,
When the third input / output request is issued to the real-time OS, registration means for registering the task that issued the third input / output request and its priority in a table;
The task that issued the third input / output request for which the input / output processing for the shared device has been performed, and deletion means for deleting the priority from the table;
The size of the plurality of partial blocks is adjusted according to a priority of a highest priority task which is a task having the highest priority among the tasks registered in the table.
請求項5に記載のコンピュータシステムであって、
前記複数の部分ブロックのサイズは、前記最高優先タスクの優先度が高いほど前記複数の部分ブロックのサイズが小さくなるように調節される
コンピュータシステム。
A computer system according to claim 5,
The size of the plurality of partial blocks is adjusted such that the higher the priority of the highest priority task, the smaller the size of the plurality of partial blocks.
リアルタイムOSと汎用OSとからなるハイブリッドOSがインストールされ、共有デバイスが前記リアルタイムOSと前記汎用OSとに共有されるコンピュータシステムにおける入出力優先度制御方法であって、
前記汎用OSに対して発行された第1入出力要求を、前記第1入出力要求によって入出力が要求された入出力ブロックを複数の部分ブロックに分割して入出力するように要求する複数の第2入出力要求に分割するステップと、
前記複数の第2入出力要求と前記リアルタイムOSに対して発行された第3入出力要求に応答して前記共有デバイスへの入出力処理を行うステップ
とを具備し、
前記共有デバイスへの前記入出力処理を行うステップは、前記複数の第2入出力要求に対応する前記第1入出力要求の発行元と前記第3入出力要求の発行元の性質に応じて、前記入出力処理の優先度制御を行うステップを備えている
入出力優先度制御方法。
An input / output priority control method in a computer system in which a hybrid OS comprising a real-time OS and a general-purpose OS is installed and a shared device is shared by the real-time OS and the general-purpose OS,
A plurality of requests for inputting / outputting a first input / output request issued to the general-purpose OS by dividing the input / output block requested for input / output by the first input / output request into a plurality of partial blocks. Dividing into second I / O requests;
Performing an input / output process to the shared device in response to the plurality of second input / output requests and a third input / output request issued to the real-time OS,
The step of performing the input / output processing to the shared device is performed according to the nature of the issue source of the first input / output request and the issue source of the third input / output request corresponding to the plurality of second input / output requests. An input / output priority control method comprising a step of performing priority control of the input / output processing.
リアルタイムOSと汎用OSとからなるハイブリッドOSがインストールされ、共有デバイスが前記リアルタイムOSと前記汎用OSとに共有されるコンピュータシステムに、
前記汎用OSに対して発行された第1入出力要求を、前記第1入出力要求によって入出力が要求された入出力ブロックを複数の部分ブロックに分割して入出力するように要求する複数の第2入出力要求に分割するステップと、
前記複数の第2入出力要求と前記リアルタイムOSに対して発行された第3入出力要求に応答して前記共有デバイスへの入出力処理を行うステップ
と実行させるプログラムであって
前記共有デバイスへの前記入出力処理を行うステップでは、前記共有デバイスへの前記入出力処理の優先度制御が、前記複数の第2入出力要求に対応する前記第1入出力要求の発行元と前記第3入出力要求の発行元の性質に応じて行われる
プログラム。
In a computer system in which a hybrid OS composed of a real-time OS and a general-purpose OS is installed and a shared device is shared by the real-time OS and the general-purpose OS,
A plurality of requests for inputting / outputting a first input / output request issued to the general-purpose OS by dividing the input / output block requested for input / output by the first input / output request into a plurality of partial blocks. Dividing into second I / O requests;
In response to the plurality of second input / output requests and a third input / output request issued to the real-time OS, a step of performing input / output processing to the shared device and a program to be executed. In the step of performing the input / output processing, priority control of the input / output processing to the shared device is performed by issuing the first input / output request corresponding to the plurality of second input / output requests and the third input / output. A program that depends on the nature of the issuer of the request.
JP2008063368A 2008-03-12 2008-03-12 Computer system, input / output priority control method, and program Expired - Fee Related JP4888731B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008063368A JP4888731B2 (en) 2008-03-12 2008-03-12 Computer system, input / output priority control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008063368A JP4888731B2 (en) 2008-03-12 2008-03-12 Computer system, input / output priority control method, and program

Publications (2)

Publication Number Publication Date
JP2009217750A true JP2009217750A (en) 2009-09-24
JP4888731B2 JP4888731B2 (en) 2012-02-29

Family

ID=41189493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008063368A Expired - Fee Related JP4888731B2 (en) 2008-03-12 2008-03-12 Computer system, input / output priority control method, and program

Country Status (1)

Country Link
JP (1) JP4888731B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011034110A1 (en) 2009-09-18 2011-03-24 株式会社コベルコ科研 Metal oxide-metal composite sputtering target
JP2011118607A (en) * 2009-12-02 2011-06-16 Toyota Motor Corp Information-processing device
WO2013165447A1 (en) * 2012-05-01 2013-11-07 Concurix Corporation Hybrid operating system
WO2014118870A1 (en) * 2013-01-29 2014-08-07 株式会社日立製作所 Computer and control method for computer
JP2016045596A (en) * 2014-08-20 2016-04-04 株式会社東芝 Information processing device, method, and program
CN112424777A (en) * 2018-08-17 2021-02-26 欧姆龙株式会社 Method for operating an industrial personal computer device and industrial personal computer device
US11416167B2 (en) 2019-10-04 2022-08-16 Canon Kabushiki Kaisha System, control method thereof, and storage medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011034110A1 (en) 2009-09-18 2011-03-24 株式会社コベルコ科研 Metal oxide-metal composite sputtering target
JP2011118607A (en) * 2009-12-02 2011-06-16 Toyota Motor Corp Information-processing device
WO2013165447A1 (en) * 2012-05-01 2013-11-07 Concurix Corporation Hybrid operating system
US8615766B2 (en) 2012-05-01 2013-12-24 Concurix Corporation Hybrid operating system
WO2014118870A1 (en) * 2013-01-29 2014-08-07 株式会社日立製作所 Computer and control method for computer
JP2016045596A (en) * 2014-08-20 2016-04-04 株式会社東芝 Information processing device, method, and program
CN112424777A (en) * 2018-08-17 2021-02-26 欧姆龙株式会社 Method for operating an industrial personal computer device and industrial personal computer device
CN112424777B (en) * 2018-08-17 2023-09-08 欧姆龙株式会社 Industrial personal computer device and operation method thereof
US11416167B2 (en) 2019-10-04 2022-08-16 Canon Kabushiki Kaisha System, control method thereof, and storage medium

Also Published As

Publication number Publication date
JP4888731B2 (en) 2012-02-29

Similar Documents

Publication Publication Date Title
JP4888731B2 (en) Computer system, input / output priority control method, and program
US9823947B2 (en) Method and system for allocating FPGA resources
JP4356765B2 (en) Information processing apparatus and method, and program
US8893146B2 (en) Method and system of an I/O stack for controlling flows of workload specific I/O requests
US8051227B1 (en) Programmable queue structures for multiprocessors
US9286118B2 (en) System and method for improved job processing to reduce contention for shared resources
US9792051B2 (en) System and method of application aware efficient IO scheduler
US9632977B2 (en) System and method for ordering packet transfers in a data processor
US20050219564A1 (en) Image forming device, pattern formation method and storage medium storing its program
US20070156955A1 (en) Method and apparatus for queuing disk drive access requests
WO2017000673A1 (en) Shared cache allocation method and apparatus and computer storage medium
US20110002345A1 (en) Method and apparatus for dequeuing data
US20050220112A1 (en) Distributed packet processing with ordered locks to maintain requisite packet orderings
EP3091699A1 (en) Queue scheduling method and device, and computer storage medium
CN106571978B (en) Data packet capturing method and device
CN112148644B (en) Method, apparatus and computer program product for processing input/output requests
CN105677744A (en) Method and apparatus for increasing service quality in file system
CN113708937B (en) Processing method and system for block chain transaction
CN107517167B (en) Data transmission control method and device and SoC chip
US9104478B2 (en) System and method for improved job processing of a number of jobs belonging to communication streams within a data processor
JP2019021185A (en) Information processing device, information processing system, information processing device control method and information processing device control program
CN113010464A (en) Data processing apparatus and device
US20200104193A1 (en) Port Groups
JP2002358259A (en) File server having priority control function, and file access method and file access program in the server
TWI574158B (en) Data processing method and system with application-level information awareness

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees