【手続補正書】
【提出日】令和1年7月8日(2019.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のコアを備える１つの物理計算機上で複数の仮想計算機が動作する仮想化システムであって、
複数のハードウェア（１３ａ、１３ｂ、１３ｃ、１３ｄ）と、
複数の前記ハードウェアのそれぞれの動作を制御するための前記コアであるハードウェア制御コア（１１ｘ）と、
前記仮想計算機のＯＳであるゲストＯＳが動作するための前記コアである複数の仮想計算機コア（１１ａ、１１ｂ、１１ｃ）と、
前記ハードウェア制御コア及び複数の前記仮想計算機コアのそれぞれが同時並行的にアクセス可能なメモリである共有メモリ（１２）と、を備え、
１つの前記仮想計算機は、１つ又は複数の前記仮想計算機コアを専有して動作するように設定されており、
前記ハードウェア制御コアは、複数の前記ハードウェアのそれぞれに対応するデバイスドライバを実行することによって、複数の前記ハードウェアのそれぞれの動作を制御するデバイスドライバ部（Ｆ２）を備え、
前記ゲストＯＳは、デバイスドライバを備えておらず、前記デバイスドライバ部を用いてハードウェアを使用するものであり、
前記ハードウェア制御コアと前記仮想計算機コアとの通信は、前記共有メモリへのデータ保存及び当該保存されたデータの読出によって実現され、
前記デバイスドライバ部は、前記仮想計算機が前記共有メモリに保存したデータに基づいて前記ハードウェアの動作を制御するとともに、前記ハードウェアから入力されたデータを前記共有メモリに保存することによって前記仮想計算機コアに提供する仮想化システム。
【請求項２】
請求項１に記載の仮想化システムであって、
前記共有メモリとして、
前記ハードウェア制御コアから前記仮想計算機コアに向けたデータが保存されるアップリンクメモリ（Ｍ２）と、
前記仮想計算機コアから前記ハードウェア制御コアに向けたデータが保存されるダウンリンクメモリ（Ｍ１）と、を前記仮想計算機コア毎に備え、
前記ハードウェア制御コアは、前記アップリンクメモリへのデータ保存は実行可能に設定されている一方、前記ダウンリンクメモリへのデータ保存は禁止されており、
前記仮想計算機コアは、前記ダウンリンクメモリへのデータ保存は実行可能に設定されている一方、前記アップリンクメモリへのデータ保存は禁止されている仮想化システム。
【請求項３】
複数のコアを備える１つの物理計算機上で複数の仮想計算機が動作する仮想化システムであって、
複数のハードウェア（１３ａ、１３ｂ、１３ｃ、１３ｄ）と、
複数の前記ハードウェアのそれぞれの動作を制御するための前記コアであるハードウェア制御コア（１１ｘ）と、
前記仮想計算機のＯＳであるゲストＯＳが動作するための前記コアである複数の仮想計算機コア（１１ａ、１１ｂ、１１ｃ）と、
前記ハードウェア制御コア及び複数の前記仮想計算機コアのそれぞれが同時並行的にアクセス可能なメモリである共有メモリ（１２）と、を備え、
１つの前記仮想計算機は、１つ又は複数の前記仮想計算機コアを専有して動作するように設定されており、
前記ハードウェア制御コアは、複数の前記ハードウェアのそれぞれに対応するデバイスドライバを実行することによって、複数の前記ハードウェアのそれぞれの動作を制御するデバイスドライバ部（Ｆ２）を備え、
前記ハードウェア制御コアと前記仮想計算機コアとの通信は、前記共有メモリへのデータ保存及び当該保存されたデータの読出によって実現され、
前記デバイスドライバ部は、前記仮想計算機が前記共有メモリに保存したデータに基づいて前記ハードウェアの動作を制御するとともに、前記ハードウェアから入力されたデータを前記共有メモリに保存することによって前記仮想計算機コアに提供し、
前記共有メモリとして、
前記ハードウェア制御コアから前記仮想計算機コアに向けたデータが保存されるアップリンクメモリ（Ｍ２）と、
前記仮想計算機コアから前記ハードウェア制御コアに向けたデータが保存されるダウンリンクメモリ（Ｍ１）と、を前記仮想計算機コア毎に備え、
前記ハードウェア制御コアは、前記アップリンクメモリへのデータ保存は実行可能に設定されている一方、前記ダウンリンクメモリへのデータ保存は禁止されており、
前記仮想計算機コアは、前記ダウンリンクメモリへのデータ保存は実行可能に設定されている一方、前記アップリンクメモリへのデータ保存は禁止されている仮想化システム。
【請求項４】
請求項１から３の何れか１項に記載の仮想化システムであって、
前記ハードウェア制御コアは、
前記デバイスドライバ部が前記ハードウェアから取得したデータを前記共有メモリに保存するとともに、前記共有メモリにデータを保存した場合には、前記共有メモリに保存されているデータを読み出すように要求する割込み信号を前記仮想計算機コアに出力する制御側保存処理部（Ｆ１２）と、
前記仮想計算機コアから前記割込み信号が入力されたことに基づいて、前記共有メモリに保存されているデータを読み出す制御側読出部（Ｆ１１）と、を備え、
前記仮想計算機コアは、
前記制御側保存処理部から出力される前記割込み信号を受信したことに基づいて、前記共有メモリに保存されているデータを読み出す仮想計算機側読出部（Ｇ１１）と、
前記仮想計算機側読出部が読み出したデータを用いて所定の演算処理を実行するとともに、前記演算処理の結果として前記ハードウェアに向けたデータを出力する処理実行部（Ｇ２）と、
前記処理実行部から出力されたデータを前記共有メモリに保存するとともに、前記共有メモリにデータを保存した場合には前記割込み信号を前記ハードウェア制御コアに出力する仮想計算機側保存処理部（Ｇ１２）と、を備える仮想化システム。
【請求項５】
請求項１から４の何れか１項に記載の仮想化システムであって、
前記物理計算機は車両に搭載されて使用される計算機であって、
前記ゲストＯＳは、前記車両に搭載されている所定の電子機器を制御するためのＯＳ、又は、車両外部との通信に係る機能を提供するＯＳである仮想化システム。
【請求項６】
請求項５に記載の仮想化システムであって、
前記デバイスドライバは、隠匿されたソースコードで実装されている仮想化システム。
【請求項７】
複数のコアと、複数のハードウェアを備える物理層と、ランダムアクセスメモリを備える物理計算機を、請求項１から６の何れか１項に記載の前記仮想化システムとして動作させるプログラムであって、
複数の前記コアのうちの１つを前記ハードウェア制御コアに設定するとともに、残りの前記コアを前記仮想計算機コアに設定するコア割当部（Ｐｍ１１）と、
前記ランダムアクセスメモリが備える記憶領域の一部又は全部を前記共有メモリに設定する共有メモリ設定部（Ｐｍ１２）と、を備える仮想化プログラム。
【請求項８】
複数のコアと、ランダムアクセスメモリと、複数のハードウェアを備える物理層と、を備える物理計算機を、請求項１から６の何れか１項に記載の前記仮想化システムとして動作させるプログラムであって、複数の前記コアのうちの１つを前記ハードウェア制御コアに設定するとともに、残りの前記コアを前記仮想計算機コアに設定するコア割当部（Ｐｍ１１）と、前記ランダムアクセスメモリが備える記憶領域の一部又は全部を前記共有メモリに設定する共有メモリ設定部（Ｐｍ１２）と、を備えるプログラムを記憶している記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
その目的を達成するための本発明における第１の仮想化システムは、複数のコアを備える１つの物理計算機上で複数の仮想計算機が動作する仮想化システムであって、複数のハードウェア（１３ａ、１３ｂ、１３ｃ、１３ｄ）と、複数のハードウェアのそれぞれの動作を制御するためのコアであるハードウェア制御コア（１１ｘ）と、仮想計算機のＯＳであるゲストＯＳが動作するためのコアである複数の仮想計算機コア（１１ａ、１１ｂ、１１ｃ）と、ハードウェア制御コア及び複数の仮想計算機コアのそれぞれが同時並行的にアクセス可能なメモリである共有メモリ（１２）と、を備え、１つの仮想計算機は、１つ又は複数の仮想計算機コアを専有して動作するように設定されており、ハードウェア制御コアは、複数のハードウェアのそれぞれに対応するデバイスドライバを実行することによって、複数のハードウェアのそれぞれの動作を制御するデバイスドライバ部（Ｆ２）を備え、ゲストＯＳは、デバイスドライバを備えておらず、デバイスドライバ部を用いてハードウェアを使用するものであり、ハードウェア制御コアと仮想計算機コアとの通信は、共有メモリへのデータ保存及び当該保存されたデータの読出によって実現され、デバイスドライバ部は、仮想計算機が共有メモリに保存したデータに基づいてハードウェアの動作を制御するとともに、ハードウェアから入力されたデータを共有メモリに保存することによって仮想計算機コアに提供する。
その目的を達成するための本発明における第２の仮想化システムは、複数のコアを備える１つの物理計算機上で複数の仮想計算機が動作する仮想化システムであって、複数のハードウェア（１３ａ、１３ｂ、１３ｃ、１３ｄ）と、複数のハードウェアのそれぞれの動作を制御するためのコアであるハードウェア制御コア（１１ｘ）と、仮想計算機のＯＳであるゲストＯＳが動作するためのコアである複数の仮想計算機コア（１１ａ、１１ｂ、１１ｃ）と、ハードウェア制御コア及び複数の仮想計算機コアのそれぞれが同時並行的にアクセス可能なメモリである共有メモリ（１２）と、を備え、１つの仮想計算機は、１つ又は複数の仮想計算機コアを専有して動作するように設定されており、ハードウェア制御コアは、複数のハードウェアのそれぞれに対応するデバイスドライバを実行することによって、複数のハードウェアのそれぞれの動作を制御するデバイスドライバ部（Ｆ２）を備え、ハードウェア制御コアと仮想計算機コアとの通信は、共有メモリへのデータ保存及び当該保存されたデータの読出によって実現され、デバイスドライバ部は、仮想計算機が共有メモリに保存したデータに基づいてハードウェアの動作を制御するとともに、ハードウェアから入力されたデータを共有メモリに保存することによって仮想計算機コアに提供し、共有メモリとして、ハードウェア制御コアから仮想計算機コアに向けたデータが保存されるアップリンクメモリ（Ｍ２）と、仮想計算機コアからハードウェア制御コアに向けたデータが保存されるダウンリンクメモリ（Ｍ１）と、を仮想計算機コア毎に備え、ハードウェア制御コアは、アップリンクメモリへのデータ保存は実行可能に設定されている一方、ダウンリンクメモリへのデータ保存は禁止されており、仮想計算機コアは、ダウンリンクメモリへのデータ保存は実行可能に設定されている一方、アップリンクメモリへのデータ保存は禁止されている。