JP2015041199A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2015041199A JP2015041199A JP2013171289A JP2013171289A JP2015041199A JP 2015041199 A JP2015041199 A JP 2015041199A JP 2013171289 A JP2013171289 A JP 2013171289A JP 2013171289 A JP2013171289 A JP 2013171289A JP 2015041199 A JP2015041199 A JP 2015041199A
- Authority
- JP
- Japan
- Prior art keywords
- priority
- interrupt
- mode
- real
- rtos
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
これらの背景技術は、「特許文献1」や「特許文献2」に開示されている。
特許文献2には、同一プロセッサ上で動作している複数のOSのうち、一つのOSを主OSとして設定し、この主OSがすべての割り込みを処理する技術が開示されている。割り込み制御用の主OSが一旦すべての割り込みを受け、優先度に応じてプロセッサの動作モードを詳細に操作することで割り込みが遅延される時間を減らし、システム全体のスループットの向上を図るものである。
特許文献2に開示の技術は、すべての割り込みを処理する主OSを構成要素として持つ。非RTOS上で処理される割り込みが発生した場合でも主OSによるソフトウェア処理でプロセッサを制御するものであり、ソフトウェア処理のオーバーヘッドを減らしてリアルタイム性を向上させるものではない。本発明は、上記課題を鑑みてなされたものであり、RT性の高低のある複数のOSの動作を制御するシステムのリアルタイム性を損なうことを防止することを目的とする。
図1は本発明に係る情報処理装置のハードウェア構成を表す図である。システムバス101を介して、プロセッサ102、主記憶装置103、I/Oコントローラ104、2次記憶装置105、割り込み制御装置106が接続されている。ここでプロセッサ102はCPUとも呼ばれ、演算処理を行う。主記憶装置103としてはRAMと呼ばれる半導体記憶素子が一般的に使われる。2次記憶装置105としてはハードディスクや、SSDと呼ばれる半導体記憶素子である。
割り込み制御装置106はI/Oコントローラ104を介して外部から入力される割り込みや、プロセッサ102内部で発生するソフトウェア割り込みなどを専門に処理するハードウェア装置である。
尚、本実施形態は、リアルタイムOSの動作と非リアルタイムOSの動作とを制御する情報処理装置に関するものであるが、本実施形態の開示はこれに限定されるものではない。例えば、複数のリアルタイムOSの動作と複数の非リアルタイムOSの動作とを制御しても良いし、完全なリアルタイムOSおよび完全な非リアルタイムOSを制御するものだけではなく、リアルタイム性の相対的な高低がある複数のOSを制御するものであれば良い。
プロセッサ201はハードウェア内部に優先度付き割り込みコントローラ205を有している。
優先度付き割り込みコントローラ205は、遅延手段の一例であり、プロセッサの動作モードに応じて割り込み処理を遅延させることができる。例えば、プロセッサの動作モードがRT特権モードまたはRTユーザモードであるとき、非RT割り込み処理を遅延させる。
非RTOS204はスケジューラ209を有し、非RTOS204上ではリアルタイム性を必要としない非RTアプリケーション210、211が動作している。
例えば、RTアプリケーションであるアプリケーション207または208が動作中であれば(メモリ上に存在すれば)動作モードをRTユーザモードとする。アプリケーション207または208が動作中でなければ(メモリ上に存在しなければ)動作モードを非RTユーザモードとする。
ここでRT割り込みとは、ロボット制御系など高速な応答速度を必要とする通信回線の送受信処理のような、リアルタイム性が高く処理の遅延がシステム全体に大きな悪影響を及ぼすような割り込み処理である。非RT割り込みとは、キーボード・マウスなどのユーザーインターフェイス処理、TCP/IPなど比較的低速の通信回線の送受信処理のような、ある程度の遅延が許容される割り込み処理である。RT割り込みか非RT割り込みかの分類は、あらかじめシステム設計者によってシステム稼働前になされているものとする。
RT割り込みが発生すると(ステップS301)、プロセッサ201が内蔵する優先度付き割り込みコントローラ205によって、プロセッサの動作モードがRT特権モードに変更される(ステップS302)。プロセッサがRT特権モードに変更されたことにより、RT特権モードより優先度の低いRTユーザモード、非RT特権モード、非RTユーザモードへのモード変更は遅延される。
その後、ステップS301で発生したRT割り込みはRTOS上で処理される(ステップS303)。RTOSはリアルタイムOSを意味する。
続いて、ステップS302で変更された動作モードを割り込み発生前に戻し(ステップS304)、割り込み処理を終了する(ステップS305)。
非RT割り込みが発生すると(ステップS401)、まずプロセッサ201の現在の動作モードが非RTユーザモードかどうかの判定を行う(ステップS402)。
動作モードが非RTユーザモードであった場合、プロセッサ201が内蔵する優先度付き割り込みコントローラ205によって、プロセッサの動作モードが非RT特権モードに変更される(ステップS403)。
その後、ステップS401で発生した非RT割り込みは非RTOS上で処理される(ステップS404)。
続いて、ステップS403で変更された動作モードを割り込み発生前に戻し(ステップS405)、割り込み処理を終了する(ステップS406)。
RTユーザモード601は、RTOS203上で何らかのアプリケーションが動作している際の動作モードであり、アプリケーションの実行が終了し、RTOSがアイドル状態になると非RTユーザモード602に遷移する。この遷移はスーパーバイザ202によって実行され、スーパーバイザ202がRTOS203のスケジューラ206から情報を取得することで制御が行われる。
RTユーザモード601において非RT割り込みが発生しても、動作モードの遷移は行われず割り込み処理は遅延される。この遅延処理はプロセッサ201に内蔵されたハードウェアである優先度付き割り込みコントローラ205が優先度の低い割り込みをマスクすることによって行われる。この場合のシステムの動作は図4にて詳述した。
この遷移はスーパーバイザ202によって実行され、スーパーバイザ202がRTOS203のスケジューラ206から情報を取得することで制御が行われる。
非RTユーザモード602において非RT割り込みが発生すると、非RT特権モード604に遷移する。この場合のシステムの動作は図4にて詳述した。
非RT特権モード604は、非RT割り込みを実行する際の動作モードである。非RT割り込みの発生によって非RTユーザモード602から遷移し、割り込み処理の終了によって遷移元の非RTユーザモード602に復帰する。
まず、タイミングT701で非RTアプリが動作を開始し、次にタイミングT702でRTアプリが動作を開始する。非RTアプリのみが動作しているときは、非RTユーザモードである。RTアプリが動作を開始すると、RTユーザモードは非RTユーザモードよりも優先度が高いため、RTユーザモードに遷移する。
次に、タイミングT703でRT割り込みが発生すると、RT特権モードはRTユーザモードよりも優先度が高いため、タイミングT704でRT特権モードに遷移し、RT割り込み処理が実行される。タイミングT705でRT割り込み処理が終了すると、タイミングT706でRTユーザモードに遷移する。タイミングT707でRTアプリが動作を終了すると、非RTユーザモードに遷移する。
その後、再度、タイミングT708でRT割り込みが発生すると、RT特権モードは非RTユーザモードよりも優先度が高いため、タイミングT709でRT特権モードに遷移し、RT割り込み処理が実行される。タイミングT710でRT割り込み処理が終了すると、タイミングT711で非RTユーザモードに遷移する。
まず、タイミングT801で非RTアプリが動作を開始し、次にタイミングT802でRTアプリが動作を開始する。非RTアプリのみが動作しているときは、非RTユーザモードである。RTアプリが動作を開始すると、RTユーザモードは非RTユーザモードよりも優先度が高いため、RTユーザモードに遷移する。
次に、タイミングT803でRT割り込みが発生すると、RT特権モードはRTユーザモードよりも優先度が高いため、タイミングT804でRT特権モードに遷移し、RT割り込み処理が実行される。
その後、第1のRT割り込み処理の最中にタイミングT805で第2のRT割り込みが発生しても、第1のRT割り込みを処理するRT特権モードと第2のRT割り込みを処理するRT特権モードとは優先度が同じであるため、モード遷移は生じない。
図8に示す例では、第2のRT割り込み処理は遅延されて、タイミングT806で第1のRT割り込み処理が終了した後に、タイミングT807で第2のRT割り込み処理が開始される。
そして、タイミングT808で第2のRT割り込み処理が終了すると、タイミングT809でRTユーザモードに遷移する。タイミングT810でRTアプリが動作を終了すると、非RTユーザモードに遷移する。
なお、第2のRT割り込み処理が遅延されずに、第1のRT割り込み処理が遅延されて、第2のRT割り込み処理が開始され、第2のRT割り込み処理が終了した後に、第1の割り込み処理が再開されるとしても良い。
まず、タイミングT901で非RTアプリが動作を開始し、非RTユーザモードとなる。次に、タイミングT902で非RT割り込みが発生すると、非RT特権モードは非RTユーザモードよりも優先度が高いため、タイミングT903で非RT特権モードに遷移し、非RT割り込み処理が実行される。
そして、タイミングT904で非RT割り込み処理が終了すると、タイミングT905で非RTユーザモードに遷移する。
まず、タイミングT1001で非RTアプリが動作を開始し、次にタイミングT1002でRTアプリが動作を開始する。RTユーザモードは非RTユーザモードよりも優先度が高いため、RTアプリが動作を開始するとRTユーザモードに遷移する。
次に、タイミングT1003でRT割り込みが発生しても、非RT特権モードはRTユーザモードよりも優先度が低いため、非RT特権モードに遷移しない。
そして、タイミングT1004でRTアプリが終了すると、非RTユーザモードに遷移し、非RT特権モードは非RTユーザモードよりも優先度が高いため、タイミングT1005で非RT特権モードに遷移し、非RT割り込み処理が開始される。
タイミングT1006で非RT割り込み処理が終了すると、タイミングT1007で非RTユーザモードに遷移する。
これにより、非RT割り込みの発生によってRTアプリケーションの処理が中断されることがなくなり、割り込みによるシステムのリアルタイム性への影響を軽減することができる。
本発明の他の実施形態としては、RTOSとしてVxWorks(開発元:WindRiver社)など、非RTOSとしてLinux(登録商標)やWindows(登録商標)を動作させ、スーパーバイザとしてXenなどの仮想マシンブローカーを配置したシステムでも良い。Xenは、仮想マシンモニタの一つであり、一つのハードウェアを用いて、複数のオペレーティングシステムを並列実行・制御するサービスを提供する。Linux(登録商標)やWindows(登録商標)はリアルタイム性を持たない汎用OSの例である。
また、非RTOSであるLinux(登録商標)上でRTOSの機能を持ったXenomaiなどのリアルタイムサブシステムを動作させ、スーパーバイザとしてI−PIPEなどの専用スケジューラをLinux(登録商標)のカーネル内に備えるようなシステムであっても良い。Xenomaiは普通のLinux(登録商標)をリアルタイムLinux(登録商標)にする拡張モジュールであるか、またはモジュールとしてではなくカーネルに組み込まれて普通のLinux(登録商標)をリアルタイムLinux(登録商標)にする。I−PIPEの配布元はAdeosプロジェクトである。
102 プロセッサ
103 主記憶装置
104 I/Oコントローラ
105 2次記憶装置
106 割り込み制御装置
201 プロセッサ 202 スーパーバイザ
203 リアルタイムOS
204 非リアルタイムOS
205 優先度付き割り込みコントローラ
206 リアルタイムOSのスケジューラ
207 リアルタイムOS上で動作するRTアプリケーション
208 リアルタイムOS上で動作するRTアプリケーション
209 非リアルタイムOSのスケジューラ
210 非リアルタイムOS上で動作する非RTアプリケーション
211 非リアルタイムOS上で動作する非RTアプリケーション
Claims (6)
- 第1OSの動作と、前記第1OSよりもリアルタイム性の低い第2OSの動作とを制御する情報処理装置であって、
前記第1OSに属するアプリケーションの動作の優先度に、前記第2OSに属する割り込み処理の動作の優先度よりも高い優先度を与えて記憶する優先度記憶手段と、
前記優先度記憶手段に記憶されている優先度に基づき、前記第1OSの動作と前記第2OSの動作とを制御する制御手段と、を有することを特徴とする情報処理装置。 - 前記制御手段は、
前記第2OSに属するアプリケーションの動作中に、前記第1OSに属するアプリケーションの動作を開始する場合、前記第2OSに属するアプリケーションの動作よりも前記第1OSに属するアプリケーションの動作の開始を優先させることを特徴とする請求項1に記載の情報処理装置。 - 前記制御手段は、
前記優先度記憶手段に記憶されている優先度に応じて、前記第1OSに属するアプリケーションの動作中は、前記第2OSに属する割り込み処理の動作の開始を遅延させることを特徴とする請求項1または2のいずれか1項に記載の情報処理装置。 - 前記制御手段は優先度付き割り込みコントローラであって、当該優先度付き割り込みコントローラが優先度の低い割り込みをマスクすることによって優先度の低い動作モードの処理をハードウェアで遅延させることを特徴とする請求項1乃至3のいずれ1項に記載の情報処理装置。
- 前記第1OSがリアルタイムOSであり、前記第2OSがリアルタイム性を持たない汎用OSであり、前記動作モード変更手段および前記優先度記憶手段がスーパーバイザ・ソフトウェアであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記第1OSがリアルタイム性を持たない汎用OSの上で動作するリアルタイムサブシステムであり、前記第2OSがリアルタイム性を持たない汎用OSであり、前記動作モード変更手段および前記優先度記憶手段がI−PIPEであることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013171289A JP2015041199A (ja) | 2013-08-21 | 2013-08-21 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013171289A JP2015041199A (ja) | 2013-08-21 | 2013-08-21 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015041199A true JP2015041199A (ja) | 2015-03-02 |
JP2015041199A5 JP2015041199A5 (ja) | 2016-09-29 |
Family
ID=52695336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013171289A Pending JP2015041199A (ja) | 2013-08-21 | 2013-08-21 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015041199A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019215795A1 (ja) * | 2018-05-07 | 2019-11-14 | 三菱電機株式会社 | 情報処理装置、チューニング方法およびチューニングプログラム |
WO2020213401A1 (ja) * | 2019-04-16 | 2020-10-22 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005502146A (ja) * | 2001-09-12 | 2005-01-20 | レクスロート インドラマート ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 工業プロセスを制御および/または調整するための方法 |
JP2007507779A (ja) * | 2003-10-01 | 2007-03-29 | ジャルナ エスアー | オペレーティングシステム |
JP2008234116A (ja) * | 2007-03-19 | 2008-10-02 | Matsushita Electric Ind Co Ltd | 仮想計算機制御装置 |
-
2013
- 2013-08-21 JP JP2013171289A patent/JP2015041199A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005502146A (ja) * | 2001-09-12 | 2005-01-20 | レクスロート インドラマート ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 工業プロセスを制御および/または調整するための方法 |
JP2007507779A (ja) * | 2003-10-01 | 2007-03-29 | ジャルナ エスアー | オペレーティングシステム |
JP2008234116A (ja) * | 2007-03-19 | 2008-10-02 | Matsushita Electric Ind Co Ltd | 仮想計算機制御装置 |
Non-Patent Citations (2)
Title |
---|
KARIM YAGHMOUR,外3名, 組み込みLINUXシステム構築, vol. 第2版, JPN6017023650, 23 October 2009 (2009-10-23), pages Pages:369-392 * |
佐藤隆浩: "Windowsのリアルタイム拡張RTX", INTERFACE, vol. 第27巻,第12号, JPN6017023647, 1 December 2001 (2001-12-01), JP, pages Pages:103〜108 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019215795A1 (ja) * | 2018-05-07 | 2019-11-14 | 三菱電機株式会社 | 情報処理装置、チューニング方法およびチューニングプログラム |
JPWO2019215795A1 (ja) * | 2018-05-07 | 2020-09-17 | 三菱電機株式会社 | 情報処理装置、チューニング方法およびチューニングプログラム |
KR20200128589A (ko) * | 2018-05-07 | 2020-11-13 | 미쓰비시덴키 가부시키가이샤 | 정보 처리 장치, 튜닝 방법 및 기록 매체에 저장된 튜닝 프로그램 |
KR102251451B1 (ko) | 2018-05-07 | 2021-05-12 | 미쓰비시덴키 가부시키가이샤 | 정보 처리 장치, 튜닝 방법 및 기록 매체에 저장된 튜닝 프로그램 |
WO2020213401A1 (ja) * | 2019-04-16 | 2020-10-22 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
JP2020177075A (ja) * | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
CN113727878A (zh) * | 2019-04-16 | 2021-11-30 | 株式会社电装 | 车辆用装置、车辆用装置的控制方法 |
JP7180516B2 (ja) | 2019-04-16 | 2022-11-30 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
CN113727878B (zh) * | 2019-04-16 | 2024-05-14 | 株式会社电装 | 车辆用装置、车辆用装置的控制方法 |
US12008676B2 (en) | 2019-04-16 | 2024-06-11 | Denso Corporation | Vehicle device, drawing requests using priority queues, and vehicle device control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140281088A1 (en) | System and method for deterministic time partitioning of asynchronous tasks in a computing environment | |
CA2849565A1 (en) | Method, apparatus, and system for scheduling processor core in multiprocessor core system | |
TW201432565A (zh) | 用於執行緒排程的方法以及系統 | |
EP2430541A1 (en) | Power management in a multi-processor computer system | |
US9311142B2 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
CN111324432A (zh) | 处理器调度方法、装置、服务器及存储介质 | |
US10891171B2 (en) | Method, apparatus and device for transitioning between data and control core and migrating clock task from data core to control core | |
US9128754B2 (en) | Resource starvation management in a computer system | |
JP2021521541A (ja) | アクセラレータ要求を処理する際の中央処理装置の処理品質保証の実施 | |
US11061840B2 (en) | Managing network interface controller-generated interrupts | |
JP2019021185A (ja) | 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム | |
US20160170474A1 (en) | Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory | |
Li et al. | Multi-mode virtualization for soft real-time systems | |
Lin et al. | {RingLeader}: efficiently Offloading {Intra-Server} Orchestration to {NICs} | |
CN111930516B (zh) | 一种负载均衡方法及相关装置 | |
Behnke et al. | Towards a real-time IoT: Approaches for incoming packet processing in cyber–physical systems | |
JP2015041199A (ja) | 情報処理装置 | |
Nicodemus et al. | Managing vertical memory elasticity in containers | |
JP5945617B2 (ja) | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 | |
CN114661415A (zh) | 调度方法及计算机*** | |
Mvondo et al. | Tell me when you are sleepy and what may wake you up! | |
EP3387529A1 (en) | Method and apparatus for time-based scheduling of tasks | |
Amiri et al. | A predictable interrupt management policy for real-time operating systems | |
US11620154B2 (en) | Suppressing interrupts to an application thread | |
JP5734941B2 (ja) | マルチコアプロセッサの制御プログラム、電子機器及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160809 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180329 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180809 |