JP2017162165A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2017162165A JP2017162165A JP2016045698A JP2016045698A JP2017162165A JP 2017162165 A JP2017162165 A JP 2017162165A JP 2016045698 A JP2016045698 A JP 2016045698A JP 2016045698 A JP2016045698 A JP 2016045698A JP 2017162165 A JP2017162165 A JP 2017162165A
- Authority
- JP
- Japan
- Prior art keywords
- guest
- information processing
- processing apparatus
- unit
- acpi
- 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
- Power Sources (AREA)
Abstract
【課題】仮想環境上で動作する複数のゲストOSからの電源制御要求を適切に処理する。【解決手段】実施形態の情報処理装置は、複数のゲストOSを仮想環境上で動作させる情報処理装置であって、複数のゲストOSの仮想環境上の動作を制御し、ゲストOSに対する情報処理装置のハードウェアの割り当てを示す割当情報を保持する仮想化部と、割当情報に基づいて複数のACPIテーブルを作成するBIOS部と、を備え、仮想化部は、複数のゲストOSのそれぞれに対して、割当情報に基づいて作成されたACPIテーブルを対応させる。【選択図】図1
Description
本発明は情報処理装置、情報処理方法及びプログラムに関する。
近年の一般的なPCでは、複数のCPUコアを持つマルチコアシステムが利用されている。それら複数のCPUを効率的に使うため、アプリケーション及びOSでの対応が進んできている。その中の技術の一つとして、HW(Hardware)仮想化と呼ばれる技術(VMware(登録商標)及びVirtualBox(登録商標)等)が一般化してきている。特に、多数のサーバPCが稼働するデータセンター等では、積極的に本技術が使われている。HW仮想化技術のメリットとして、複数のOSを一台のPCに集約することで、物理的な台数を削減し、設置コスト、電力及び保守費の削減等が挙げられる。
特許文献1には、VMM(Virtual Machine Manager)とACPI(Advanced Configuration and Power Interface)準拠ゲスト・オペレーティング・システム(OS)との間の双方向通信のための方法及び装置、並びに、システム上の競合を管理するための専用のVMを用いた構成が開示されている。
また、ハイパーバイザ型のHW仮想化を組込み機器に応用する動きがあり、TrustONIC(登録商標)及びOpen Kernel Lab等といった組込み機器向けに、重要な性能への影響を極力少なくしたりROM/RAMサイズ削減を実現したりする技術が既に知られている。
しかしながら前述の組込み機器向けの技術は、ARM系CPUに特化したものであり、最近、スマートフォン及び組込み向け等に注力してきているx86ではそもそも動作しないといった問題がある。また、x86特有の問題としてBIOS(Basic Input/Output System)と呼ばれるソフトウェアがハイパーバイザとハードウェアの間に存在している。このBIOSはハードウェアの基本的な初期化や電源制御を行う機能を持つ。この電源制御の実現をACPI(Advanced Configuration and Power Interface)と呼ばれる規格で実現している。各々のゲストOSが管理するハードウェアに対して、ACPIを用いてBIOSを経由した制御を行う場合、BIOSはOSが複数存在している事を認識できないため、共有で使用されるハードウェアへの電源制御の競合が発生するといった問題がある。
本発明は、上記に鑑みてなされたものであって、仮想環境上で動作する複数のゲストOSからの電源制御要求を適切に処理することができる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数のゲストOS(Operating System)を仮想環境上で動作させる情報処理装置であって、前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記情報処理装置のハードウェアの割り当てを示す割当情報を保持する仮想化部と、前記割当情報に基づいて複数のACPI(Advanced Configuration and Power Interface)テーブルを作成するBIOS(Basic Input/Output System)部と、を備え、前記仮想化部は、前記複数のゲストOSのそれぞれに対して、前記割当情報に基づいて作成されたACPIテーブルを対応させる。
本発明によれば、仮想環境上で動作する複数のゲストOSからの電源制御要求を適切に処理することができる。
はじめに、HW仮想化技術について説明する。HW仮想化技術の方式には、ホストOS型(ホスト型)とハイパーバイザ型(ベアメタル型)と呼ばれる2種類の方式が存在する。
ホストOS型(ホスト型)は、PC及びサーバ装置で多く使われている方式である。ホストOS型は、既にインストールされたOS(Windows(登録商標)及びLinux(登録商標)等)上にホスト型仮想化ソフトウェアをインストールし、その上で仮想マシン(VM:Virtual Machine)を立上げ、別の仮想OS(以下、ゲストOSという。)をインストールし、動作させるHW仮想化技術である。ホストOS型の特徴としては、既にOSが動作しているため、簡単に起動及び動作確認が出来る利点がある。一方で、ホストOS型は、常にホストOSが必要となり、ホストOSを動作させるためのリソース、及び、ホストOSの遅延等により、ゲストOSの性能が出にくいという面がある。
ハイパーバイザ型(ベアメタル型)は、ハードウェア上に直接ハイパーバイザ(Virtual Machine Monitor: VMM)と呼ばれるソフトが配置され、そのハイパーバイザから直接仮想マシンを動作させる方式である。ハイパーバイザ型の特徴としては、OSが不要なためゲストOSの性能への影響が少ないという点がある。また、各ゲストOSが直接各々に割り当てられたハードウェアを直接制御することができる。
以下に添付図面を参照して、情報処理装置、情報処理方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
はじめに、第1実施形態の情報処理装置のハードウェア構成の例について説明する。
はじめに、第1実施形態の情報処理装置のハードウェア構成の例について説明する。
[情報処理装置のハードウェア構成]
図1は第1実施形態の情報処理装置100のハードウェア構成の例を示す図である。第1実施形態の情報処理装置100は、CPU1、CPU2、メモリ3、フラッシュROM4、USBコントローラ5、LCDコントローラ6及びネットワークコントローラ7を備える。
図1は第1実施形態の情報処理装置100のハードウェア構成の例を示す図である。第1実施形態の情報処理装置100は、CPU1、CPU2、メモリ3、フラッシュROM4、USBコントローラ5、LCDコントローラ6及びネットワークコントローラ7を備える。
CPU1及び2は、情報処理装置100の動作を制御する制御装置である。CPU1及び2は、MMU(Memory Management Unit)、及び、仮想化を支援する機能を持つ。仮想化を支援する機能は、例えばメモリ仮想化及びIO仮想化等を支援する機能である。第1実施形態の説明では、簡単のため、CPUが2個の場合で説明するが、CPUの数は2個の限らず任意でよい。
メモリ3は、DDR2及びDDR3等の一般的な揮発メモリである。フラッシュROM4は、例えばNOR型、及び、NAND型等のフラッシュメモリデバイスである。フラッシュROM4は、プログラム及びユーザデータの情報を記憶する不揮発性メモリである。
USBコントローラ5は、USBメモリ等を制御するためのコンローラである。LCDコントローラ6は、文字及び画像等の表示を行うLCDを制御するためのコントローラである。ネットワークコントローラ7は、他の装置と通信するためのコントローラである。
[情報処理装置のソフトウェア構成]
次に、第1実施形態の情報処理装置100のソフトウェア構成の例について説明する。
次に、第1実施形態の情報処理装置100のソフトウェア構成の例について説明する。
図2は第1実施形態の情報処理装置100のソフトウェア構成の例を示す図である。第1実施形態の情報処理装置100は、BIOS部20、通信部25、仮想化部30、第1のゲストOS40、及び、第2のゲストOS50を備える。第1実施形態の説明では、簡単のため、ゲストOSが2個の場合で説明するが、ゲストOSの数は2個の限らず任意でよい。
BIOS部20は、情報処理装置100のハードウェアとの最も低レベルの入出力を行うBIOS機能の制御を行う。BIOS部20を実現するプログラムは、上述のフラッシュROM4に記憶されている。BIOS部20は、複数のACPI(Advanced Configuration and Power Interface)テーブル21を保持する。ACPIテーブル21は、電源管理及びハードウェアに関する情報等が含まれる。
まずBIOS部20は、従来の場合と同様に、BIOS部20の起動時にACPIテーブルをメモリ3上に1つ作成する。次にBIOS部20は、第1のゲストOS40に参照されるACPIテーブル21を、第1のゲストOS40の起動時に、後述の割当情報31に基づいてメモリ3上に生成する。次にBIOS部20は、第2のゲストOS50に参照されるACPIテーブル21を、第2のゲストOS50の起動時に、後述の割当情報31に基づいてメモリ3上に生成する。ACPIテーブル21の詳細は、図3を参照して後述する。
通信部25は、BIOS部20と仮想化部30との間で情報の送受信を行う。通信部25は、例えば後述の割当情報31をBIOS部20に送信し、BIOS部20から複数のACPIテーブル21それぞれのアドレスを受信する。通信部25は、BIOS部20と仮想化部30との間の通信を可能にするAPI(Application Programming Interface)により実現される。
仮想化部30は、第1のゲストOS40、及び、第2のゲストOS50を仮想環境上で動作させるための制御を行う。
第1実施形態の仮想化部30は、VMMと呼ばれるハイパーバイザにより実現される。すなわち第1実施形態の情報処理装置100は、上述の図1のハードウェア上に直接、仮想化部30を動作させるハイパーバイザ型のHW仮想化技術を利用している。そして仮想化部30が、仮想マシンを動作させることにより、当該仮想マシン上で第1のゲストOS40、及び、第2のゲストOS50を動作させる。
仮想化部30は割当情報31を保持する。割当情報31は、情報処理装置100で稼働する第1のゲストOS40、及び、第2のゲストOS50に対するハードウェアの割り当てを示す情報である。
表1は第1実施形態の割当情報31の例を示す表である。
第1実施形態の割当情報31は、ハードウェア、割当対象及び属性を含む。CPU1及び2、並びに、メモリ3及びフラッシュROM4は、基本デバイスとして仮想化部30に割り当てられる。なお基本デバイスは、仮想化部30により制御されるが、第1のゲストOS40、及び、第2のゲストOS50からもアクセス可能である。すなわち基本デバイスは、複数のゲストOSにより共有される共有ハードウェアである。
一方、ネットワークコントローラ7及びUSBコントローラ5は、専用デバイスとして第1のゲストOS40に割り当てられる。ネットワークコントローラ7及びUSBコントローラ5は、第2のゲストOS50からはアクセスできない。すなわちネットワークコントローラ7及びUSBコントローラ5は、第1のゲストOS40の専用ハードウェアである。
また、LCDコントローラ6は、専用デバイスとして第2のゲストOS50に割り当てられる。LCDコントローラ6は、第1のゲストOS40からはアクセスできない。すなわちLCDコントローラ6は、第2のゲストOS50の専用ハードウェアである。
第1のゲストOS40は、仮想化部30上の仮想環境で動作するOSである。第1のゲストOS40はACPIドライバ41を備える。ACPIドライバ41は、システムの電源管理機能、及び、インタプリタを持つソフトウェアモジュールである。ACPIドライバ41のインタプリンタは、ACPIテーブル21上に存在する後述のAML(ACPI Machine Language)を逐次解釈しながら実行する。
第2のゲストOS50及びACPIドライバ51の説明は、第1のゲストOS40及びACPIドライバ41の説明と同様なので省略する。
図3は第1実施形態のACPIテーブル21の例を示す図である。ACPIテーブル21は、RSDP(Root system Description Pointer)201、XSDT(eXtended System Description Table)202、FACP(Fixed ACPI Description Table)203、DSDT(Differentiated System Description Table)204、及び、SSDT(Secondary System Description Table)205を有する。RSDP201、XSDT202、FACP203、DSDT204及びSSDT205は、構造体である。
RSDP201は、RSDT(Root System Description Table)と呼ばれる構造体へのポインタ、及び、XSDT202へのポインタ等を含む。
RSDP201は、様々なテーブルへのポインタを含み、XSDT202はRSDTを64ビットメモリ空間に対応させた構造体である。ここではXSDT202を例にして説明する。
XSDT202は、様々なテーブルへのエントリ(ポインタ)を含む。ここでは重要な3つの構造体(FACP203、DSDT204及びSSDT205)について説明する。
FACP203は、ACPIに関連するハードウェアへのレジスタ情報、及び、FACS(Firmware ACPI Control Structure)と呼ばれるBIOSとの排他制御、及び、サスペンドレジューム時にBIOSとのやり取り等に使用されるメモリ位置の情報等を含む。またFACP203は、DSDT204へのポインタも保持している。
DSDT204は、主にAML(ACPI Machine Language)と呼ばれる中間言語により記述されたハードウェアに関連する情報が記載されている。OSは、BIOSから引き渡されたこの情報をACPIドライバ内にあるインタプリンタにより解釈し、実行する。
SSDT205は、DSDT204の補足として使われる。
図2に戻り、仮想化部30は、複数のゲストOS(第1のゲストOS40、及び、第2のゲストOS50)のそれぞれに対して、割当情報31に基づいて作成されたACPIテーブル21のアドレスを対応させることにより、複数のゲストOSのそれぞれに専用のACPIテーブル21を提供する。なおACPIテーブル21のアドレスは決まっており、複数のゲストOS(第1のゲストOS40、及び、第2のゲストOS50)は、所定のアドレスを使用してACPIテーブル21へアクセスする。そのため、具体的には、仮想化部30は、第1のゲストOS40(第2のゲストOS50)のソースコードの改変を行わないで済むように、ACPIテーブル21の接続元のゲストOSに応じて、所定のアドレスのアドレス変換を行うことにより、割当情報31に基づいて作成されたACPIテーブル21のアドレスを、各ゲストOSに対応させる。
[情報処理方法]
次に第1実施形態の情報処理方法について説明する。
次に第1実施形態の情報処理方法について説明する。
図4は第1実施形態の複数のゲストOS(第1のゲストOS40、及び、第2のゲストOS50)の起動方法の例を示すフローチャートである。はじめに、情報処理装置100の筐体の電源ボタンの押下、及び、CPU1(2)リセット等により、BIOS部20が起動する(ステップS1)。
次に、BIOS部20は、ACPIテーブル21をメモリ3上に作成する(ステップS2)。次に、BIOS部20は、仮想化部30を起動する(ステップS3)。次に、仮想化部30が、割当情報31を、通信部25を介してBIOS部20に送信することにより、当該割当情報31をBIOS部20に通知する(ステップS4)。
次に、BIOS部20は、ステップS4の処理により通知された割当情報31に基づいてACPIテーブル21を作成する(ステップS5)。具体的には、BIOS部20は、第1のゲストOS40に参照されるACPIテーブル21と、第2のゲストOS50に参照されるACPIテーブル21と、を割当情報31に基づいてメモリ3上に生成する。
第1のゲストOS40に参照されるACPIテーブル21は、USBコントローラ5及びネットワークコントローラ7の電源管理に関する情報を含む。第2のゲストOS50に参照されるACPIテーブル21は、LCDコントローラ6の電源管理に関する情報を含む。
次に、BIOS部20は、ステップS5の処理により作成された2つのACPIテーブルのアドレスを、通信部25を介して仮想化部30に送信することにより、当該アドレスを仮想化部30に通知する(ステップS6)。次に、仮想化部30が、複数のゲストOS(第1のゲストOS40、及び、第2のゲストOS50)を起動する(ステップS7)。
図5は第1実施形態の電源制御が競合した場合の処理例を示すフローチャートである。図5の例は、第1のゲストOS40が、省エネ移行要求を仮想化部30に送信する場合を示す。省エネ移行要求は、情報処理装置100のハードウェア(図1参照)の電源状態の制御を要求する電源制御要求の一例である。図5の例で説明する省エネ移行要求は、情報処理装置100の電源状態をACPI規格により定義されたS3状態に移行させる要求である。S3状態は、Suspend to RAMと呼ばれる。Suspend to RAMは、メモリ3はセルフリフレッシュ状態により保持されているが、ハードウェアのレジスタ情報は失われている状態である。
従来は、それぞれのゲストOSから個別に省エネ移行要求が仮想化部30に通知されることはなかった。第1実施形態の情報処理装置100では、ゲストOS毎に専用のACPIテーブル21が確保されている。そのため仮想化部30は、それぞれのゲストOSから受信された省エネ移行要求を個別に処理することが可能である。しかしながら、例えば仮想化部30が、第1のゲストOS40から省エネ移行要求を受信した場合に、そのまま第1のゲストOS40及び第2のゲストOS50により共有されている共有ハードウェア(ここではメモリ3)を省エネ状態にしてしまうと、第2のゲストOS50の動作に影響を与えてしまう。したがって、仮想化部30は、第1のゲストOS40から省エネ要求を受信した場合、第2のゲストOS50の状態に応じた電源制御を行う。
はじめに、仮想化部30が、第1のゲストOS40から省エネ移行要求を受信する(ステップS11)。
次に、BIOS部20が、第1のゲストOS40のみに影響がある専用ハードウェアの省エネ移行処理を行う(ステップS12)。具体的には、第1実施形態の割当情報31(表1参照)に基づいて作成されたACPIテーブル21の例では、BIOS部20は、USBコントローラ5及びネットワークコントローラ7の消費電力を低下させる省エネ移行処理を行う。
次に、BIOS部20が、第2のゲストOS50が省エネ(S3状態)移行済みであるか否かを判定する(ステップS13)。第2のゲストOS50が省エネ(S3状態)移行済みである場合(ステップS13、Yes)、BIOS部20は、情報処理装置100のシステム全体として、S3状態の省エネ状態に移行可能であると判断し、共有ハードウェアであるメモリ3をセルフリフレッシュ状態にする(ステップS14)。
第2のゲストOS50が省エネ(S3状態)移行済みでない場合(ステップS13、No)、ステップS11で受信した省エネ移行要求に応じた省エネ移行処理は終了する。
以上説明したように、第1実施形態の情報処理装置100では、仮想化部30が、複数のゲストOS(第1のゲストOS40、及び、第2のゲストOS50)の仮想環境上の動作を制御し、ゲストOSに対する情報処理装置100のハードウェアの割り当てを示す割当情報31を保持する。BIOS部20は、割当情報31に基づいて複数のACPIテーブル21を作成する。そして仮想化部30が、複数のゲストOSのそれぞれに対して、割当情報31に基づいて作成されたACPIテーブル21を対応させる。
これにより第1実施形態の情報処理装置100によれば、ゲストOSのソースコードを改変することなく、仮想環境上で動作する複数のゲストOSからの電源制御要求を適切に処理することができる。例えば一のゲストOSから、省エネ移行要求が要求された場合、複数のゲストOSで共有されている共有ハードウェアに対する電源制御を、情報処理装置100で動作する他のゲストOSに影響を与えないように適切に処理することができる。
また第1実施形態の情報処理装置100によれば、複数のゲストOSが起動している状態でハードウェアの電源制御を適切に行うために必要なメモリ3及びフラッシュROM4の消費を、従来の電源制御方法よりも少なくすることができる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第2実施形態の説明では、情報処理装置100にホストOS型(ホスト型)のHW仮想化技術が利用されている点が、第1実施形態の場合と異なる。
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第2実施形態の説明では、情報処理装置100にホストOS型(ホスト型)のHW仮想化技術が利用されている点が、第1実施形態の場合と異なる。
図6は第2実施形態の情報処理装置100のソフトウェア構成の例を示す図である。第2実施形態の情報処理装置100は、BIOS部20、通信部25、仮想化部30、第1のゲストOS40、第2のゲストOS50、ホストOS60、アプリケーション70a及びアプリケーション70bを備える。第2実施形態の説明では、簡単のため、ゲストOSが2個の場合で説明するが、ゲストOSの数は2個の限らず任意でよい。
BIOS部20は複数のACPIテーブル21を保持する。仮想化部30は割当情報31を保持する。第1のゲストOS40はACPIドライバ41を備える。第2のゲストOS50はACPIドライバ51を備える。
第2実施形態の仮想化部30は、第1実施形態の場合と異なり、ホストOS60上で動作するホスト型仮想化ソフトウェアにより実現される。なおホストOS60の種類は任意でよい。第1のゲストOS40及び第2のゲストOS50は、ホストOS60上で動作する仮想化部30により制御される仮想マシンとして動作する。BIOS部20及び仮想化部30は、第1実施形態の場合と同様に、通信部25により情報(割当情報31、及び、ACPIテーブル21のアドレス等)を送受信する。
アプリケーション70a及び70bは、ホストOS60上で動作する任意のアプリケーションである。図6に示されるように、第2実施形態の仮想化部30は、アプリケーション70a及び70bと同じように、ホストOS60上で動作する。
以上説明したように、第2実施形態の情報処理装置100では、仮想化部30がホスト型仮想化ソフトウェアにより実現されているが、第2実施形態の情報処理装置100においても、第1実施形態の場合と同様の効果を得ることができる。
なお第1及び第2実施形態の情報処理装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、メモリカード、CD−R及びDVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
また第1及び第2実施形態の情報処理装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第1及び第2実施形態の情報処理装置100が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また第1及び第2実施形態の情報処理装置100で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
1 CPU
2 CPU
3 メモリ
4 フラッシュROM
5 USBコントローラ
6 LCDコントローラ
7 ネットワークコントローラ
20 BIOS部
21 ACPIテーブル
25 通信部
30 仮想化部
31 割当情報
40 第1のゲストOS
41 ACPIドライバ
50 第2のゲストOS
51 ACPIドライバ
60 ホストOS
70 アプリケーション
100 情報処理装置
201 RSDP
202 XSDT
203 FACP
204 DSDT
205 SSDT
2 CPU
3 メモリ
4 フラッシュROM
5 USBコントローラ
6 LCDコントローラ
7 ネットワークコントローラ
20 BIOS部
21 ACPIテーブル
25 通信部
30 仮想化部
31 割当情報
40 第1のゲストOS
41 ACPIドライバ
50 第2のゲストOS
51 ACPIドライバ
60 ホストOS
70 アプリケーション
100 情報処理装置
201 RSDP
202 XSDT
203 FACP
204 DSDT
205 SSDT
Claims (9)
- 複数のゲストOS(Operating System)を仮想環境上で動作させる情報処理装置であって、
前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記情報処理装置のハードウェアの割り当てを示す割当情報を保持する仮想化部と、
前記割当情報に基づいて複数のACPI(Advanced Configuration and Power Interface)テーブルを作成するBIOS(Basic Input/Output System)部と、を備え、
前記仮想化部は、前記複数のゲストOSのそれぞれに対して、前記割当情報に基づいて作成されたACPIテーブルを対応させる、
情報処理装置。 - 前記情報処理装置の仮想環境は、ハイパーバイザ型であり、
前記仮想化部は、VMM(Virtual Machine Manager)である、
請求項1に記載の情報処理装置。 - 前記情報処理装置の仮想環境は、ホストOS型であり、
前記仮想化部は、ホスト型仮想化ソフトウェアである、
請求項1に記載の情報処理装置。 - 前記仮想化部は、前記複数のゲストOSのそれぞれから、前記情報処理装置のハードウェアの電源状態の制御を要求する電源制御要求を受信し、
前記BIOS部は、前記複数のACPIテーブルから、前記電源制御要求を送信したゲストOSにより使用され、かつ、他のゲストOSにより使用されていない専用ハードウェア、及び、前記電源制御要求を送信したゲストOSと、少なくとも1つの他のゲストOSと、に使用されている共有ハードウェアを特定し、前記専用ハードウェアの電源状態を前記電源制御要求に基づいて制御し、前記共有ハードウェアの電源状態を、前記少なくとも1つの他のゲストOSが既に前記電源制御要求により要求される電源状態と同じ電源状態に移行している場合、前記共有ハードウェアの電源状態を前記電源制御要求に基づいて制御する、
請求項1乃至3のいずれか1項に記載の情報処理装置。 - 前記電源状態は、ACPI規格により定められた電源状態である、
請求項4に記載の情報処理装置。 - 前記割当情報を前記BIOS部に送信し、前記BIOS部から前記複数のACPIテーブルそれぞれのアドレスを受信する通信部、
を更に備える請求項1乃至5のいずれか1項に記載の情報処理装置。 - 前記複数のゲストOSのそれぞれは、所定のアドレスを使用して前記ACPIテーブルにアクセスし、
前記仮想化部は、前記ACPIテーブルの接続元のゲストOSに応じて、前記所定のアドレスのアドレス変換を行うことにより、前記割当情報に基づいて作成されたACPIテーブルのアドレスを、前記複数のゲストOSそれぞれに対応させる、
請求項6に記載の情報処理装置。 - 複数のゲストOS(Operating System)を仮想環境上で動作させる情報処理装置の情報処理方法であって、
仮想化部が、前記複数のゲストOSの仮想環境上の動作を制御するステップと、
仮想化部が、前記ゲストOSに対する前記情報処理装置のハードウェアの割り当てを示す割当情報を保持するステップと、
BIOS(Basic Input/Output System)部が、前記割当情報に基づいて複数のACPI(Advanced Configuration and Power Interface)テーブルを作成するステップと、
仮想化部が、前記複数のゲストOSのそれぞれに対して、前記割当情報に基づいて作成されたACPIテーブルを対応させるステップと、
を含む情報処理方法。 - 複数のゲストOS(Operating System)を仮想環境上で動作させる情報処理装置を、
前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記情報処理装置のハードウェアの割り当てを示す割当情報を保持する仮想化部と、
前記割当情報に基づいて複数のACPI(Advanced Configuration and Power Interface)テーブルを作成するBIOS(Basic Input/Output System)部として機能させ、
前記仮想化部は、前記複数のゲストOSのそれぞれに対して、前記割当情報に基づいて作成されたACPIテーブルを対応させる、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045698A JP2017162165A (ja) | 2016-03-09 | 2016-03-09 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045698A JP2017162165A (ja) | 2016-03-09 | 2016-03-09 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017162165A true JP2017162165A (ja) | 2017-09-14 |
Family
ID=59857995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016045698A Pending JP2017162165A (ja) | 2016-03-09 | 2016-03-09 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017162165A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888752A (zh) * | 2018-09-10 | 2020-03-17 | 横河电机株式会社 | 冗余***、记录介质及信息处理装置 |
-
2016
- 2016-03-09 JP JP2016045698A patent/JP2017162165A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888752A (zh) * | 2018-09-10 | 2020-03-17 | 横河电机株式会社 | 冗余***、记录介质及信息处理装置 |
CN110888752B (zh) * | 2018-09-10 | 2023-08-15 | 横河电机株式会社 | 冗余***、记录介质及信息处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10191759B2 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
JP6029550B2 (ja) | 計算機の制御方法及び計算機 | |
CN105264506B (zh) | 向内存映射配置分配处理器 | |
JP2015503784A (ja) | グラフィックス処理部における仮想マシン間の移行 | |
EP3086228A1 (en) | Resource processing method, operating system, and device | |
CN107977251B (zh) | 对在虚拟化***中的共享寄存器的排他访问 | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
US11194735B2 (en) | Technologies for flexible virtual function queue assignment | |
US20110231614A1 (en) | Accelerating memory operations using virtualization information | |
US11593170B2 (en) | Flexible reverse ballooning for nested virtual machines | |
JP6242502B2 (ja) | 仮想計算機システムの制御方法及び仮想計算機システム | |
US10977191B2 (en) | TLB shootdowns for low overhead | |
US9639492B2 (en) | Virtual PCI expander device | |
US10990436B2 (en) | System and method to handle I/O page faults in an I/O memory management unit | |
EP3543849A1 (en) | Driver management method and host machine | |
JP4692912B2 (ja) | リソース割り当てシステム、及びリソース割り当て方法 | |
US9342477B2 (en) | Multi-core processor, controlling method thereof and computer system with such processor | |
JP2017162165A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20190227942A1 (en) | System and Method to Handle I/O Page Faults in an I/O Memory Management Unit | |
CN115904634A (zh) | 资源管理方法、***级芯片、电子组件及电子设备 | |
US20090271785A1 (en) | Information processing apparatus and control method | |
EP3255550A1 (en) | Tlb shootdowns for low overhead | |
US9858085B2 (en) | Information processing including BIOS apparatus, information processing method thereof, and storage medium | |
JP5505522B2 (ja) | プログラム実行方法 |