(57)【特許請求の範囲】
【請求項１】
実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：以下、ＯＳという）の前記優先度を変更するＯＳ優先度変更装置において、
割込みの要因と、前記割込みを処理するＯＳと、前記ＯＳが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記ＯＳの前記優先度を前記対応情報の示す前記優先度に変更するＯＳ優先度変更部と、
前記ＯＳ優先度変更部によって変更された前記優先度に従って、前記ＯＳの実行順序を制御するＯＳ実行順序制御部と、
情報を格納する情報格納部とを備え、
前記ＯＳ優先度変更部は、
前記複数のＯＳの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記ＯＳの前記記憶優先度を前記対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるとともに、前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部に格納し、
前記複数のＯＳのそれぞれは、
前記割込みを処理する場合には、前記割込みの処理完了を示す完了信号を予め設定されたタイミングで出力し、
前記ＯＳ優先度変更装置は、さらに、
前記割込みが発生した場合における前記割込みに対応する前記ＯＳから前記完了信号を受信する完了信号受信部と、
前記完了信号受信部が前記完了信号を受信すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるＯＳ優先度復元部と
を備えたことを特徴とするＯＳ優先度変更装置。
【請求項２】
前記複数のＯＳは、
所定のデータを送信する送信側ＯＳと、前記送信側ＯＳから前記所定のデータを受信する受信側ＯＳとを含み、
前記送信側ＯＳは、
前記データを送信しようとするときに、送信を要求する送信要求信号を出力し、
前記ＯＳ優先度変更装置は、さらに、
前記送信側ＯＳから前記送信要求信号を受信するとともに、前記送信要求信号の受信を契機として、ソフトウェア割込みを発生するソフトウェア割込み発生部を備え、
前記対応情報記憶部は、
前記ソフトウェア割込みと、前記ソフトウェア割込みを処理するＯＳである前記受信側ＯＳと、前記受信側ＯＳが前記ソフトウェア割込みを処理する場合の優先度とが対応付けされた対応情報であるソフトウェア割込み対応情報を記憶しており、
前記ＯＳ優先度変更部は、
前記ソフトウェア割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記ソフトウェア割込みに対応する前記受信側ＯＳの前記記憶優先度を前記ソフトウェア割込み対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記受信側ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるとともに、前記ソフトウェア割込み対応情報の示す前記優先度に変更される前記受信側ＯＳの変更前の前記記憶優先度を前記情報格納部に格納し、
前記受信側ＯＳは、
前記ソフトウェア割込みを処理する場合には、前記ソフトウェア割込みの処理完了を示すソフトウェア割込み完了信号を予め設定されたタイミングで出力し、
前記完了信号受信部は、
前記受信側ＯＳから前記ソフトウェア割込み完了信号を受信し、
前記ＯＳ優先度復元部は、
前記完了信号受信部が前記ソフトウェア割込み完了信号を受信すると、前記情報格納部に格納されている前記受信側ＯＳの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記受信側ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させることを特徴とする請求項１記載のＯＳ優先度変更装置。
【請求項３】
実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：以下、ＯＳという）の前記優先度を変更するＯＳ優先度変更装置において、
割込みの要因と、前記割込みを処理するＯＳと、前記ＯＳが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記ＯＳの前記優先度を前記対応情報の示す前記優先度に変更するＯＳ優先度変更部と、
前記ＯＳ優先度変更部によって変更された前記優先度に従って、前記ＯＳの実行順序を制御するＯＳ実行順序制御部と、
情報を格納する情報格納部と、
カウントを指示する指示信号を受信すると、予め設定された期間をカウントするタイマー部と
を備え、
前記ＯＳ優先度変更部は、
前記複数のＯＳの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記ＯＳの前記記憶優先度を前記対応情報の示す前記優先度に変更するとともに前記指示信号を前記タイマー部に送信し、かつ、変更された前記記憶優先度に従って前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるとともに、前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部に格納し、
前記ＯＳ優先度変更装置は、さらに、
前記タイマー部が前記予め設定された期間のカウントを終了すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるＯＳ優先度復元部を
備えたことを特徴とするＯＳ優先度変更装置。
【請求項４】
実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：以下、ＯＳという）の前記優先度を変更するコンピュータであるＯＳ優先度変更装置を、
割込みの要因と、前記割込みを処理するＯＳと、前記ＯＳが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記ＯＳの前記優先度を前記対応情報の示す前記優先度に変更するＯＳ優先度変更部、
前記ＯＳ優先度変更部によって変更された前記優先度に従って、前記ＯＳの実行順序を制御するＯＳ実行順序制御部、
情報を格納する情報格納部、
として機能させ、
前記ＯＳ優先度変更部は、
前記複数のＯＳの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記ＯＳの前記記憶優先度を前記対応情報の示す前記優先度に変更し、かつ、変更された前記記憶優先度に従って前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるとともに、前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部に格納し、
前記複数のＯＳのそれぞれは、
前記割込みを処理する場合には、前記割込みの処理完了を示す完了信号を予め設定されたタイミングで出力し、
コンピュータである前記ＯＳ優先度変更装置を、さらに、
前記割込みが発生した場合における前記割込みに対応する前記ＯＳから前記完了信号を受信する完了信号受信部、
前記完了信号受信部が前記完了信号を受信すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるＯＳ優先度復元部、
として機能させるためのＯＳ優先度変更プログラム。
【請求項５】
実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：以下、ＯＳという）の前記優先度を変更するコンピュータであるＯＳ優先度変更装置を、
割込みの要因と、前記割込みを処理するＯＳと、前記ＯＳが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記ＯＳの前記優先度を前記対応情報の示す前記優先度に変更するＯＳ優先度変更部、
前記ＯＳ優先度変更部によって変更された前記優先度に従って、前記ＯＳの実行順序を制御するＯＳ実行順序制御部、
情報を格納する情報格納部、
カウントを指示する指示信号を受信すると、予め設定された期間をカウントするタイマー部、
として機能させ、
前記ＯＳ優先度変更部は、
前記複数のＯＳの前記優先度を記憶優先度として記憶する優先度記憶部を備え、前記割込みが発生すると、前記優先度記憶部に記憶された前記記憶優先度のうち前記割込みに対応する前記ＯＳの前記記憶優先度を前記対応情報の示す前記優先度に変更するとともに前記指示信号を前記タイマー部に送信し、かつ、変更された前記記憶優先度に従って前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるとともに、前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部に格納し、
コンピュータである前記ＯＳ優先度変更装置を、さらに、
前記タイマー部が前記予め設定された期間のカウントを終了すると、前記対応情報の示す前記優先度に変更された前記割込みに対応する前記ＯＳの変更前の前記記憶優先度を前記情報格納部から取得し、取得した変更前の前記記憶優先度によって、前記割込みに対応する前記ＯＳの実行順序を前記ＯＳ実行順序制御部に制御させるＯＳ優先度復元部、
として機能させるためのＯＳ優先度変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）の前記優先度を変更するＯＳ優先度変更装置に関するものである。
【背景技術】
【０００２】
近年、計算機の高性能化に伴い、単一もしくは複数のプロセッサを含む１つの計算機上で複数の仮想計算機（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を実現し、その上でオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を動作させることが注目されている。その一例として、制御プログラムを動作させるリアルタイムＯＳと、多機能で豊富なソフトウェア資産を持つＷｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）のような汎用ＯＳを同時に動作させることにより、各ＯＳの特長を活かした高機能なシステムを１つの計算機で実現することが可能である。
【０００３】
上記のように１つの計算機に含まれる単一もしくは複数のプロセッサ上で複数のＯＳを動作させる仮想計算機システムにおいて、従来の仮想計算機システムの実行制御方式は、ＯＳ毎の実行状態や、予め割り当てられたＯＳ毎の実行優先度、ＯＳにおいて実行可能なタスクのタスク優先度、ＯＳ毎のタイムスライス実行時間などに基づいて優先度の高いＯＳを選択することによって、ＯＳ毎の実行順序を決定し、制御していた（例えば、特許文献１）。このようにして、優先度の高いＯＳを優先的に実行することにより、リアルタイムＯＳとリアルタイム性を要求しない汎用ＯＳといった性質の異なる複数のＯＳの共存を実現していた。
【特許文献１】特開２０００−３４７８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の仮想計算機システムの実行制御方式においては、次に実行する優先度の高いＯＳを選択する際、ＯＳ毎の実行状態やＯＳにおいて実行可能なタスクのタスク優先度などのＯＳ内部情報を実行制御部が知る必要がある。しかしながら、仮想計算機システムの実行制御部（一般的に仮想マシンモニタと呼ぶ）がＯＳ内部情報を知り得るには、ＯＳから仮想マシンモニタへＯＳ内部情報を通知するようにＯＳのプログラムを変更したり、ＯＳ内部情報が格納された記憶領域を仮想マシンモニタが直接参照したりする必要があるが、ＯＳのソースプログラムやＯＳ内部情報の格納箇所を開示していないＯＳについては、この方式を利用することができないという課題があった。
【０００５】
この発明は、ＯＳのプログラムを変更したり、ＯＳ内部情報を参照したりすることなく、各ＯＳに含まれる優先度の高い処理を優先して処理可能な仮想計算機システムを実現することを目的とする。
【課題を解決するための手段】
【０００６】
この発明のＯＳ優先度変更装置は、
実行するべき優先度が予め指定されている複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：以下、ＯＳという）の前記優先度を変更するＯＳ優先度変更装置において、
割込みの要因と、前記割込みを処理するＯＳと、前記ＯＳが前記割込みを処理する場合の優先度とが対応付けされた対応情報を記憶した対応情報記憶部と、
前記割込みが発生すると、前記対応情報記憶部に記憶された前記対応情報に従って、前記割込みに対応する前記ＯＳの前記優先度を前記対応情報の示す前記優先度に変更するＯＳ優先度変更部と
を備えたことを特徴とする。
【発明の効果】
【０００７】
この発明により、ＯＳのプログラムを変更したりＯＳ内部情報を参照したりすることなく、各ＯＳに含まれる優先度の高い処理を優先して処理可能な装置を提供できる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、コンピュータで実現される仮想計算機システム１の外観の一例を示す図である。図１において、仮想計算機システム１は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【０００９】
図２は、コンピュータで実現される仮想計算機システム１のハードウェア資源の一例を示す図である。図２において、仮想計算機システム１は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００１０】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１１】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１２】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１３】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１４】
ファイル群８２４には、以下に述べる実施の形態の説明において、「対応情報」、「現在の優先度」などとして説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１５】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１６】
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１７】
図３は、実施の形態１を示す仮想計算機システムの実行制御方式の構成図である。図３において、
（１）仮想計算機システム１は、単一もしくは複数のプロセッサ、メモリなどから構成される。
（２）ハードウェア２は、仮想計算機システム１に含まれる。
（３）仮想マシン３は、仮想計算機システム１内に複数存在し、独立した仮想的なハードウェア環境を提供する。
（４）ＯＳ４は、仮想マシン３上で動作する。
（５）アプリケーションプログラム５は、ＯＳ４上で動作する。
（６）仮想マシンモニタ６（ＯＳ優先度変更装置）は、仮想マシン上で動作するＯＳなどのプログラムの実行を制御する。
（７）割込み受付部７は、仮想マシンモニタ６の一機能として、ハードウェア２から割込みが発生すると実行される。
（８）ＯＳスケジューラ８（ＯＳ実行順序制御部）は、仮想マシンモニタ６の一機能として、ＯＳ４の実行順序を決定し、次に実行すべきＯＳにプロセッサ資源を割り当てる（ディスパッチする）。このように、ＯＳ４は仮想マシンの構成要素の一つである仮想ＣＰＵ上で動作するため、ＯＳスケジューラ８を仮想ＣＰＵスケジューラと呼ぶこともある。
（９）割込み対ＯＳ優先度管理領域９（対応情報記憶部）は、割込み要因とその割込みを処理するＯＳのＯＳ優先度の対応付け（対応情報ともいう）を記憶する領域（記憶部）である。この「対応情報」は、割込みの要因と、この割込みを処理するＯＳと、このＯＳが割込みを処理する場合の優先度とが対応付けされている。図４は、割込み対ＯＳ優先度管理領域９の「対応情報」の一例を図示したものである。
（１０）ＯＳ優先度変更部１０は、割込み発生時に、割込み対ＯＳ優先度管理領域９に格納された情報に従って、ＯＳの優先度を変更する。
【００１８】
（動作１）
図５は、実施の形態１の仮想計算機システムの動作１を示すフローチャートである。図５を参照して実施の形態１の仮想計算機システムの動作１を説明する。
【００１９】
ハードウェア２に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ６の割込み受付部７が実行される（Ｓ１０１）。
【００２０】
割込み受付部７は、一般的な仮想マシンモニタ６の処理として、発生した割込みを処理するＯＳを選択し、選択したＯＳに対して割込みの発生とその要因を通知する。
その後、割込み受付部７はＯＳ優先度変更部１０を呼び出す（Ｓ１０２）。
【００２１】
ＯＳ優先度変更部１０は、割込み対ＯＳ優先度管理領域９から発生した割込み要因をもとに実行するＯＳの優先度を取得する（Ｓ１０３）。
【００２２】
次にＯＳ優先度変更部１０は、ＯＳスケジューラ８が一般的に持っている優先度変更機能を呼び出し、ＯＳ優先度を割込み対ＯＳ優先度管理領域９から取得した優先度に変更する（Ｓ１０４）。
【００２３】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）が、その点に関しては一般的な優先度ベースのスケジューリングアルゴリズムを適用するものとし、ここでは言及しない。
【００２４】
以上のように本実施の形態１の仮想マシンモニタ６は、予め決められたＯＳ優先度ではなく、発生した割込み要因に応じてＯＳの優先度を変更し、その結果をもとにＯＳスケジューラ８がＯＳをディスパッチするようにしている。このため、ＯＳのプログラムを変更したり、ＯＳ内部情報を参照したりすることなく、割込みを起点として各ＯＳに含まれる優先度の高い処理を優先して処理することができる。
【００２５】
なお、本実施の形態１では仮想計算機システムを例として挙げているが、仮想的なハードウェア環境を提供しないマルチＯＳ環境においても適用可能であり、同様の効果を得ることができる。
【００２６】
また、割込み対ＯＳ優先度管理領域９に格納される割込み要因のうち、ハードウェアに何らかの障害が発生した場合に発生する割込みについて、システムで高い優先度で動作するようなＯＳ優先度を設定しておくことにより、障害が発生したハードウェアを用いているＯＳを、他のＯＳよりも優先して動作させることが可能となる。これにより、速やかに障害検知時の処理、例えば運用管理サーバへ障害が発生したことを通知するなどを行うことができるため、システム全体に障害の影響が波及することを防ぐことが可能となり、システムの信頼性を上げることができる。
【００２７】
実施の形態２．
以上の実施の形態１では、割込み発生時に、その割込み要因に応じたＯＳ優先度にＯＳの優先度を変更し、次に実行すべきＯＳを決定していたが、当該割込み処理完了後も、次に同一のＯＳに対する別の割込み要因の割込みが発生するまで変更後のＯＳ優先度で動作してしまい、結果として他に優先すべき割込み処理が発生しても優先して実行できないという点があった。これを解決するため、次にＯＳの優先度を変更する期間を限定する実施の形態を示す。
【００２８】
図６は、このような実施の形態２の仮想計算機システムの実行制御方式の構成図である。図３と同一符号は同一又は相当部分を示し説明を省略する。
【００２９】
図６において、
（１）ＯＳ優先度保存領域１１（情報格納部）は、ＯＳ優先度変更部１０がＯＳ優先度を変更する前のＯＳ優先度を退避しておく格納部である。
（２）割込み完了受付部１２（完了信号受信部）は、ＯＳ４が割込み完了命令を実行したのを受け、実行される。
（３）ＯＳ優先度復元部１３は、割込み完了受付部１２から呼び出され、ＯＳ優先度保存領域１１に退避されたＯＳ優先度にＯＳの優先度を戻す。
（４）ＯＳ優先度変更部１０は、優先度記憶部１０１を備えている。優先度記憶部１０１は、複数のＯＳ（図６ではＯＳ−Ａ，ＯＳ−Ｂ、ＯＳ−Ｃ）の現在の優先度を記憶している。後述する動作２のように、ＯＳ優先度変更部１０は、割込みが発生すると、優先度記憶部１０１に記憶されている優先度のうち前記割込みに対応するＯＳの現在の優先度を割込み対ＯＳ優先度管理領域９に記憶されている対応情報の示す優先度に変更する。同時にＯＳ優先度変更部１０は、変更された優先度に従って前記ＯＳの実行順序をＯＳスケジューラ８に制御させるとともに、前記割込みに対応する前記ＯＳの前記現在の優先度をＯＳ優先度保存領域１１に退避する。
【００３０】
図７はＯＳ優先度保存領域１１の一例を図示したものである。
【００３１】
（動作２）
図８は、実施の形態２の仮想計算機システムの動作２を示すフローチャートである。図８を参照して実施の形態２の仮想計算機システムの動作２を説明する。
【００３２】
ハードウェア２に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ６の割込み受付部７が実行される（Ｓ１０１）。
【００３３】
割込み受付部７は、一般的な仮想マシンモニタ６の処理として、発生した割込みを処理するＯＳを選択し、選択したＯＳに対して割込みの発生とその要因を通知する。その後、割込み受付部７はＯＳ優先度変更部１０を呼び出す（Ｓ１０２）。
【００３４】
ＯＳ優先度変更部１０は、割込み対ＯＳ優先度管理領域９から発生した割込み要因をもとに実行するＯＳの優先度を取得する（Ｓ１０３）。
【００３５】
次にＯＳ優先度変更部１０は、変更対象のＯＳの現在の優先度をＯＳ優先度保存領域１１に保存する（Ｓ２０１）。即ち、ＯＳ優先度変更部１０は、優先度記憶部１０１に記憶されている前記割込みに対応する前記ＯＳの現在の優先度をＯＳ優先度保存領域１１に退避する。
【００３６】
さらにＯＳ優先度変更部１０は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度を割込み対ＯＳ優先度管理領域９から取得した優先度に変更する（Ｓ１０４）。即ち、ＯＳ優先度変更部１０は、割込みが発生すると、優先度記憶部１０１に記憶されている優先度のうち前記割込みに対応するＯＳの現在の優先度を割込み対ＯＳ優先度管理領域９に記憶されている対応情報の示す優先度に変更する。そして、ＯＳ優先度変更部１０は、変更された優先度に従って前記ＯＳの実行順序をＯＳスケジューラ８に制御させる。
【００３７】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００３８】
次にＯＳ４にて割込み処理が完了したタイミング（予め設定されたタイミングの一例）で、ＯＳ４（ＯＳ−Ｂ）は、仮想マシンモニタ６の割込み完了受付部１２に対して、割込み完了通知（完了信号の一例）を送信する（Ｓ２０２）。なお、割込み完了通知は、仮想マシンモニタ６が割込み完了命令をトラップするか、仮想マシンモニタ６が提供する呼び出しインタフェース（一般的にハイパーバイザコールと呼ぶ）を発行することにより実現することができる。
【００３９】
割込み完了通知を受けた仮想マシンモニタ６内の割込み完了受付部１２は、ＯＳ優先度復元部１３を呼び出す（Ｓ２０３）。
【００４０】
ＯＳ優先度復元部１３は、ＯＳ優先度保存領域１１に退避しておいた変更前のＯＳ優先度を取得する（Ｓ２０４）。
【００４１】
さらにＯＳ優先度復元部１３は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度をＯＳ優先度保存領域１１から取得した優先度に変更する（Ｓ２０５）。
【００４２】
その後、ＯＳスケジューラ８は、最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００４３】
以上のように本実施の形態２によれば、発生した割込み処理を完了すると、速やかに元のＯＳ優先度に戻すようにしているので、ＯＳの優先度を変更する期間を限定することができ、優先したい処理部分のみＯＳの優先度を上げることができる。
【００４４】
実施の形態３．
以上の実施の形態２では、仮想マシンモニタ６が割込み完了命令をトラップするか、仮想マシンモニタ６のハイパーバイザコールを発行することにより、ＯＳ４から仮想マシンモニタ６へ割込み完了を通知していたが、割込み完了までの処理に加えて、その割込みを契機にして起動されるアプリケーションプログラムまでの処理を優先することができないという点があった。これを解決するため、次にＯＳの優先度を変更する期間を任意の期間にすることが可能な実施の形態を示す。
【００４５】
図９は、このような実施の形態３の仮想計算機システムの実行制御方式の構成図である。図３、図６と同一符号は同一又は相当部分を示し説明を省略する。
【００４６】
図９において、
（１）擬似割込み完了発生部１４は、実際の割込み完了通知ではなく、任意の時点で擬似的に割込み完了通知を発行することが可能である。
（２）擬似割込み完了受付部１５（完了信号受信部）は、擬似割込み完了発生部１４が発行した擬似的な割込み完了通知（完了信号の一例）を受け取る。
【００４７】
（動作３）
図１０は、実施の形態３の仮想計算機システムの動作３を示すフローチャートである。図１０を参照して実施の形態３の仮想計算機システムの動作３を説明する。
【００４８】
ハードウェア２に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ６の割込み受付部７が実行される（Ｓ１０１）。
【００４９】
割込み受付部７は、一般的な仮想マシンモニタ６の処理として、発生した割込みを処理するＯＳを選択し、選択したＯＳに対して割込みの発生とその要因を通知する。その後、割込み受付部７はＯＳ優先度変更部１０を呼び出す（Ｓ１０２）。
【００５０】
ＯＳ優先度変更部１０は、割込み対ＯＳ優先度管理領域９から発生した割込み要因をもとに実行するＯＳの優先度を取得する（Ｓ１０３）。
【００５１】
次にＯＳ優先度変更部１０は、変更対象のＯＳの現在の優先度をＯＳ優先度保存領域１１に保存する（Ｓ２０１）。
【００５２】
さらにＯＳ優先度変更部１０は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度を割込み対ＯＳ優先度管理領域９から取得した優先度に変更する（Ｓ１０４）。
【００５３】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００５４】
次にＯＳ４にて割込み処理および他の優先したいプログラム実行が完了したタイミング（予め設定されたタイミングの一例）で、ＯＳ４の擬似割込み完了発生部１４は、仮想マシンモニタ６の擬似割込み完了受付部１５に対して、擬似割込み完了通知（完了信号の一例）を送信する（Ｓ３０１）。なお、擬似割込み完了通知は、仮想マシンモニタ６がトラップ可能な擬似命令を実行するか、ハイパーバイザコールを発行することにより実現することができる。
【００５５】
擬似割込み完了通知を受けた仮想マシンモニタ６内の擬似割込み完了受付部１５は、ＯＳ優先度復元部１３を呼び出す（Ｓ３０２）。
【００５６】
ＯＳ優先度復元部１３は、ＯＳ優先度保存領域１１に退避しておいた変更前のＯＳ優先度を取得する（Ｓ２０４）。
【００５７】
さらにＯＳ優先度復元部１３は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度をＯＳ優先度保存領域１１から取得した優先度に変更する（Ｓ２０５）。
【００５８】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００５９】
以上のように本実施の形態３によれば、割込み発生後から発生した割込みに対する擬似割込み完了通知を受け取るまでの任意の期間にＯＳの優先度を変更することができるようにしているので、割込み処理に加えて優先したいアプリケーションプログラム処理部分を含めて優先したい処理部分のＯＳの優先度を上げることができる。
【００６０】
実施の形態４．
以上の実施の形態２および実施の形態３では、割込み発生からＯＳ４が割込み完了通知もしくは擬似的な割込み完了通知を行うまでの期間、ＯＳの優先度を変更していたが、次にＯＳ４が明示的に割込み完了通知もしくは擬似割込みを行わずとも、限定した期間のみＯＳの優先度を変更することが可能な実施の形態を示す。
【００６１】
図１１は、このような実施の形態４の仮想計算機システムの実行制御方式の構成図である。図３と同一符号は同一又は相当部分を示し説明を省略する。
【００６２】
図１１において、
経過時間管理部１６（タイマー部）は、ＯＳ優先度変更部１０がＯＳの優先度を変更してからの経過時間を保持している。経過時間管理部１６は、ＯＳ優先度変更部１０から計測の開始を指示する指示信号を受信すると、計測を開始する。
【００６３】
（動作４）
図１２は、実施の形態４の仮想計算機システムの動作４を示すフローチャートである。図１２を参照して実施の形態４の仮想計算機システムの動作４を説明する。
【００６４】
ハードウェア２に含まれるデバイスからプロセッサに対して割込みが発生すると、仮想マシンモニタ６の割込み受付部７が実行される（Ｓ１０１）。
【００６５】
割込み受付部７は、一般的な仮想マシンモニタ６の処理として、発生した割込みを処理するＯＳを選択し、選択したＯＳに対して割込みの発生とその要因を通知する。その後、割込み受付部７は、ＯＳ優先度変更部１０を呼び出す（Ｓ１０２）。
【００６６】
ＯＳ優先度変更部１０は、割込み対ＯＳ優先度管理領域９から発生した割込み要因をもとに、実行するＯＳの優先度を取得する（Ｓ１０３）。
【００６７】
次にＯＳ優先度変更部１０は、変更対象のＯＳの現在の優先度をＯＳ優先度保存領域１１に保存する（Ｓ２０１）。
【００６８】
さらにＯＳ優先度変更部１０は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度を割込み対ＯＳ優先度管理領域９から取得した優先度に変更する（Ｓ１０４）。
【００６９】
次にＯＳ優先度変更部１０は、経過時間管理部１６に対してＯＳ優先度を変更したことを示す通知（カウントを指示する指示信号の一例）を送信する（Ｓ４０１）。経過時間管理部１６では、前記通知（指示信号）を受信すると、予め設定されている所定の時間が経過するまで、その時間を計測する。
【００７０】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００７１】
次に経過時間管理部１６は、任意の時間が経過したことを検知すると、ＯＳ優先度復元部１３を呼び出す（Ｓ４０２）。
【００７２】
ＯＳ優先度復元部１３は、ＯＳ優先度保存領域１１に退避しておいた変更前のＯＳ優先度を取得する（Ｓ２０４）。
【００７３】
さらにＯＳ優先度復元部１３は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度をＯＳ優先度保存領域１１から取得した優先度に変更する（Ｓ２０５）。
【００７４】
その後、ＯＳスケジューラ８は、最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００７５】
なお、経過時間管理部１６が計測する時間についてはシステムに固定的な時間を与えることもできるし、例えば図１３に示すように、割込み対ＯＳ優先度管理領域９に格納しておき、Ｓ４０１の処理時に一緒に経過時間管理部１６に通知することにより、割込み毎に異なる時間を与えることもできる。
【００７６】
以上のように本実施の形態４によれば、割込み発生後から任意の期間にＯＳの優先度を変更することができるようにしているので、仮想マシンモニタ６が割込み完了通知をトラップできない場合やＯＳに当該ハイパーバイザコールの呼出しを埋め込めない場合でも、任意の時間、優先したい処理部分のＯＳの優先度を上げることができる。
【００７７】
実施の形態５．
上述の実施の形態２、あるいは実施の形態３では、割込み発生から仮想マシンモニタ６が割込み完了通知を受け取るまでＯＳ４の優先度を変更していたが、これを利用し、ＯＳ間でセキュアな通信を実現することが可能な実施の形態を示す。
【００７８】
図１４は、このような実施の形態５の仮想計算機システムの実行制御方式の構成図である。図３、図６等と同一符号は同一又は相当部分を示し説明を省略する。
【００７９】
図１４において、
（１）ＯＳ間通信送信部１７は、他の仮想マシン上のＯＳにデータを送信する場合に呼び出される。
（２）ＯＳ間通信受信部１８は、他の仮想マシン上のＯＳからデータを受信する場合に呼び出される。
（３）ＯＳ間通信送信受付部１９（ソフトウェア割込み発生部）は、ＯＳ間通信送信部１７から呼び出される。
（４）ＯＳ間通信受信完了受付部２０（完了信号受信部）は、ＯＳ通信でデータを受信した時に、その受信完了通知（ソフトウェア割込み完了信号）を受け取る。
【００８０】
（動作５）
図１５は、実施の形態５の仮想計算機システムの動作５を示すフローチャートである。図１５を参照して実施の形態５の仮想計算機システムの動作５を説明する。
【００８１】
仮想マシン上で動作しているアプリケーションプログラムＣからＯＳ―Ｃ（送信側ＯＳ）に対してＯＳ間を跨いだデータ送信が要求されると、ＯＳ間通信送信部１７が実行される。ＯＳ間通信送信部１７は、ＯＳ間通信送信受付部１９を呼び出す（Ｓ５０１）。この場合ＯＳ間通信送信部１７は、受信側のＯＳ−Ｂへのデータ送信を要求する送信要求信号をＯＳ間通信送信受付部１９に送信する。
【００８２】
ＯＳ間通信送信受付部１９は、送信要求信号を受信すると、この送信要求信号の受信を契機として、受信側のＯＳ―Ｂ（受信側ＯＳ）にデータを送信することを通知するためにソフトウェア割込みを発生させる。ここまでのＯＳ間通信処理については、仮想計算機システムやマルチＯＳ環境での一般的な手法と同様である。次に、通常のハードウェアからの割込みと同じように、ソフトウェア割込みが発生すると、仮想マシンモニタ６の割込み受付部７が実行される（Ｓ５０２）。
【００８３】
割込み受付部７は、一般的な仮想マシンモニタ６の処理として、発生した割込みを処理するＯＳを選択し、選択したＯＳに対して割込みの発生とその要因を通知する。その後、割込み受付部７はＯＳ優先度変更部１０を呼び出す（Ｓ１０２）。
【００８４】
ＯＳ優先度変更部１０は、割込み対ＯＳ優先度管理領域９から発生した割込み要因をもとに実行するＯＳの優先度を取得する（Ｓ１０３）。
【００８５】
本実施の形態５では、ＯＳ間通信に対するソフトウェア割込みに対応するＯＳ優先度を割込み対ＯＳ優先度管理領域９の対応情報においてシステムで最も高い優先度の値に設定しておくものとする。すなわち、割込み対ＯＳ優先度管理領域９の対応情報には、ソフトウェア割込みと、ソフトウェア割込みを処理するＯＳである受信側ＯＳ―Ｂと、受信側ＯＳ―Ｂがソフトウェア割込みを処理する場合の優先度とが対応付けされているとともに、この優先度はシステムで最も高い値に設定されている。そのため、ここでＯＳ優先度変更部１０が割込み対ＯＳ優先度管理領域９から取得した優先度は最高の優先度となる。次に変更対象のＯＳの現在の優先度をＯＳ優先度保存領域１１に保存する（Ｓ２０１）。
【００８６】
さらにＯＳ優先度変更部１０は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度を割込み対ＯＳ優先度管理領域９から取得した優先度に変更する（Ｓ１０４）。
【００８７】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳ、つまりは受信側のＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００８８】
次に受信側のＯＳ―Ｂにて受信処理が完了すると、ＯＳ―ＢのＯＳ間通信受信部１８より仮想マシンモニタ６のＯＳ間通信受信完了受付部２０に対して、受信完了通知（ソフトウェア割込み完了信号）を送信する（Ｓ５０３）。
【００８９】
次に受信完了通知を受けた仮想マシンモニタ６内のＯＳ間通信受信完了受付部２０が呼び出される（Ｓ５０４）。ＯＳ間通信受信完了受付部２０は受信完了通知を受信すると、ＯＳ優先度復元部１３を呼び出す（Ｓ５０４）。
【００９０】
ＯＳ優先度復元部１３は、ＯＳ優先度保存領域１１に退避しておいた変更前のＯＳ優先度を取得する（Ｓ２０４）。
【００９１】
さらにＯＳ優先度復元部１３は、ＯＳスケジューラ８の優先度変更機能を呼び出し、ＯＳ優先度をＯＳ優先度保存領域１１から取得した優先度に変更する（Ｓ２０５）。
【００９２】
その後、ＯＳスケジューラ８は最も優先度の高いＯＳを選択し、ディスパッチを行う（Ｓ１０５）。
【００９３】
以上のように本実施の形態５によれば、ＯＳ間通信において送信開始から受信完了までの期間、受信側のＯＳの優先度をシステムで最高の優先度にしておくことができるため、送信側ＯＳと受信側ＯＳの実行の間に他のＯＳが実行されるのを防ぐことができる。これを利用することにより、ＯＳ間通信の間に悪意のあるプログラムからデータを参照したり、改ざんされたりすることを防ぐことができ、システムの安全性を高めることができる。
【００９４】
なお、本実施の形態５ではＯＳ間通信に用いるソフトウェア割込みは通常のＯＳ間通信と共通のものであってもよいし、セキュアなＯＳ間通信用に専用のソフトウェア割込みを用いるようにし、ＯＳ間通信送信受付部１９がセキュアなＯＳ間通信の場合のみ、専用のソフトウェア割込みを呼び出すようにしてもよい。
【００９５】
以上の実施の形態１では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
（ａ）割込み要因とその割込みを処理するＯＳのＯＳ優先度の対応付けを記憶した、割込み対ＯＳ優先度管理領域
（ｂ）割込み発生時に割込み対ＯＳ優先度管理領域に格納された情報に従ってＯＳの優先度を変更する、ＯＳ優先度変更部。
【００９６】
以上の実施の形態２では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
（ａ）ＯＳ優先度変更部がＯＳ優先度を変更する前のＯＳ優先度を退避しておくための、ＯＳ優先度保存領域
（ｂ）ＯＳ優先度保存領域１１に退避されたＯＳ優先度にＯＳの優先度を戻す、ＯＳ優先度復元部。
【００９７】
以上の実施の形態３では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
（ａ）任意の時点で擬似的に割込み通知を発行することが可能な、擬似割込み完了発生部
（ｂ）擬似割込み完了発生部１４が発行した擬似的な割込み完了通知を受け取る、擬似割込み完了受付部。
【００９８】
以上の実施の形態４では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
（ａ）ＯＳ優先度変更部がＯＳの優先度を変更してからの経過時間を保持している、経過時間管理部。
【００９９】
以上の実施の形態５では、
以下の手段を備えた仮想計算機システムの実行制御方式を説明した。
（ａ）他の仮想マシン上のＯＳにデータを送信する場合に呼び出され、ソフトウェア割込みを用いて他のＯＳにデータを送信することを通知する、ＯＳ間通信送信受付部
（ｂ）ＯＳ間でデータ受信を完了した場合に呼び出され、データ受信の間変更されていたＯＳ優先度を元に戻すためにＯＳ優先度復元部を呼び出す機能を持つ、ＯＳ間通信受信完了受付部。
【図面の簡単な説明】
【０１００】
【図１】実施の形態１の仮想計算機システムを実現するコンピュータの外観。
【図２】実施の形態１の仮想計算機システムを実現するコンピュータのハードウェア構成。
【図３】実施の形態１の仮想計算機システムのブロック図。
【図４】実施の形態１の割込み対ＯＳ優先度管理領域の例。
【図５】実施の形態１の仮想計算機システムの動作を示すフローチャート。
【図６】実施の形態２の仮想計算機システムのブロック図。
【図７】実施の形態２のＯＳ優先度保存領域の例。
【図８】実施の形態２の仮想計算機システムの動作を示すフローチャート。
【図９】実施の形態３の仮想計算機システムのブロック図。
【図１０】実施の形態３の仮想計算機システムの動作を示すフローチャート。
【図１１】実施の形態４の仮想計算機システムのブロック図。
【図１２】実施の形態４の仮想計算機システムの動作を示すフローチャート。
【図１３】実施の形態４の割込み対ＯＳ優先度管理領域の例。
【図１４】実施の形態５の仮想計算機システムのブロック図。
【図１５】実施の形態５の仮想計算機システムの動作を示すフローチャート。
【符号の説明】
【０１０１】
１  仮想計算機システム、２  ハードウェア、６  仮想マシンモニタ、７  割込み受付部、８  ＯＳスケジューラ、９  割込み対ＯＳ優先度管理領域、１０  ＯＳ優先度変更部、１０１  優先度記憶部、１１  ＯＳ優先度保存領域、１２  割込み完了受付部、１３  ＯＳ優先度復元部、１４  擬似割込み完了発生部、１５  擬似割込み完了受付部、１６  経過時間管理部、１７  ＯＳ間通信送信部、１８  ＯＳ間通信受信部、１９  ＯＳ間通信送信受付部、２０  ＯＳ間通信受信完了受付部、８１０  ＣＰＵ、８１１  ＲＯＭ、８１２  ＲＡＭ、８１３  表示装置、８１４  Ｋ／Ｂ、８１５  マウス、８１６  通信ボード、８１７  ＦＤＤ、８１８  ＣＤＤ、８１９  プリンタ装置、８２０  磁気ディスク装置、８２１  ＯＳ、８２２  ウィンドウシステム、８２３  プログラム群、８２４  ファイル群、８２５  バス、８３０  システムユニット。
【図１】
0005014179.tif 000002
【図２】
0005014179.tif 000003
【図３】
0005014179.tif 000004
【図４】
0005014179.tif 000005
【図５】
0005014179.tif 000006
【図６】
0005014179.tif 000007
【図７】
0005014179.tif 000008
【図８】
0005014179.tif 000009
【図９】
0005014179.tif 000010
【図１０】
0005014179.tif 000011
【図１１】
0005014179.tif 000012
【図１２】
0005014179.tif 000013
【図１３】
0005014179.tif 000014
【図１４】
0005014179.tif 000015
【図１５】
0005014179.tif 000016