JP5014179B2 - Os優先度変更装置及びos優先度変更プログラム - Google Patents

Os優先度変更装置及びos優先度変更プログラム Download PDF

Info

Publication number
JP5014179B2
JP5014179B2 JP2008015294A JP2008015294A JP5014179B2 JP 5014179 B2 JP5014179 B2 JP 5014179B2 JP 2008015294 A JP2008015294 A JP 2008015294A JP 2008015294 A JP2008015294 A JP 2008015294A JP 5014179 B2 JP5014179 B2 JP 5014179B2
Authority
JP
Japan
Prior art keywords
priority
interrupt
unit
storage
correspondence information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008015294A
Other languages
English (en)
Other versions
JP2009176139A (ja
Inventor
吉章 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008015294A priority Critical patent/JP5014179B2/ja
Publication of JP2009176139A publication Critical patent/JP2009176139A/ja
Application granted granted Critical
Publication of JP5014179B2 publication Critical patent/JP5014179B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、実行するべき優先度が予め指定されている複数のOS(Operating system)の前記優先度を変更するOS優先度変更装置に関するものである。
近年、計算機の高性能化に伴い、単一もしくは複数のプロセッサを含む1つの計算機上で複数の仮想計算機(VM:Virtual Machine)を実現し、その上でオペレーティングシステム(OS:Operating System)を動作させることが注目されている。その一例として、制御プログラムを動作させるリアルタイムOSと、多機能で豊富なソフトウェア資産を持つWindows(登録商標)やLinux(登録商標)のような汎用OSを同時に動作させることにより、各OSの特長を活かした高機能なシステムを1つの計算機で実現することが可能である。
上記のように1つの計算機に含まれる単一もしくは複数のプロセッサ上で複数のOSを動作させる仮想計算機システムにおいて、従来の仮想計算機システムの実行制御方式は、OS毎の実行状態や、予め割り当てられたOS毎の実行優先度、OSにおいて実行可能なタスクのタスク優先度、OS毎のタイムスライス実行時間などに基づいて優先度の高いOSを選択することによって、OS毎の実行順序を決定し、制御していた(例えば、特許文献1)。このようにして、優先度の高いOSを優先的に実行することにより、リアルタイムOSとリアルタイム性を要求しない汎用OSといった性質の異なる複数のOSの共存を実現していた。
特開2000−347883号公報
従来の仮想計算機システムの実行制御方式においては、次に実行する優先度の高いOSを選択する際、OS毎の実行状態やOSにおいて実行可能なタスクのタスク優先度などのOS内部情報を実行制御部が知る必要がある。しかしながら、仮想計算機システムの実行制御部(一般的に仮想マシンモニタと呼ぶ)がOS内部情報を知り得るには、OSから仮想マシンモニタへOS内部情報を通知するようにOSのプログラムを変更したり、OS内部情報が格納された記憶領域を仮想マシンモニタが直接参照したりする必要があるが、OSのソースプログラムやOS内部情報の格納箇所を開示していないOSについては、この方式を利用することができないという課題があった。
この発明は、OSのプログラムを変更したり、OS内部情報を参照したりすることなく、各OSに含まれる優先度の高い処理を優先して処理可能な仮想計算機システムを実現することを目的とする。
この発明のOS優先度変更装置は、
実行するべき優先度が予め指定されている複数のOS(Operating system:以下、OSという)の前記優先度を変更するOS優先度変更装置において、
割込みの要因と、前記割込みを処理するOSと、前記OSが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記OSの前記優先度を前記対応情報の示す前記優先度に変更するOS優先度変更部と
を備えたことを特徴とする。
この発明により、OSのプログラムを変更したりOS内部情報を参照したりすることなく、各OSに含まれる優先度の高い処理を優先して処理可能な装置を提供できる。
実施の形態1.
図1は、コンピュータで実現される仮想計算機システム1の外観の一例を示す図である。図1において、仮想計算機システム1は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
図2は、コンピュータで実現される仮想計算機システム1のハードウェア資源の一例を示す図である。図2において、仮想計算機システム1は、プログラムを実行するCPU810(Central Processing Unit:中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
通信ボード816は、ネットワーク(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、以下に述べる実施の形態の説明において、「対応情報」、「現在の優先度」などとして説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、実施の形態1を示す仮想計算機システムの実行制御方式の構成図である。図3において、
(1)仮想計算機システム1は、単一もしくは複数のプロセッサ、メモリなどから構成される。
(2)ハードウェア2は、仮想計算機システム1に含まれる。
(3)仮想マシン3は、仮想計算機システム1内に複数存在し、独立した仮想的なハードウェア環境を提供する。
(4)OS4は、仮想マシン3上で動作する。
(5)アプリケーションプログラム5は、OS4上で動作する。
(6)仮想マシンモニタ6(OS優先度変更装置)は、仮想マシン上で動作するOSなどのプログラムの実行を制御する。
(7)割込み受付部7は、仮想マシンモニタ6の一機能として、ハードウェア2から割込みが発生すると実行される。
(8)OSスケジューラ8(OS実行順序制御部)は、仮想マシンモニタ6の一機能として、OS4の実行順序を決定し、次に実行すべきOSにプロセッサ資源を割り当てる(ディスパッチする)。このように、OS4は仮想マシンの構成要素の一つである仮想CPU上で動作するため、OSスケジューラ8を仮想CPUスケジューラと呼ぶこともある。
(9)割込み対OS優先度管理領域9(対応情報記憶部)は、割込み要因とその割込みを処理するOSのOS優先度の対応付け(対応情報ともいう)を記憶する領域(記憶部)である。この「対応情報」は、割込みの要因と、この割込みを処理するOSと、このOSが割込みを処理する場合の優先度とが対応付けされている。図4は、割込み対OS優先度管理領域9の「対応情報」の一例を図示したものである。
(10)OS優先度変更部10は、割込み発生時に、割込み対OS優先度管理領域9に格納された情報に従って、OSの優先度を変更する。
(動作1)
図5は、実施の形態1の仮想計算機システムの動作1を示すフローチャートである。図5を参照して実施の形態1の仮想計算機システムの動作1を説明する。
ハードウェア2に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ6の割込み受付部7が実行される(S101)。
割込み受付部7は、一般的な仮想マシンモニタ6の処理として、発生した割込みを処理するOSを選択し、選択したOSに対して割込みの発生とその要因を通知する。
その後、割込み受付部7はOS優先度変更部10を呼び出す(S102)。
OS優先度変更部10は、割込み対OS優先度管理領域9から発生した割込み要因をもとに実行するOSの優先度を取得する(S103)。
次にOS優先度変更部10は、OSスケジューラ8が一般的に持っている優先度変更機能を呼び出し、OS優先度を割込み対OS優先度管理領域9から取得した優先度に変更する(S104)。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)が、その点に関しては一般的な優先度ベースのスケジューリングアルゴリズムを適用するものとし、ここでは言及しない。
以上のように本実施の形態1の仮想マシンモニタ6は、予め決められたOS優先度ではなく、発生した割込み要因に応じてOSの優先度を変更し、その結果をもとにOSスケジューラ8がOSをディスパッチするようにしている。このため、OSのプログラムを変更したり、OS内部情報を参照したりすることなく、割込みを起点として各OSに含まれる優先度の高い処理を優先して処理することができる。
なお、本実施の形態1では仮想計算機システムを例として挙げているが、仮想的なハードウェア環境を提供しないマルチOS環境においても適用可能であり、同様の効果を得ることができる。
また、割込み対OS優先度管理領域9に格納される割込み要因のうち、ハードウェアに何らかの障害が発生した場合に発生する割込みについて、システムで高い優先度で動作するようなOS優先度を設定しておくことにより、障害が発生したハードウェアを用いているOSを、他のOSよりも優先して動作させることが可能となる。これにより、速やかに障害検知時の処理、例えば運用管理サーバへ障害が発生したことを通知するなどを行うことができるため、システム全体に障害の影響が波及することを防ぐことが可能となり、システムの信頼性を上げることができる。
実施の形態2.
以上の実施の形態1では、割込み発生時に、その割込み要因に応じたOS優先度にOSの優先度を変更し、次に実行すべきOSを決定していたが、当該割込み処理完了後も、次に同一のOSに対する別の割込み要因の割込みが発生するまで変更後のOS優先度で動作してしまい、結果として他に優先すべき割込み処理が発生しても優先して実行できないという点があった。これを解決するため、次にOSの優先度を変更する期間を限定する実施の形態を示す。
図6は、このような実施の形態2の仮想計算機システムの実行制御方式の構成図である。図3と同一符号は同一又は相当部分を示し説明を省略する。
図6において、
(1)OS優先度保存領域11(情報格納部)は、OS優先度変更部10がOS優先度を変更する前のOS優先度を退避しておく格納部である。
(2)割込み完了受付部12(完了信号受信部)は、OS4が割込み完了命令を実行したのを受け、実行される。
(3)OS優先度復元部13は、割込み完了受付部12から呼び出され、OS優先度保存領域11に退避されたOS優先度にOSの優先度を戻す。
(4)OS優先度変更部10は、優先度記憶部101を備えている。優先度記憶部101は、複数のOS(図6ではOS−A,OS−B、OS−C)の現在の優先度を記憶している。後述する動作2のように、OS優先度変更部10は、割込みが発生すると、優先度記憶部101に記憶されている優先度のうち前記割込みに対応するOSの現在の優先度を割込み対OS優先度管理領域9に記憶されている対応情報の示す優先度に変更する。同時にOS優先度変更部10は、変更された優先度に従って前記OSの実行順序をOSスケジューラ8に制御させるとともに、前記割込みに対応する前記OSの前記現在の優先度をOS優先度保存領域11に退避する。
図7はOS優先度保存領域11の一例を図示したものである。
(動作2)
図8は、実施の形態2の仮想計算機システムの動作2を示すフローチャートである。図8を参照して実施の形態2の仮想計算機システムの動作2を説明する。
ハードウェア2に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ6の割込み受付部7が実行される(S101)。
割込み受付部7は、一般的な仮想マシンモニタ6の処理として、発生した割込みを処理するOSを選択し、選択したOSに対して割込みの発生とその要因を通知する。その後、割込み受付部7はOS優先度変更部10を呼び出す(S102)。
OS優先度変更部10は、割込み対OS優先度管理領域9から発生した割込み要因をもとに実行するOSの優先度を取得する(S103)。
次にOS優先度変更部10は、変更対象のOSの現在の優先度をOS優先度保存領域11に保存する(S201)。即ち、OS優先度変更部10は、優先度記憶部101に記憶されている前記割込みに対応する前記OSの現在の優先度をOS優先度保存領域11に退避する。
さらにOS優先度変更部10は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度を割込み対OS優先度管理領域9から取得した優先度に変更する(S104)。即ち、OS優先度変更部10は、割込みが発生すると、優先度記憶部101に記憶されている優先度のうち前記割込みに対応するOSの現在の優先度を割込み対OS優先度管理領域9に記憶されている対応情報の示す優先度に変更する。そして、OS優先度変更部10は、変更された優先度に従って前記OSの実行順序をOSスケジューラ8に制御させる。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
次にOS4にて割込み処理が完了したタイミング(予め設定されたタイミングの一例)で、OS4(OS−B)は、仮想マシンモニタ6の割込み完了受付部12に対して、割込み完了通知(完了信号の一例)を送信する(S202)。なお、割込み完了通知は、仮想マシンモニタ6が割込み完了命令をトラップするか、仮想マシンモニタ6が提供する呼び出しインタフェース(一般的にハイパーバイザコールと呼ぶ)を発行することにより実現することができる。
割込み完了通知を受けた仮想マシンモニタ6内の割込み完了受付部12は、OS優先度復元部13を呼び出す(S203)。
OS優先度復元部13は、OS優先度保存領域11に退避しておいた変更前のOS優先度を取得する(S204)。
さらにOS優先度復元部13は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度をOS優先度保存領域11から取得した優先度に変更する(S205)。
その後、OSスケジューラ8は、最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
以上のように本実施の形態2によれば、発生した割込み処理を完了すると、速やかに元のOS優先度に戻すようにしているので、OSの優先度を変更する期間を限定することができ、優先したい処理部分のみOSの優先度を上げることができる。
実施の形態3.
以上の実施の形態2では、仮想マシンモニタ6が割込み完了命令をトラップするか、仮想マシンモニタ6のハイパーバイザコールを発行することにより、OS4から仮想マシンモニタ6へ割込み完了を通知していたが、割込み完了までの処理に加えて、その割込みを契機にして起動されるアプリケーションプログラムまでの処理を優先することができないという点があった。これを解決するため、次にOSの優先度を変更する期間を任意の期間にすることが可能な実施の形態を示す。
図9は、このような実施の形態3の仮想計算機システムの実行制御方式の構成図である。図3、図6と同一符号は同一又は相当部分を示し説明を省略する。
図9において、
(1)擬似割込み完了発生部14は、実際の割込み完了通知ではなく、任意の時点で擬似的に割込み完了通知を発行することが可能である。
(2)擬似割込み完了受付部15(完了信号受信部)は、擬似割込み完了発生部14が発行した擬似的な割込み完了通知(完了信号の一例)を受け取る。
(動作3)
図10は、実施の形態3の仮想計算機システムの動作3を示すフローチャートである。図10を参照して実施の形態3の仮想計算機システムの動作3を説明する。
ハードウェア2に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ6の割込み受付部7が実行される(S101)。
割込み受付部7は、一般的な仮想マシンモニタ6の処理として、発生した割込みを処理するOSを選択し、選択したOSに対して割込みの発生とその要因を通知する。その後、割込み受付部7はOS優先度変更部10を呼び出す(S102)。
OS優先度変更部10は、割込み対OS優先度管理領域9から発生した割込み要因をもとに実行するOSの優先度を取得する(S103)。
次にOS優先度変更部10は、変更対象のOSの現在の優先度をOS優先度保存領域11に保存する(S201)。
さらにOS優先度変更部10は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度を割込み対OS優先度管理領域9から取得した優先度に変更する(S104)。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
次にOS4にて割込み処理および他の優先したいプログラム実行が完了したタイミング(予め設定されたタイミングの一例)で、OS4の擬似割込み完了発生部14は、仮想マシンモニタ6の擬似割込み完了受付部15に対して、擬似割込み完了通知(完了信号の一例)を送信する(S301)。なお、擬似割込み完了通知は、仮想マシンモニタ6がトラップ可能な擬似命令を実行するか、ハイパーバイザコールを発行することにより実現することができる。
擬似割込み完了通知を受けた仮想マシンモニタ6内の擬似割込み完了受付部15は、OS優先度復元部13を呼び出す(S302)。
OS優先度復元部13は、OS優先度保存領域11に退避しておいた変更前のOS優先度を取得する(S204)。
さらにOS優先度復元部13は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度をOS優先度保存領域11から取得した優先度に変更する(S205)。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
以上のように本実施の形態3によれば、割込み発生後から発生した割込みに対する擬似割込み完了通知を受け取るまでの任意の期間にOSの優先度を変更することができるようにしているので、割込み処理に加えて優先したいアプリケーションプログラム処理部分を含めて優先したい処理部分のOSの優先度を上げることができる。
実施の形態4.
以上の実施の形態2および実施の形態3では、割込み発生からOS4が割込み完了通知もしくは擬似的な割込み完了通知を行うまでの期間、OSの優先度を変更していたが、次にOS4が明示的に割込み完了通知もしくは擬似割込みを行わずとも、限定した期間のみOSの優先度を変更することが可能な実施の形態を示す。
図11は、このような実施の形態4の仮想計算機システムの実行制御方式の構成図である。図3と同一符号は同一又は相当部分を示し説明を省略する。
図11において、
経過時間管理部16(タイマー部)は、OS優先度変更部10がOSの優先度を変更してからの経過時間を保持している。経過時間管理部16は、OS優先度変更部10から計測の開始を指示する指示信号を受信すると、計測を開始する。
(動作4)
図12は、実施の形態4の仮想計算機システムの動作4を示すフローチャートである。図12を参照して実施の形態4の仮想計算機システムの動作4を説明する。
ハードウェア2に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ6の割込み受付部7が実行される(S101)。
割込み受付部7は、一般的な仮想マシンモニタ6の処理として、発生した割込みを処理するOSを選択し、選択したOSに対して割込みの発生とその要因を通知する。その後、割込み受付部7は、OS優先度変更部10を呼び出す(S102)。
OS優先度変更部10は、割込み対OS優先度管理領域9から発生した割込み要因をもとに、実行するOSの優先度を取得する(S103)。
次にOS優先度変更部10は、変更対象のOSの現在の優先度をOS優先度保存領域11に保存する(S201)。
さらにOS優先度変更部10は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度を割込み対OS優先度管理領域9から取得した優先度に変更する(S104)。
次にOS優先度変更部10は、経過時間管理部16に対してOS優先度を変更したことを示す通知(カウントを指示する指示信号の一例)を送信する(S401)。経過時間管理部16では、前記通知(指示信号)を受信すると、予め設定されている所定の時間が経過するまで、その時間を計測する。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
次に経過時間管理部16は、任意の時間が経過したことを検知すると、OS優先度復元部13を呼び出す(S402)。
OS優先度復元部13は、OS優先度保存領域11に退避しておいた変更前のOS優先度を取得する(S204)。
さらにOS優先度復元部13は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度をOS優先度保存領域11から取得した優先度に変更する(S205)。
その後、OSスケジューラ8は、最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
なお、経過時間管理部16が計測する時間についてはシステムに固定的な時間を与えることもできるし、例えば図13に示すように、割込み対OS優先度管理領域9に格納しておき、S401の処理時に一緒に経過時間管理部16に通知することにより、割込み毎に異なる時間を与えることもできる。
以上のように本実施の形態4によれば、割込み発生後から任意の期間にOSの優先度を変更することができるようにしているので、仮想マシンモニタ6が割込み完了通知をトラップできない場合やOSに当該ハイパーバイザコールの呼出しを埋め込めない場合でも、任意の時間、優先したい処理部分のOSの優先度を上げることができる。
実施の形態5.
上述の実施の形態2、あるいは実施の形態3では、割込み発生から仮想マシンモニタ6が割込み完了通知を受け取るまでOS4の優先度を変更していたが、これを利用し、OS間でセキュアな通信を実現することが可能な実施の形態を示す。
図14は、このような実施の形態5の仮想計算機システムの実行制御方式の構成図である。図3、図6等と同一符号は同一又は相当部分を示し説明を省略する。
図14において、
(1)OS間通信送信部17は、他の仮想マシン上のOSにデータを送信する場合に呼び出される。
(2)OS間通信受信部18は、他の仮想マシン上のOSからデータを受信する場合に呼び出される。
(3)OS間通信送信受付部19(ソフトウェア割込み発生部)は、OS間通信送信部17から呼び出される。
(4)OS間通信受信完了受付部20(完了信号受信部)は、OS通信でデータを受信した時に、その受信完了通知(ソフトウェア割込み完了信号)を受け取る。
(動作5)
図15は、実施の形態5の仮想計算機システムの動作5を示すフローチャートである。図15を参照して実施の形態5の仮想計算機システムの動作5を説明する。
仮想マシン上で動作しているアプリケーションプログラムCからOS―C(送信側OS)に対してOS間を跨いだデータ送信が要求されると、OS間通信送信部17が実行される。OS間通信送信部17は、OS間通信送信受付部19を呼び出す(S501)。この場合OS間通信送信部17は、受信側のOS−Bへのデータ送信を要求する送信要求信号をOS間通信送信受付部19に送信する。
OS間通信送信受付部19は、送信要求信号を受信すると、この送信要求信号の受信を契機として、受信側のOS―B(受信側OS)にデータを送信することを通知するためにソフトウェア割込みを発生させる。ここまでのOS間通信処理については、仮想計算機システムやマルチOS環境での一般的な手法と同様である。次に、通常のハードウェアからの割込みと同じように、ソフトウェア割込みが発生すると、仮想マシンモニタ6の割込み受付部7が実行される(S502)。
割込み受付部7は、一般的な仮想マシンモニタ6の処理として、発生した割込みを処理するOSを選択し、選択したOSに対して割込みの発生とその要因を通知する。その後、割込み受付部7はOS優先度変更部10を呼び出す(S102)。
OS優先度変更部10は、割込み対OS優先度管理領域9から発生した割込み要因をもとに実行するOSの優先度を取得する(S103)。
本実施の形態5では、OS間通信に対するソフトウェア割込みに対応するOS優先度を割込み対OS優先度管理領域9の対応情報においてシステムで最も高い優先度の値に設定しておくものとする。すなわち、割込み対OS優先度管理領域9の対応情報には、ソフトウェア割込みと、ソフトウェア割込みを処理するOSである受信側OS―Bと、受信側OS―Bがソフトウェア割込みを処理する場合の優先度とが対応付けされているとともに、この優先度はシステムで最も高い値に設定されている。そのため、ここでOS優先度変更部10が割込み対OS優先度管理領域9から取得した優先度は最高の優先度となる。次に変更対象のOSの現在の優先度をOS優先度保存領域11に保存する(S201)。
さらにOS優先度変更部10は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度を割込み対OS優先度管理領域9から取得した優先度に変更する(S104)。
その後、OSスケジューラ8は最も優先度の高いOS、つまりは受信側のOSを選択し、ディスパッチを行う(S105)。
次に受信側のOS―Bにて受信処理が完了すると、OS―BのOS間通信受信部18より仮想マシンモニタ6のOS間通信受信完了受付部20に対して、受信完了通知(ソフトウェア割込み完了信号)を送信する(S503)。
次に受信完了通知を受けた仮想マシンモニタ6内のOS間通信受信完了受付部20が呼び出される(S504)。OS間通信受信完了受付部20は受信完了通知を受信すると、OS優先度復元部13を呼び出す(S504)。
OS優先度復元部13は、OS優先度保存領域11に退避しておいた変更前のOS優先度を取得する(S204)。
さらにOS優先度復元部13は、OSスケジューラ8の優先度変更機能を呼び出し、OS優先度をOS優先度保存領域11から取得した優先度に変更する(S205)。
その後、OSスケジューラ8は最も優先度の高いOSを選択し、ディスパッチを行う(S105)。
以上のように本実施の形態5によれば、OS間通信において送信開始から受信完了までの期間、受信側のOSの優先度をシステムで最高の優先度にしておくことができるため、送信側OSと受信側OSの実行の間に他のOSが実行されるのを防ぐことができる。これを利用することにより、OS間通信の間に悪意のあるプログラムからデータを参照したり、改ざんされたりすることを防ぐことができ、システムの安全性を高めることができる。
なお、本実施の形態5ではOS間通信に用いるソフトウェア割込みは通常のOS間通信と共通のものであってもよいし、セキュアなOS間通信用に専用のソフトウェア割込みを用いるようにし、OS間通信送信受付部19がセキュアなOS間通信の場合のみ、専用のソフトウェア割込みを呼び出すようにしてもよい。
以上の実施の形態1では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
(a)割込み要因とその割込みを処理するOSのOS優先度の対応付けを記憶した、割込み対OS優先度管理領域
(b)割込み発生時に割込み対OS優先度管理領域に格納された情報に従ってOSの優先度を変更する、OS優先度変更部。
以上の実施の形態2では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
(a)OS優先度変更部がOS優先度を変更する前のOS優先度を退避しておくための、OS優先度保存領域
(b)OS優先度保存領域11に退避されたOS優先度にOSの優先度を戻す、OS優先度復元部。
以上の実施の形態3では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
(a)任意の時点で擬似的に割込み通知を発行することが可能な、擬似割込み完了発生部
(b)擬似割込み完了発生部14が発行した擬似的な割込み完了通知を受け取る、擬似割込み完了受付部。
以上の実施の形態4では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
(a)OS優先度変更部がOSの優先度を変更してからの経過時間を保持している、経過時間管理部。
以上の実施の形態5では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
(a)他の仮想マシン上のOSにデータを送信する場合に呼び出され、ソフトウェア割込みを用いて他のOSにデータを送信することを通知する、OS間通信送信受付部
(b)OS間でデータ受信を完了した場合に呼び出され、データ受信の間変更されていたOS優先度を元に戻すためにOS優先度復元部を呼び出す機能を持つ、OS間通信受信完了受付部。
実施の形態1の仮想計算機システムを実現するコンピュータの外観。 実施の形態1の仮想計算機システムを実現するコンピュータのハードウェア構成。 実施の形態1の仮想計算機システムのブロック図。 実施の形態1の割込み対OS優先度管理領域の例。 実施の形態1の仮想計算機システムの動作を示すフローチャート。 実施の形態2の仮想計算機システムのブロック図。 実施の形態2のOS優先度保存領域の例。 実施の形態2の仮想計算機システムの動作を示すフローチャート。 実施の形態3の仮想計算機システムのブロック図。 実施の形態3の仮想計算機システムの動作を示すフローチャート。 実施の形態4の仮想計算機システムのブロック図。 実施の形態4の仮想計算機システムの動作を示すフローチャート。 実施の形態4の割込み対OS優先度管理領域の例。 実施の形態5の仮想計算機システムのブロック図。 実施の形態5の仮想計算機システムの動作を示すフローチャート。
符号の説明
1 仮想計算機システム、2 ハードウェア、6 仮想マシンモニタ、7 割込み受付部、8 OSスケジューラ、9 割込み対OS優先度管理領域、10 OS優先度変更部、101 優先度記憶部、11 OS優先度保存領域、12 割込み完了受付部、13 OS優先度復元部、14 擬似割込み完了発生部、15 擬似割込み完了受付部、16 経過時間管理部、17 OS間通信送信部、18 OS間通信受信部、19 OS間通信送信受付部、20 OS間通信受信完了受付部、810 CPU、811 ROM、812 RAM、813 表示装置、814 K/B、815 マウス、816 通信ボード、817 FDD、818 CDD、819 プリンタ装置、820 磁気ディスク装置、821 OS、822 ウィンドウシステム、823 プログラム群、824 ファイル群、825 バス、830 システムユニット。

Claims (5)

  1. 実行するべき優先度が予め指定されている複数のOS(Operating system:以下、OSという)の前記優先度を変更するOS優先度変更装置において、
    割込みの要因と、前記割込みを処理するOSと、前記OSが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
    前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記OSの前記優先度を前記対応情報の示す前記優先度に変更するOS優先度変更部と
    記OS優先度変更部によって変更された前記優先度に従って、前記OSの実行順序を制御するOS実行順序制御部と、
    報を格納する情報格納部を備え、
    前記OS優先度変更部は、
    前記複数のOSの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記OSの前記記憶優先度を前記対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記OSの実行順序を前記OS実行順序制御部に制御させるとともに、前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部に格納し、
    前記複数のOSのそれぞれは、
    前記割込みを処理する場合には、前記割込みの処理完了を示す完了信号を予め設定されたタイミングで出力し、
    前記OS優先度変更装置は、さらに、
    前記割込みが発生した場合における前記割込みに対応する前記OSから前記完了信号を受信する完了信号受信部と、
    前記完了信号受信部が前記完了信号を受信すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記OSの実行順序を前記OS実行順序制御部に制御させるOS優先度復元部と
    を備えたことを特徴とするOS優先度変更装置。
  2. 前記複数のOSは、
    所定のデータを送信する送信側OSと、前記送信側OSから前記所定のデータを受信する受信側OSとを含み、
    前記送信側OSは、
    前記データを送信しようとするときに、送信を要求する送信要求信号を出力し、
    前記OS優先度変更装置は、さらに、
    前記送信側OSから前記送信要求信号を受信するとともに、前記送信要求信号の受信を契機として、ソフトウェア割込みを発生するソフトウェア割込み発生部を備え、
    前記対応情報記憶部は、
    前記ソフトウェア割込みと、前記ソフトウェア割込みを処理するOSである前記受信側OSと、前記受信側OSが前記ソフトウェア割込みを処理する場合の優先度とが対応付けされた対応情報であるソフトウェア割込み対応情報を記憶しており、
    前記OS優先度変更部は、
    前記ソフトウェア割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記ソフトウェア割込みに対応する前記受信側OSの前記記憶優先度を前記ソフトウェア割込み対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記受信側OSの実行順序を前記OS実行順序制御部に制御させるとともに、前記ソフトウェア割込み対応情報の示す前記優先度に変更される前記受信側OSの変更前の前記記憶優先度を前記情報格納部に格納し、
    前記受信側OSは、
    前記ソフトウェア割込みを処理する場合には、前記ソフトウェア割込みの処理完了を示すソフトウェア割込み完了信号を予め設定されたタイミングで出力し、
    前記完了信号受信部は、
    前記受信側OSから前記ソフトウェア割込み完了信号を受信し、
    前記OS優先度復元部は、
    前記完了信号受信部が前記ソフトウェア割込み完了信号を受信すると、前記情報格納部に格納されている前記受信側OSの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記受信側OSの実行順序を前記OS実行順序制御部に制御させることを特徴とする請求項記載のOS優先度変更装置。
  3. 実行するべき優先度が予め指定されている複数のOS(Operating system:以下、OSという)の前記優先度を変更するOS優先度変更装置において、
    割込みの要因と、前記割込みを処理するOSと、前記OSが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
    前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記OSの前記優先度を前記対応情報の示す前記優先度に変更するOS優先度変更部と
    記OS優先度変更部によって変更された前記優先度に従って、前記OSの実行順序を制御するOS実行順序制御部と、
    報を格納する情報格納部と、
    カウントを指示する指示信号を受信すると、予め設定された期間をカウントするタイマー部と
    を備え、
    前記OS優先度変更部は、
    前記複数のOSの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記OSの前記記憶優先度を前記対応情報の示す前記優先度に変更するとともに前記指示信号を前記タイマー部に送信し、かつ、変更された前記記憶優先度に従って前記OSの実行順序を前記OS実行順序制御部に制御させるとともに、前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部に格納し、
    前記OS優先度変更装置は、さらに、
    前記タイマー部が前記予め設定された期間のカウントを終了すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記OSの実行順序を前記OS実行順序制御部に制御させるOS優先度復元部を
    備えたことを特徴とするOS優先度変更装置。
  4. 実行するべき優先度が予め指定されている複数のOS(Operating system:以下、OSという)の前記優先度を変更するコンピュータであるOS優先度変更装置
    割込みの要因と、前記割込みを処理するOSと、前記OSが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部、
    前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記OSの前記優先度を前記対応情報の示す前記優先度に変更するOS優先度変更部
    前記OS優先度変更部によって変更された前記優先度に従って、前記OSの実行順序を制御するOS実行順序制御部、
    情報を格納する情報格納部
    して機能させ、
    前記OS優先度変更部は、
    前記複数のOSの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記OSの前記記憶優先度を前記対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記OSの実行順序を前記OS実行順序制御部に制御させるとともに、前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部に格納し、
    前記複数のOSのそれぞれは、
    前記割込みを処理する場合には、前記割込みの処理完了を示す完了信号を予め設定されたタイミングで出力し、
    コンピュータである前記OS優先度変更装置、さらに、
    前記割込みが発生した場合における前記割込みに対応する前記OSから前記完了信号を受信する完了信号受信部、
    前記完了信号受信部が前記完了信号を受信すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記OSの実行順序を前記OS実行順序制御部に制御させるOS優先度復元部、
    として機能させるためのOS優先度変更プログラム。
  5. 実行するべき優先度が予め指定されている複数のOS(Operating system:以下、OSという)の前記優先度を変更するコンピュータであるOS優先度変更装置
    割込みの要因と、前記割込みを処理するOSと、前記OSが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部、
    前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記OSの前記優先度を前記対応情報の示す前記優先度に変更するOS優先度変更部、
    前記OS優先度変更部によって変更された前記優先度に従って、前記OSの実行順序を制御するOS実行順序制御部、
    情報を格納する情報格納部、
    カウントを指示する指示信号を受信すると、予め設定された期間をカウントするタイマー部
    して機能させ
    前記OS優先度変更部は、
    前記複数のOSの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記OSの前記記憶優先度を前記対応情報の示す前記優先度に変更するとともに前記指示信号を前記タイマー部に送信し、かつ、変更された前記記憶優先度に従って前記OSの実行順序を前記OS実行順序制御部に制御させるとともに、前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部に格納し、
    コンピュータである前記OS優先度変更装置、さらに、
    前記タイマー部が前記予め設定された期間のカウントを終了すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記OSの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記OSの実行順序を前記OS実行順序制御部に制御させるOS優先度復元部
    として機能させるためのOS優先度変更プログラム。
JP2008015294A 2008-01-25 2008-01-25 Os優先度変更装置及びos優先度変更プログラム Expired - Fee Related JP5014179B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008015294A JP5014179B2 (ja) 2008-01-25 2008-01-25 Os優先度変更装置及びos優先度変更プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008015294A JP5014179B2 (ja) 2008-01-25 2008-01-25 Os優先度変更装置及びos優先度変更プログラム

Publications (2)

Publication Number Publication Date
JP2009176139A JP2009176139A (ja) 2009-08-06
JP5014179B2 true JP5014179B2 (ja) 2012-08-29

Family

ID=41031136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008015294A Expired - Fee Related JP5014179B2 (ja) 2008-01-25 2008-01-25 Os優先度変更装置及びos優先度変更プログラム

Country Status (1)

Country Link
JP (1) JP5014179B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101475640B1 (ko) 2010-10-22 2014-12-22 미쓰비시덴키 가부시키가이샤 인터럽트 신호 접수 장치 및 컴퓨터 장치
JP5648544B2 (ja) 2011-03-15 2015-01-07 富士通株式会社 スケジューリングプログラム、および情報処理装置
JP5933356B2 (ja) 2012-06-12 2016-06-08 ルネサスエレクトロニクス株式会社 コンピュータシステム
US9396012B2 (en) * 2013-03-14 2016-07-19 Qualcomm Incorporated Systems and methods of using a hypervisor with guest operating systems and virtual processors
KR102303417B1 (ko) 2015-06-19 2021-09-23 삼성전자주식회사 복수의 운영 체제를 지원하는 전자 장치 제어 방법
JP6615726B2 (ja) 2016-09-16 2019-12-04 株式会社東芝 情報処理装置、情報処理方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0193830A (ja) * 1987-10-05 1989-04-12 Nec Corp 仮想計算機システムにおける割り込み制御方式
JP2006004092A (ja) * 2004-06-16 2006-01-05 Denso Corp コンピュータシステム

Also Published As

Publication number Publication date
JP2009176139A (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
EP2598993B1 (en) Providing application high availability in highly-available virtual machine environments
JP5873489B2 (ja) ゲスト仮想機械とやり取りするための方法およびシステム
EP3678023B1 (en) Method and device for handling timeout of system service
US8443363B1 (en) Coordinated virtualization activities
US9477501B2 (en) Encapsulation of an application for virtualization
US9122503B1 (en) Systems and methods for adaptive throttling of input/output requests in a virtual environment
US8335942B2 (en) Hang recovery in software applications
JP5014179B2 (ja) Os優先度変更装置及びos優先度変更プログラム
US20140007103A1 (en) Concurrent execution of a computer software application along multiple decision paths
US10452469B2 (en) Server performance correction using remote server actions
US10540498B2 (en) Technologies for hardware assisted native malware detection
US8453013B1 (en) System-hang recovery mechanisms for distributed systems
US10430261B2 (en) Detecting a guest operating system crash on a virtual computing instance
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
US8307246B2 (en) Real time monitoring of computer for determining speed of various processes
CN112988433B (zh) 用于故障管理的方法、设备和计算机程序产品
US20160170912A1 (en) Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels
US9535772B2 (en) Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
JP4761229B2 (ja) 運用管理装置、運用管理方法ならびにプログラム
US9176806B2 (en) Computer and memory inspection method
JP2019168845A (ja) 情報処理装置とその制御方法
US20210004316A1 (en) Information processing device, information processing method, and computer readable medium
JP5564466B2 (ja) 仮想化装置、仮想化装置制御方法、仮想化装置制御プログラム
KR20200054040A (ko) 모바일 os 가상화 기반의 보안 제공 장치 및 이를 위한 방법
KR20160134249A (ko) 파일 송신 차단 방법 및 그 기능이 구비된 컴퓨팅 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120328

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

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

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees