JP2017068824A - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP2017068824A
JP2017068824A JP2016102437A JP2016102437A JP2017068824A JP 2017068824 A JP2017068824 A JP 2017068824A JP 2016102437 A JP2016102437 A JP 2016102437A JP 2016102437 A JP2016102437 A JP 2016102437A JP 2017068824 A JP2017068824 A JP 2017068824A
Authority
JP
Japan
Prior art keywords
driver
video
information processing
guest
host
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
Application number
JP2016102437A
Other languages
Japanese (ja)
Inventor
滋也 千田
Shigeya Senda
滋也 千田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US15/277,268 priority Critical patent/US20170097836A1/en
Priority to EP16191214.2A priority patent/EP3151118A3/en
Publication of JP2017068824A publication Critical patent/JP2017068824A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To avoid overhead and suppress a processing load.SOLUTION: An information processing device 100, which has a guest OS 60 that operates on a virtual environment and a host OS 30 that operates the guest OS 60, includes: a Video driver 62 that is operated by the guest OS 60 and controls Video hardware 21 without passing through the host OS 30; and a substitution driver 32 that is operated by the host OS 30 and substitutively executes initialization processing and restoration processing executed by the Video driver 62 before the Video driver 62 starts. The Video driver 62 inherits the content of predetermined processing executed by the substitution driver 32 after starting.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理装置に関する。   The present invention relates to an information processing apparatus.

OS(Operating System)の準仮想化・仮想化技術とは、過去のOSを新しいシステム上でそのまま実行することで過去の資産をそのまま継承するための技術として発展してきた。   The OS (Operating System) para-virtualization / virtualization technology has been developed as a technology for directly inheriting past assets by executing past OSs as they are on a new system.

また、近年では、クラウド環境の発展により、ハードウェアに依存することなくサーバ環境をネットワーク上に提供する土台となる技術として準仮想化・仮想化技術が利用されている。また、組み込み分野でもハードウェアのシステム性能の向上から過去の資産の再利用や複数ハードウェアの統合を目的として準仮想化・仮想化技術の導入が検討され実現化されつつある。   In recent years, with the development of cloud environments, para-virtualization / virtualization technologies have been used as a base technology for providing a server environment on a network without depending on hardware. Also in the embedded field, introduction of para-virtualization / virtualization technology is being studied and realized for the purpose of reusing past assets and integrating multiple hardware to improve hardware system performance.

準仮想化・仮想化技術を備えた情報処理装置では、仮想環境上で動作するゲストOSと、ゲストOSを動作させるホストOSとが備えられており、例えば、ゲストOSが仮想環境上でファイルシステムを実現するものなどがある。   An information processing apparatus provided with a para-virtualization / virtualization technology includes a guest OS that operates in a virtual environment and a host OS that operates the guest OS. For example, the guest OS operates on a file system in the virtual environment. There is something that realizes.

さらに、このような情報処理装置では、ゲストOS上で動作するパススルードライバが起動された場合、当該パススルードライバがホストOSを介さずハードウェアを直接制御して初期化等の所定の処理を行うものがある。例えば、準仮想化したドライバがHDD(Hard Disk Drive)などのハードウェアに直接アクセスすることができるコンピュータが開示されている(特許文献1参照)。   Further, in such an information processing apparatus, when a pass-through driver that operates on the guest OS is activated, the pass-through driver directly controls the hardware without using the host OS and performs predetermined processing such as initialization. There is. For example, a computer is disclosed in which a paravirtualized driver can directly access hardware such as a hard disk drive (HDD) (see Patent Document 1).

しかしながら、上述の準仮想化・仮想化技術を備えた情報処理装置では、装置の起動時や省エネルギー状態からの復帰時において、ホストOSの起動、仮想化管理ソフトウェアの起動、ゲストOSの起動、という順序で起動される。従って、例えば、特許文献1の情報処理装置において、ゲストOS上にある準仮想化したパススルードライバを起動するためには、ゲストOSが起動されるまで待機する必要があるため、オーバーヘッドが生じて、処理負荷が増大してしまう。   However, in the information processing apparatus provided with the above-described para-virtualization / virtualization technology, the host OS is started, the virtualization management software is started, and the guest OS is started when the apparatus is started or when returning from the energy saving state. Launched in order. Therefore, for example, in the information processing apparatus disclosed in Patent Document 1, in order to start the paravirtualized pass-through driver on the guest OS, it is necessary to wait until the guest OS is started. The processing load increases.

本発明は、上記に鑑みてなされたものであって、オーバーヘッドを回避して、処理負荷を抑制できる情報処理装置を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide an information processing apparatus that can avoid overhead and suppress processing load.

上述した課題を解決し、目的を達成するために、本発明は、仮想環境上で動作する第1の処理部と、前記第1の処理部を動作させる第2の処理部とを有する情報処理装置において、前記第1の処理部により動作され、前記第2の処理部を介さずに直接ハードウェアを制御する直接制御部と、前記第2の処理部により動作され、前記直接制御部が起動する前に、前記直接制御部により実行される所定の処理を代替して実行する代替制御部と、を備え、前記直接制御部は、起動した後、前記代替制御部により実行された前記所定の処理の内容を引き継ぐ。   In order to solve the above-described problems and achieve the object, the present invention provides an information processing including a first processing unit that operates in a virtual environment and a second processing unit that operates the first processing unit. In the apparatus, a direct control unit that is operated by the first processing unit and directly controls hardware without going through the second processing unit, and is operated by the second processing unit, and the direct control unit is activated. An alternative control unit that executes instead of the predetermined process executed by the direct control unit, and the direct control unit is activated and then the predetermined control executed by the alternative control unit Take over the contents of the process.

本発明によれば、オーバーヘッドを回避して、処理負荷を抑制できるという効果を奏する。   According to the present invention, it is possible to avoid the overhead and suppress the processing load.

図1は、実施形態の情報処理装置のハードウェア構成の一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of a hardware configuration of the information processing apparatus according to the embodiment. 図2は、実施形態の情報処理装置の構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of the information processing apparatus according to the embodiment. 図3は、実施形態の情報処理装置における起動処理の流れを示すフローチャートである。FIG. 3 is a flowchart illustrating a flow of activation processing in the information processing apparatus according to the embodiment. 図4は、実施形態の情報処理装置の起動時における代替ドライバの初期化処理の流れを示すフローチャートである。FIG. 4 is a flowchart illustrating a flow of an alternative driver initialization process when the information processing apparatus according to the embodiment is started. 図5は、実施形態の情報処理装置の起動時におけるVideoドライバの初期化処理の流れを示すフローチャートである。FIG. 5 is a flowchart illustrating a flow of initialization processing of the video driver when the information processing apparatus according to the embodiment is activated. 図6は、実施形態の情報処理装置における省エネ復帰処理の流れを示すフローチャートである。FIG. 6 is a flowchart illustrating a flow of energy saving return processing in the information processing apparatus according to the embodiment. 図7は、実施形態の情報処理装置の省エネ復帰時における代替ドライバの復帰処理の流れを示すフローチャートである。FIG. 7 is a flowchart illustrating the flow of return processing of the alternative driver at the time of energy saving return of the information processing apparatus according to the embodiment. 図8は、実施形態の情報処理装置の省エネ復帰時におけるVideoドライバの復帰処理の流れを示すフローチャートである。FIG. 8 is a flowchart illustrating the flow of the restoration process of the video driver at the time of energy saving restoration of the information processing apparatus according to the embodiment. 図9は、従来の情報処理装置の構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of a configuration of a conventional information processing apparatus. 図10は、従来の情報処理装置の構成の他の例を示す図である。FIG. 10 is a diagram illustrating another example of the configuration of a conventional information processing apparatus. 図11は、従来の情報処理装置におけるVideoドライブの起動までの流れを示す図である。FIG. 11 is a diagram showing a flow until the Video drive is started in the conventional information processing apparatus. 図12は、従来の情報処理装置におけるVideoドライブの省エネルギー状態への移行から復帰までの流れを示す図である。FIG. 12 is a diagram illustrating a flow from transition to return to an energy saving state of a video drive in a conventional information processing apparatus.

以下、添付図面を参照しながら、本発明にかかる情報処理装置の実施形態を詳細に説明する。本実施形態の情報処理装置は、準仮想化技術が用いられている。   Hereinafter, embodiments of an information processing apparatus according to the present invention will be described in detail with reference to the accompanying drawings. The information processing apparatus according to the present embodiment uses a para-virtualization technology.

図1は、本実施形態の情報処理装置のハードウェア構成の一例を示すブロック図である。図1に示すように、情報処理装置100は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの制御装置11と、ROM(Read Only Memory)やRAM(Random Access Memory)などの主記憶装置12と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置13と、ディスプレイなどの表示装置14と、マウス、キーボード、タッチパネル、又はキースイッチなどの入力装置15と、通信インタフェースなどの通信装置16と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。   FIG. 1 is a block diagram illustrating an example of a hardware configuration of the information processing apparatus according to the present embodiment. As shown in FIG. 1, an information processing apparatus 100 includes a control device 11 such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), and a main memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory). Communication with the device 12, an auxiliary storage device 13 such as a hard disk drive (HDD) or a solid state drive (SSD), a display device 14 such as a display, and an input device 15 such as a mouse, keyboard, touch panel, or key switch And a communication device 16 such as an interface, and has a hardware configuration using a normal computer.

但し、情報処理装置100のハードウェア構成は、これに限定されず、IC(Integrated Circuit)、ASIC(Application Specific Integrated Circuit)、及び各種センサなどを更に備えていてもよい。   However, the hardware configuration of the information processing apparatus 100 is not limited to this, and may further include an IC (Integrated Circuit), an ASIC (Application Specific Integrated Circuit), and various sensors.

情報処理装置100は、例えば、PC(Personal Computer)、スマートフォン、タブレット端末、ウェアラブル端末、画像形成装置、プロジェクタ、テレビ会議装置、電子黒板、蛍光灯、カメラ、エアコン、冷蔵庫、自販機、及び産業用機器などが挙げられる。画像形成装置は、例えば、印刷装置、複写機、複合機、スキャナ装置、及びファクシミリ装置などが挙げられる。複合機は、複写機能、印刷機能、スキャナ機能、及びファクシミリ機能のうち少なくとも2つの機能を有するものである。   The information processing apparatus 100 is, for example, a PC (Personal Computer), a smartphone, a tablet terminal, a wearable terminal, an image forming apparatus, a projector, a video conference device, an electronic blackboard, a fluorescent lamp, a camera, an air conditioner, a refrigerator, a vending machine, and an industrial device. Etc. Examples of the image forming apparatus include a printing apparatus, a copier, a multifunction machine, a scanner apparatus, and a facsimile apparatus. The multifunction peripheral has at least two functions among a copying function, a printing function, a scanner function, and a facsimile function.

図2は、本実施形態の情報処理装置の構成の一例を示す図である。図2に示すように、情報処理装置100は、図1で示した構成等を備えたHW(Hardware:ハードウェア)20と、ホストOS(Operating System)30と、ゲストOS50と、ゲストOS60と、Virtio51、61と、図1で示した主記憶装置12と、を主に備えている。ホストOS30、ゲストOS50、60、およびVirtio51、61は、例えば、制御装置11および主記憶装置12により実現できる。ここで、ホストOS30が第2の処理部に相当し、ゲストOS60が第1の処理部に相当する。   FIG. 2 is a diagram illustrating an example of the configuration of the information processing apparatus according to the present embodiment. As shown in FIG. 2, the information processing apparatus 100 includes an HW (Hardware) 20, a host OS (Operating System) 30, a guest OS 50, a guest OS 60, and the like having the configuration shown in FIG. Virtual 51 and 61 and the main storage device 12 shown in FIG. 1 are mainly provided. The host OS 30, guest OSs 50 and 60, and Virtuals 51 and 61 can be realized by the control device 11 and the main storage device 12, for example. Here, the host OS 30 corresponds to the second processing unit, and the guest OS 60 corresponds to the first processing unit.

ホストOS30(Dom0)は、情報処理装置100上の基盤となるOSであって、ゲストOS50、60を動作させる。詳細には、ホストOS30は、ゲストOS50、60を動作させるための仮想環境を構築するソフトウェアであるVM(Virtual Machine)を動作させる。例えば、ホストOS30は、LINUX(登録商標)などである。   The host OS 30 (Dom 0) is an OS serving as a base on the information processing apparatus 100, and operates the guest OSs 50 and 60. Specifically, the host OS 30 operates a VM (Virtual Machine) that is software for constructing a virtual environment for operating the guest OSs 50 and 60. For example, the host OS 30 is LINUX (registered trademark) or the like.

ゲストOS50(DomU1)およびゲストOS60(DomU2)は、情報処理装置100の仮想環境上で動作するOSであって、ホストOS30により動作される。仮想環境とは、物理的なコンピュータ環境とは別の仮想的な環境であって、本実施形態では、ホストOS30上で動作するVMによって仮想的に構築されたコンピュータ環境である。   The guest OS 50 (DomU1) and the guest OS60 (DomU2) are operating on the virtual environment of the information processing apparatus 100, and are operated by the host OS 30. The virtual environment is a virtual environment different from the physical computer environment. In the present embodiment, the virtual environment is a computer environment virtually constructed by a VM operating on the host OS 30.

Virtio51、61は、仮想環境上で動作する、標準化された仮想化ドライバ群である。本実施形態では、ホストOS30およびゲストOS50、60間のVM間通信を実現するインタフェースの役割を果たしている。但し、これに限定されず、例えば、VMにXenを用いる場合には、XenSocketを、VM間通信を実現するインタフェースに用いてもよいし、ベンダが独自に提供するインタフェースを、VM間通信を実現するインタフェースに用いてもよい。   The Virtuals 51 and 61 are a standardized virtualization driver group that operates in a virtual environment. In this embodiment, it plays the role of the interface which implement | achieves communication between VM between host OS30 and guest OS50,60. However, the present invention is not limited to this. For example, when Xen is used for VM, XenSocket may be used as an interface for realizing communication between VMs, or an interface provided by a vendor is realized for communication between VMs. It may be used for an interface that

HW20は、ほとんどのモジュールがホストOS30によって、モジュールそれぞれに対応するドライバを介して制御されている。また、図2に示すように、HW20は、Videoハードウェア21を備えている。このVideoハードウェア21は、ゲストOS60によって、ホストOS30を介さず直接制御(パススルー)されている。   Most modules of the HW 20 are controlled by the host OS 30 via drivers corresponding to the modules. In addition, as shown in FIG. 2, the HW 20 includes Video hardware 21. The Video hardware 21 is directly controlled (passed through) by the guest OS 60 without using the host OS 30.

一方、ゲストOS60は、Videoドライバ62を備えている。Videoドライバ62は、ゲストOS60上で動作するものであり、情報処理装置100の一部のハードウェア(本実施形態の例ではVideoハードウェア21)を、ホストOS30を介さず直接制御(パススルー)している。ここで、Videoドライバ62が、直接制御部に相当する。   On the other hand, the guest OS 60 includes a video driver 62. The video driver 62 operates on the guest OS 60, and directly controls (passes through) a part of the hardware of the information processing apparatus 100 (the video hardware 21 in the example of this embodiment) without using the host OS 30. ing. Here, the Video driver 62 corresponds to a direct control unit.

また、図2に示すように、ホストOS30は、仮想化管理部31と、代替ドライバ32と、を備えている。仮想化管理部31は、情報処理装置100における仮想化を管理するものであって、例えば、ホストOS30が完全に起動した後にゲストOS50、60を起動し管理する(図2矢印参照)。   As illustrated in FIG. 2, the host OS 30 includes a virtualization management unit 31 and an alternative driver 32. The virtualization management unit 31 manages virtualization in the information processing apparatus 100. For example, after the host OS 30 is completely started, the guest OSs 50 and 60 are started and managed (see arrows in FIG. 2).

代替ドライバ32(DOM0ドライバ)は、ゲストOS60からホストOS30を介さず直接制御(パススルー)されるハードウェア(ここでは、Videoハードウェア21)に対応するドライバである。通常、Videoハードウェア21は、ゲストOS60のVideoドライバ62がホストOS30を介さずに直接制御するものであるが、本実施形態の代替ドライバ32は、ゲストOS60が起動するまでは、Videoドライバ62が行う所定の処理を肩代わりするものである。ここで、代替ドライバ32が、代替制御部に相当する。   The alternative driver 32 (DOM0 driver) is a driver corresponding to hardware (here, Video hardware 21) that is directly controlled (passed through) from the guest OS 60 without passing through the host OS 30. Normally, the video hardware 21 is directly controlled by the video driver 62 of the guest OS 60 without going through the host OS 30. However, the alternative driver 32 of the present embodiment does not have the video driver 62 until the guest OS 60 starts up. It replaces the predetermined processing to be performed. Here, the alternative driver 32 corresponds to an alternative control unit.

主記憶装置12は、仮想記憶領域203、204を有している。ここで、各ドライバは、通常、ドライバ構造体と呼ばれるドライバ個別の記憶領域を有しておりこれを基に動作する。図2に示すように、本実施形態の主記憶装置12では、ホストOS30から見た仮想記憶領域203に代替ドライバ構造体201を有し、ゲストOS60から見た仮想記憶領域204にVideoドライバ構造体202を有している。代替ドライバ構造体201が記憶部に相当する。   The main storage device 12 has virtual storage areas 203 and 204. Here, each driver usually has a driver-specific storage area called a driver structure, and operates based on this. As shown in FIG. 2, the main storage device 12 of this embodiment has an alternative driver structure 201 in the virtual storage area 203 viewed from the host OS 30 and a video driver structure in the virtual storage area 204 viewed from the guest OS 60. 202. The alternative driver structure 201 corresponds to the storage unit.

例えば、代替ドライバ32は、情報処理装置100の起動時に、ホストOS30が起動してゲストOS60にあるVideoドライバ62が起動するまで機能し、Videoハードウェア21の初期化処理を代替して実行する。そして、代替ドライバ32は、代替して実行した初期化処理の内容を代替ドライバ構造体201(記憶部)に記憶する。   For example, the alternative driver 32 functions until the host OS 30 is started and the video driver 62 in the guest OS 60 is started when the information processing apparatus 100 is started, and executes the initialization processing of the video hardware 21 instead. Then, the substitute driver 32 stores the contents of the initialization process executed in place of the substitute driver in the substitute driver structure 201 (storage unit).

そして、Videoドライバ62が起動した後、Videoドライバ62は、代替ドライバ構造体201を参照して、代替ドライバ32により実行された初期化処理の内容を引き継ぐ。これにより、ゲストOS60のVideoドライバ62が起動する前に、Videoハードウェア21を初期化して利用ができる。   Then, after the video driver 62 is activated, the video driver 62 refers to the alternative driver structure 201 and takes over the contents of the initialization process executed by the alternative driver 32. Thus, the video hardware 21 can be initialized and used before the video driver 62 of the guest OS 60 is activated.

また、例えば、代替ドライバ32は、情報処理装置100の省エネルギー状態(省エネ状態)からの復帰時に、ホストOS30が起動(復帰)してゲストOS60にあるVideoドライバ62が起動(復帰)するまで機能し、Videoハードウェア21の省エネルギー状態からの復帰処理を代替して実行する。そして、代替ドライバ32は、代替して実行した復帰処理の内容を代替ドライバ構造体201(記憶部)に記憶する。   Further, for example, the substitute driver 32 functions until the host OS 30 is activated (returned) and the video driver 62 in the guest OS 60 is activated (returned) when the information processing apparatus 100 is restored from the energy saving state (energy saving state). The return processing from the energy saving state of the Video hardware 21 is executed instead. Then, the alternative driver 32 stores the contents of the return process executed in the alternative in the alternative driver structure 201 (storage unit).

そして、Videoドライバ62が起動(復帰)した後、Videoドライバ62は、代替ドライバ構造体201を参照して、代替ドライバ32により実行された復帰処理の内容を引き継ぐ。これにより、ゲストOS60のVideoドライバ62が起動する前に、Videoハードウェア21を復帰させて利用ができる。   After the video driver 62 is activated (returned), the video driver 62 refers to the alternative driver structure 201 and takes over the contents of the return process executed by the alternative driver 32. Thereby, before the video driver 62 of the guest OS 60 is started, the video hardware 21 can be restored and used.

ここで、準仮想化された従来の情報処理装置について例を挙げて説明する。図9は、従来の情報処理装置の構成の一例を示す図である。図9に示すように、情報処理装置300は、HW320と、ホストOS330と、ゲストOS350と、ゲストOS360と、Virtio351、361と、を主に備えている。   Here, an example of a conventional virtualized information processing apparatus will be described. FIG. 9 is a diagram illustrating an example of a configuration of a conventional information processing apparatus. As illustrated in FIG. 9, the information processing apparatus 300 mainly includes a HW 320, a host OS 330, a guest OS 350, a guest OS 360, and Virtual 351 and 361.

HW320は、さらに、ASIC(Application Specific Integrated Circuit)322、GPU(Graphics Processing Unit)321を備えている。また、ゲストOS350は、ホストOS330を介さずASIC322を制御するASICドライバ352を備えている。また、ゲストOS360は、さらに、ホストOS330を介さずGPU321を制御するGPUドライバ362を備えている。   The HW 320 further includes an application specific integrated circuit (ASIC) 322 and a graphics processing unit (GPU) 321. The guest OS 350 includes an ASIC driver 352 that controls the ASIC 322 without using the host OS 330. The guest OS 360 further includes a GPU driver 362 that controls the GPU 321 without using the host OS 330.

このように、情報処理装置300では、ゲストOS350、360がホストOS330を介さず直接HW320のASIC322やGPU321を制御するASICドライバ352やGPUドライバ362、いわゆるパススルードライバを備えている。   As described above, in the information processing apparatus 300, the guest OSs 350 and 360 include the ASIC driver 352 and the GPU driver 362 that directly control the ASIC 322 and the GPU 321 of the HW 320 without using the host OS 330, so-called pass-through drivers.

次に、従来の情報処理装置を参照して、装置の起動について説明する。図10は、従来の情報処理装置の構成の他の例を示す図である。図10に示すように、情報処理装置400は、HW420と、ホストOS430と、ゲストOS450と、ゲストOS460と、Virtio451、461と、を主に備えている。そして、ホストOS430は、仮想化管理部431を備えている。また、ゲストOS460は、Videoドライバ462を備え、HW420はVideoハードウェア421を備えている。図10に示す情報処理装置400は、本実施形態の情報処理装置100における代替ドライバ32を有していないが、他の各部の構成および機能は同様である(図2参照)。   Next, activation of the apparatus will be described with reference to a conventional information processing apparatus. FIG. 10 is a diagram illustrating another example of the configuration of a conventional information processing apparatus. As illustrated in FIG. 10, the information processing apparatus 400 mainly includes a HW 420, a host OS 430, a guest OS 450, a guest OS 460, and Virtual 451 and 461. The host OS 430 includes a virtualization management unit 431. The guest OS 460 includes a video driver 462, and the HW 420 includes video hardware 421. The information processing apparatus 400 illustrated in FIG. 10 does not include the alternative driver 32 in the information processing apparatus 100 of the present embodiment, but the configuration and function of other units are the same (see FIG. 2).

情報処理装置400では、ホストOS(Dom0)430が完全に起動し、マルチプロセス動作が可能になった後、ホストOS430に備えられている仮想化管理部431により、仮想環境上のゲストOS450(DomU1)およびゲストOS460(DomU2)を起動する。   In the information processing apparatus 400, after the host OS (Dom0) 430 is completely booted and multi-process operation is enabled, the virtualization management unit 431 provided in the host OS 430 performs the guest OS 450 (DomU1) on the virtual environment. ) And the guest OS 460 (DomU2).

ここで、情報処理装置400におけるVideoドライブの起動までの流れについて説明する。図11は、従来の情報処理装置におけるVideoドライブの起動までの流れを示す図である。図11(a)〜(c)のそれぞれは、情報処理装置400が起動している部分を表示している。   Here, the flow until the video drive is started in the information processing apparatus 400 will be described. FIG. 11 is a diagram showing a flow until the Video drive is started in the conventional information processing apparatus. Each of FIGS. 11A to 11C displays a portion where the information processing apparatus 400 is activated.

すなわち、図11(a)は、ホストOS430の起動が完了した直後の状態を示している。ホストOS430の起動後は、初期起動プロセスとして仮想化管理部431が起動する。図11(b)は、(a)の状態から、ゲストOS450が起動された状態を示している。そして、図11(c)は、さらに、ゲストOS460が起動され、パススルードライバであるVideoドライバ462が起動され、Videoハードウェア421を初期化処理して利用可能となった状態を示している。   That is, FIG. 11A shows a state immediately after the activation of the host OS 430 is completed. After the host OS 430 is activated, the virtualization management unit 431 is activated as an initial activation process. FIG. 11B shows a state where the guest OS 450 is activated from the state of FIG. FIG. 11C shows a state in which the guest OS 460 is further activated, the video driver 462 as a pass-through driver is activated, and the video hardware 421 is initialized and can be used.

図11(a)〜(c)に示すように、従来の情報処理装置400では、ホストOS430が起動し、仮想化管理部431がゲストOS450、460を起動し、さらにゲストOS460のVideoドライバ462が起動するまで、パススルーの対象となったハードウェア(ここでは、Videoハードウェア421)の初期化処理等の処理や使用をすることができない。   As shown in FIGS. 11A to 11C, in the conventional information processing apparatus 400, the host OS 430 is activated, the virtualization management unit 431 activates the guest OSs 450 and 460, and the video driver 462 of the guest OS 460 is installed. Until startup, it is not possible to perform processing or use such as initialization processing of the hardware (here, Video hardware 421) that is the subject of pass-through.

また、従来の情報処理装置400では、ゲストOS460が起動するまで、ホストOS430がパススルー対象のVideoハードウェア421を使用するケースであっても、Videoハードウェア421の状態をゲストOS460のVideoドライバ462に引き継ぐ機能がないため、再度初期化からやり直して使用しなければならなかった。   Further, in the conventional information processing apparatus 400, even if the host OS 430 uses the video hardware 421 to be passed through until the guest OS 460 is started, the status of the video hardware 421 is changed to the video driver 462 of the guest OS 460. Since there was no function to take over, it had to be used again from initialization.

このようにパススルードライバ(本実施形態ではVideoドライバ462)の制御が後回しになるのは、装置の起動時だけでなく省エネルギー状態(Suspend to RAM、Suspend to HDD)からの復帰時(省エネ復帰時)にも起きる。省エネ復帰時は、周辺回路にも電源が入り、それに対応するデバイスドライバも省エネ復帰処理を行う必要がある。その際、仮想環境上のゲストOS450、460の省エネ復帰は、ホストOS430の省エネ復帰が完了した後に行われる。   As described above, the control of the pass-through driver (in this embodiment, the video driver 462) is postponed not only when the apparatus is started but also when returning from the energy saving state (Suspend to RAM, Suspend to HDD) (when energy saving is restored). Also happens to. At the time of energy saving recovery, the peripheral circuit is also turned on, and the corresponding device driver must also perform energy saving recovery processing. At that time, the energy saving recovery of the guest OSs 450 and 460 on the virtual environment is performed after the energy saving recovery of the host OS 430 is completed.

図12は、従来の情報処理装置におけるVideoドライブの省エネルギー状態への移行から復帰までの流れを示す図である。図12(a)〜(c)は、省エネルギー状態への移行(省エネ移行)の流れを示しており、図12(d)〜(f)は、省エネルギー状態からの復帰(省エネ復帰)の流れを示している。   FIG. 12 is a diagram illustrating a flow from transition to return to an energy saving state of a video drive in a conventional information processing apparatus. FIGS. 12A to 12C show the flow of the transition to the energy saving state (energy saving transition), and FIGS. 12D to 12F show the flow of the return from the energy saving state (energy saving return). Show.

すなわち、図12(a)は、ホストOS430もゲストOS450、460も起動されている通常状態を示している。図12(b)は、ゲストOS450、460、Virtio451、461、Videoハードウェア421が省エネ状態へ移行した仮想環境のサスペンド状態を示している。図12(c)は、さらに、ホストOS430も省エネ状態へ移行し、全てが省エネ状態になったサスペンド状態を示している。   That is, FIG. 12A shows a normal state in which both the host OS 430 and the guest OSs 450 and 460 are activated. FIG. 12B shows a suspended state of the virtual environment in which the guest OSs 450 and 460, the Virtual 451 and 461, and the Video hardware 421 are shifted to the energy saving state. FIG. 12C further shows a suspended state in which the host OS 430 has also shifted to the energy saving state, and has all entered the energy saving state.

図12(d)は、(c)と同様サスペンド状態を示している。図12(e)は、省エネ状態からホストOS430が復帰した復帰状態を示している。図12(f)は、さらに、ゲストOS450、460、Virtio451、461、Videoハードウェア421が復帰し、全てが復帰した通常状態を示している。   FIG. 12D shows a suspended state as in FIG. FIG. 12E shows a return state in which the host OS 430 has returned from the energy saving state. FIG. 12F further shows a normal state in which the guest OSs 450 and 460, the Virtual 451 and 461, and the Video hardware 421 are restored and all are restored.

図12(d)〜(f)に示すように、従来の情報処理装置400では、ホストOS430が起動(復帰)し、仮想化管理部431がゲストOS450、460を起動(復帰)し、さらにゲストOS460のVideoドライバ462が起動(復帰)するまで、パススルーの対象となったハードウェア(ここでは、Videoハードウェア421)を復帰させて使用することができない。   As shown in FIGS. 12D to 12F, in the conventional information processing apparatus 400, the host OS 430 is activated (returned), the virtualization management unit 431 activates (returns) the guest OSs 450, 460, and the guest Until the video driver 462 of the OS 460 is activated (returned), the hardware (here, the video hardware 421) targeted for pass-through cannot be recovered and used.

つまり、従来の情報処理装置400は、パススルードライバであるVideoドライバ462により、ゲストOS460から直接制御されているVideoハードウェア421の初期化処理や復帰処理は、ゲストOS460が起動されないとできない。従って、パススルー対象のハードウェア(Videoハードウェア421)が利用可能になるための初期化処理や復帰処理は、ゲストOS460の起動時間分だけ遅れるため、システム全体として利用可能な状態になる時間はその分遅れてしまう。   That is, the conventional information processing apparatus 400 cannot perform initialization processing and restoration processing of the video hardware 421 directly controlled by the guest OS 460 by the video driver 462 that is a pass-through driver unless the guest OS 460 is activated. Accordingly, the initialization process and the restoration process for enabling the pass-through target hardware (Video hardware 421) to be used are delayed by the startup time of the guest OS 460. It will be a minute late.

また、デバイスによっては、初期化処理や省エネ復帰処理に物理的に時間がかかるものがあり(例えば、HDDのスピンアップなど)、初期化処理や省エネ復帰処理をできるだけ早く実行することでシステムのパフォーマンスを上げることができる。反対に、パススルー対象のデバイスの初期化処理や省エネ復帰処理に時間を要するものである場合、大幅にパフォーマンスを悪化させてしまう。   Also, depending on the device, the initialization process and the energy saving recovery process may take physically long time (for example, HDD spin-up etc.), and the system performance can be improved by executing the initialization process and energy saving recovery process as soon as possible. Can be raised. On the other hand, if the initialization process or the energy saving recovery process of the pass-through target device takes time, the performance will be greatly deteriorated.

そこで、本実施形態の情報処理装置100(図2参照)は、パススルー対象のハードウェアの初期化処理や省エネ復帰処理を代替して実行し、その内容を引き継ぐ代替ドライバ32を備えている。そして、ゲストOS60上のパススルードライバであるVideoドライバ62は、代替ドライバ32で初期化処理や省エネ復帰処理が実行されたハードウェアの情報を引き継ぐ機能を備えている。   Therefore, the information processing apparatus 100 (see FIG. 2) according to the present embodiment includes an alternative driver 32 that substitutes and executes the pass-through target hardware initialization process and the energy saving return process, and takes over the contents. The video driver 62, which is a pass-through driver on the guest OS 60, has a function of taking over the hardware information that has been subjected to the initialization process and the energy saving return process by the alternative driver 32.

次に、本実施形態の情報処理装置100による起動処理について説明する。図3は、本実施形態の情報処理装置における起動処理の流れを示すフローチャートである。図3(a)の部分は、ホストOS30の起動処理を示しており、図3(b)の部分は、ゲストOS60の起動処理を示している。   Next, activation processing by the information processing apparatus 100 according to the present embodiment will be described. FIG. 3 is a flowchart showing the flow of activation processing in the information processing apparatus of this embodiment. The part of FIG. 3A shows the boot process of the host OS 30, and the part of FIG. 3B shows the boot process of the guest OS 60.

まず、ホストOS30の起動処理を説明する。情報処理装置100の電源が投入されると、ホストOS30は、システム全体の初期化処理を行い(ステップS102)、その後、個別のドライバの初期化処理を行う(ステップS104)。   First, startup processing of the host OS 30 will be described. When the information processing apparatus 100 is turned on, the host OS 30 performs an initialization process for the entire system (step S102), and then performs an initialization process for individual drivers (step S104).

このとき、ホストOS30は、準仮想化対象のハードウェアモジュールであるVideoハードウェア21に対応する代替ドライバ32の初期化処理を行う。そして、代替ドライバ32は、初期化処理した内容を自己が有する代替ドライバ構造体201に記憶する(ステップS106)。   At this time, the host OS 30 performs initialization processing of the alternative driver 32 corresponding to the Video hardware 21 that is a hardware module to be paravirtualized. Then, the substitute driver 32 stores the initialized content in the substitute driver structure 201 that it has (step S106).

ドライバを含むホストOS30の初期化処理が終わると、ホストOS30は、プロセスの初期化・起動を行う(ステップS108)。このプロセスにおいて、ホストOS30は、ゲストOS50、60を操作する仮想化管理部31を起動する(ステップS110)。仮想化管理部31は、ゲストOS50、60を起動する(ステップS112、114)。そして、ホストOS30のシステムが動作状態となる(ステップS116)。   When the initialization process of the host OS 30 including the driver is completed, the host OS 30 initializes and activates the process (step S108). In this process, the host OS 30 activates the virtualization management unit 31 that operates the guest OSs 50 and 60 (step S110). The virtualization manager 31 activates the guest OSs 50 and 60 (steps S112 and 114). Then, the system of the host OS 30 enters an operating state (step S116).

次に、ゲストOS60の起動処理を説明する。ゲストOS60が起動されると、ゲストOS60は、仮想化OSとしてのシステムの初期化処理を行い(ステップS122)、その後、ドライバの初期化処理を行う(ステップS124)。   Next, the startup process of the guest OS 60 will be described. When the guest OS 60 is activated, the guest OS 60 performs initialization processing of the system as the virtualized OS (step S122), and then performs initialization processing of the driver (step S124).

このとき、パススルードライバであるVideoドライバ62を初期化する際、Virtio61によるVM間通信を介して、ホストOS30の代替ドライバ32の代替ドライバ構造体201にアクセスして、Videoハードウェア21の初期化処理の内容を引き継ぐ。そして、Videoドライバ62は、引き継いだVideoハードウェア21の初期化処理の内容を自己が有するVideoドライバ構造体202に記憶する(ステップS126)。   At this time, when the video driver 62 as the pass-through driver is initialized, the alternative driver structure 201 of the alternative driver 32 of the host OS 30 is accessed via the inter-VM communication by the video 61 to initialize the video hardware 21. Take over the contents of. Then, the video driver 62 stores the contents of the inherited initialization process of the video hardware 21 in the own video driver structure 202 (step S126).

ドライバを含むゲストOS60の初期化処理が終わると、ゲストOS60は、プロセスの初期化・起動を行う(ステップS128)。そして、ゲストOS60のシステムが動作状態となる(ステップS130)。   When the initialization process of the guest OS 60 including the driver is completed, the guest OS 60 initializes and activates the process (step S128). Then, the system of the guest OS 60 enters an operating state (step S130).

ここで、Virtio51、61によるVM間通信において、代替ドライバ32の代替ドライバ構造体201にアクセスするための手段は通常備えられていないが、ホストOS30側のバックエンドドライバとして通信用ドライバを備えることで容易にアクセスが実現できる。   Here, in the communication between VMs by the Virtual 51 and 61, a means for accessing the alternative driver structure 201 of the alternative driver 32 is not normally provided, but by providing a communication driver as a back-end driver on the host OS 30 side. Easy access.

たとえば、本実施形態の情報処理装置100のVideoドライバ62の場合であれば、ビデオモード(解像度、リフレッシュレートなど)の情報を引き継ぐことでビデオチップの再初期化が不要となる。このように、起動時に代替ドライバ32でVideoハードウェア21の初期化処理を実行することにより、ハードウェアの初期化処理に必須となる時間をパススルードライバ起動前から初期化することで見かけ上なくすことができる。   For example, in the case of the video driver 62 of the information processing apparatus 100 according to the present embodiment, it is not necessary to re-initialize the video chip by taking over the video mode (resolution, refresh rate, etc.) information. In this way, by executing the initialization process of the video hardware 21 by the alternative driver 32 at the time of startup, the time necessary for the hardware initialization process is apparently eliminated by initializing before the pass-through driver is started. Can do.

次に、図3におけるステップS106の初期化処理について詳述する。図4は、本実施形態の情報処理装置の起動時における代替ドライバの初期化処理の流れを示すフローチャートである。   Next, the initialization process in step S106 in FIG. 3 will be described in detail. FIG. 4 is a flowchart showing a flow of an alternative driver initialization process when the information processing apparatus according to this embodiment is started.

Videoハードウェア21に対応する代替ドライバ32は、ホストOS30によりシステムの初期化処理が行われると(ステップS182)、初期化処理の内容を、代替ドライバ構造体201に記憶する(ステップS184)。   When the host OS 30 performs system initialization processing (step S182), the alternative driver 32 corresponding to the Video hardware 21 stores the contents of the initialization processing in the alternative driver structure 201 (step S184).

この代替ドライバ32は、初期化処理と省エネ復帰処理とを実行する機能のみを有するドライバであって、他のOPEN/CLOSEといったシステムコールに対してはすべてエラーを返すように設計している。   This alternative driver 32 is a driver having only a function of executing an initialization process and an energy saving return process, and is designed to return an error for all other system calls such as OPEN / CLOSE.

また、初期化処理としてデバイスの初期化を行うが、時間のかかる処理に関しては終了の待ち合わせを行わない。すなわち、例えば、発信回路の安定時間など数100ms単位で起動された場合、初期化処理のトリガのみかけておいて、パススルードライバで完了を待つことでハードウェア初期化の待ち時間とゲストOS60の起動時間とを並列化して全体の待ち時間の短縮をはかることができる。   In addition, the device is initialized as the initialization process, but no waiting for completion is performed for the time-consuming process. That is, for example, when the system is started in units of several hundreds of milliseconds, such as the stabilization time of the transmission circuit, the hardware initialization wait time and the startup of the guest OS 60 are performed by waiting for the completion of the pass-through driver only by triggering the initialization process. The overall waiting time can be shortened by parallelizing time.

次に、図3におけるステップS126の初期化処理について詳述する。図5は、本実施形態の情報処理装置の起動時におけるVideoドライバの初期化処理の流れを示すフローチャートである。   Next, the initialization process in step S126 in FIG. 3 will be described in detail. FIG. 5 is a flowchart showing the flow of initialization processing of the video driver when the information processing apparatus of this embodiment is started.

まず、Videoドライバ62は、代替ドライバ構造体201からVirtio61を介して初期化処理の内容を読み込む(ステップS192)。この部分は各ドライバ実装に依存する。Videoドライバ62の場合、例えば、解像度設定、リフレッシュレート、現在使用しているビデオメモリ位置などの情報が初期化処理の内容となる。   First, the video driver 62 reads the contents of the initialization process from the alternative driver structure 201 via the video 61 (step S192). This part depends on each driver implementation. In the case of the video driver 62, for example, information such as the resolution setting, the refresh rate, and the currently used video memory position is the contents of the initialization process.

そして、デバイスを初期化することなく、これらの情報(初期化の内容)を引き継ぐことで、Videoドライバ62の初期化処理となり(ステップS194)、引き継いだ内容をVideoドライバ構造体202に記憶する。   Then, by inheriting these pieces of information (initialization contents) without initializing the device, the video driver 62 is initialized (step S194), and the inherited contents are stored in the video driver structure 202.

また、代替ドライバ32でハードウェアの初期化のトリガをかけている場合、初期化完了を確認、もしくは完了していない場合、継続して完了待ちを実施する。   If the alternative driver 32 triggers hardware initialization, the completion of initialization is confirmed or, if not completed, waiting for completion is carried out continuously.

次に、本実施形態の情報処理装置100による省エネ復帰処理について説明する。図6は、本実施形態の情報処理装置における省エネ復帰処理の流れを示すフローチャートである。図6(a)の部分は、ホストOS30の省エネ復帰処理を示しており、図6(b)の部分は、ゲストOS60の省エネ復帰処理を示している。   Next, the energy saving return process by the information processing apparatus 100 of this embodiment will be described. FIG. 6 is a flowchart showing the flow of energy saving return processing in the information processing apparatus of this embodiment. 6A shows the energy saving return process of the host OS 30, and the part of FIG. 6B shows the energy saving return process of the guest OS 60.

情報処理装置100が省エネ状態から復帰する場合、周辺回路として電源が落とされてしまうデバイスは、省エネ移行前に現状復帰するため、デバイスの初期化を含めた復帰処理が必要となる。   When the information processing apparatus 100 returns from the energy-saving state, a device whose power is turned off as a peripheral circuit returns to the current state before the transition to energy-saving, and thus a recovery process including device initialization is required.

まず、ホストOS30の省エネ復帰処理を説明する。起動時と同様に、情報処理装置100の復帰処理が開始されると、ホストOS30は、システム全体の復帰処理を行い(ステップS142)、その後、各ドライバの復帰処理ルーチンが呼び出され、ドライバの復帰処理を行う(ステップS144)。   First, the energy saving return process of the host OS 30 will be described. Similar to the start-up, when the return process of the information processing apparatus 100 is started, the host OS 30 performs the return process of the entire system (step S142), and then the return process routine of each driver is called to return the driver. Processing is performed (step S144).

このとき、ホストOS30は、代替ドライバ32に関しても復帰処理ルーチンが呼び出され、ホストOS30は、代替ドライバ32の復帰処理を行う。そして、代替ドライバ32は、初期化した処理内容を自己が有する代替ドライバ構造体201に記憶する(ステップS146)。   At this time, the host OS 30 also calls the return processing routine for the alternative driver 32, and the host OS 30 performs return processing for the alternative driver 32. Then, the substitute driver 32 stores the initialized processing content in the substitute driver structure 201 that the substitute driver 32 has (step S146).

ドライバを含むホストOS30の復帰処理が終わると、ホストOS30は、プロセスの復帰を行う(ステップS148)。このプロセスにおいて、ホストOS30は、ゲストOS50、60を操作する仮想化管理部31を復帰する(ステップS150)。仮想化管理部31は、ゲストOS50、60を復帰する(ステップS152、154)。そして、ホストOS30のシステムが動作状態となる(ステップS156)。   When the return processing of the host OS 30 including the driver is completed, the host OS 30 returns the process (step S148). In this process, the host OS 30 restores the virtualization management unit 31 that operates the guest OSs 50 and 60 (step S150). The virtualization manager 31 restores the guest OSs 50 and 60 (steps S152 and 154). Then, the system of the host OS 30 enters an operating state (step S156).

次に、ゲストOS60の復帰処理を説明する。ゲストOS60が復帰されると、ゲストOS60は、仮想化OSとしてのシステムの復帰処理を行い(ステップS162)、その後、各ドライバの復帰処理ルーチンが呼び出され、ドライバの復帰処理を行う(ステップS164)。   Next, the restoration process of the guest OS 60 will be described. When the guest OS 60 is restored, the guest OS 60 performs a system restoration process as a virtualized OS (step S162), and then a restoration process routine for each driver is called to perform the driver restoration process (step S164). .

このとき、パススルードライバであるVideoドライバ62を復帰する際、復帰処理ルーチンが呼び出され、Virtio61によるVM間通信を介して、ホストOS30の代替ドライバ32の代替ドライバ構造体201にアクセスして、Videoハードウェア21の復帰処理の内容を引き継ぐ。そして、Videoドライバ62は、引き継いだVideoハードウェア21の復帰処理の内容を自己が有するVideoドライバ構造体202に記憶する(ステップS166)。   At this time, when the video driver 62 that is a pass-through driver is restored, a restoration processing routine is called to access the alternative driver structure 201 of the alternative driver 32 of the host OS 30 via the inter-VM communication by the video 61, and the video hardware The contents of the restoration process of the wear 21 are taken over. Then, the video driver 62 stores the contents of the restored processing of the video hardware 21 in the video driver structure 202 that the video driver 62 has (step S166).

ドライバを含むゲストOS60の復帰処理が終わると、ゲストOS60は、プロセスの復帰を行う(ステップS168)。そして、ゲストOS60のシステムが動作状態となる(ステップS170)。   When the restoration process of the guest OS 60 including the driver is completed, the guest OS 60 performs process restoration (step S168). Then, the system of the guest OS 60 enters an operating state (step S170).

これにより、不要な再初期化を回避して、ゲストOS60の起動(復帰)を待つことなく、先に代替ドライバ32により復帰処理を開始することができる。   Thereby, unnecessary re-initialization can be avoided, and the return process can be started by the alternative driver 32 without waiting for the activation (return) of the guest OS 60.

次に、図6におけるステップS146の復帰処理について詳述する。図7は、本実施形態の情報処理装置の省エネ復帰時における代替ドライバの復帰処理の流れを示すフローチャートである。   Next, the return process in step S146 in FIG. 6 will be described in detail. FIG. 7 is a flowchart showing the flow of the replacement process of the alternative driver when the information processing apparatus according to the present embodiment returns to the energy saving mode.

Videoハードウェア21に対応する代替ドライバ32は、ホストOS30によりシステムの復帰処理が行われると(ステップS202)、復帰処理の内容を、代替ドライバ構造体201に記憶する(ステップS204)。   When the host OS 30 performs a system restoration process (step S202), the substitute driver 32 corresponding to the Video hardware 21 stores the contents of the restoration process in the substitute driver structure 201 (step S204).

なお、具体的な復帰処理の内容は、個別のドライバによって異なる。Videoドライバ62の場合、例えば、ビデオモード(解像度、リフレッシュレート)のレジューム処理(再設定処理)などの情報が復帰処理の内容となる。そして、代替ドライバ32は、それらの設定値を代替ドライバ構造体201に記憶する。   Note that the specific contents of the return process differ depending on the individual driver. In the case of the Video driver 62, for example, information such as a resume process (resetting process) of the video mode (resolution, refresh rate) is the contents of the restoration process. Then, the substitute driver 32 stores these setting values in the substitute driver structure 201.

次に、図6におけるステップS166の復帰処理について詳述する。図8は、本実施形態の情報処理装置の省エネ復帰時におけるVideoドライバの復帰処理の流れを示すフローチャートである。   Next, the return process in step S166 in FIG. 6 will be described in detail. FIG. 8 is a flowchart showing the flow of the restoration process of the video driver when the information processing apparatus according to the present embodiment is restored to the energy saving state.

まず、Videoドライバ62は、代替ドライバ構造体201からVirtio61を介して復帰処理の内容を読み込む(ステップS212)。Videoドライバ62の場合、例えば、ビデオモード(解像度、リフレッシュレート)のレジューム処理(再設定処理)などの情報が復帰処理の内容となる。この情報を元にパススルードライバ(Videoドライバ62)で必要な復帰処理を行う。   First, the video driver 62 reads the contents of the return process from the alternative driver structure 201 via the video 61 (step S212). In the case of the Video driver 62, for example, information such as a resume process (resetting process) of the video mode (resolution, refresh rate) is the contents of the restoration process. Based on this information, the pass-through driver (Video driver 62) performs necessary restoration processing.

そして、デバイスを復帰処理することなく、これらの情報(復帰処理の内容)を引き継ぐことで、Videoドライバ62の復帰処理となり(ステップS214)、引き継いだ内容をVideoドライバ構造体202に記憶する。   Then, by taking over these pieces of information (the contents of the restoration process) without performing the restoration process on the device, the restoration process of the Video driver 62 is performed (step S214), and the taken over contents are stored in the Video driver structure 202.

このように、本実施形態の準仮想化された情報処理装置100は、ホストOS30を介さず直接制御(パススルー)されるVideoハードウェア21に対応する代替ドライバ32を、ホストOS30に備えている。この代替ドライバ32は、情報処理装置100の起動時や省エネ復帰時に、パススルードライバであるVideoドライバ62が起動(復帰)するまで機能する。そして、代替ドライバ32がVideoハードウェア21の初期化処理や復帰処理を実行した後に、Videoドライバ62が起動(復帰)した場合にその処理の内容を引き継ぐ。これにより、Videoドライバ62は、初期化処理や復帰処理を再度行うことなく、Videoハードウェア21を利用することができるため、オーバーヘッドを回避して、処理負荷を抑制できる。   As described above, the paravirtualized information processing apparatus 100 according to the present embodiment includes the alternative driver 32 corresponding to the video hardware 21 that is directly controlled (passed through) without passing through the host OS 30 in the host OS 30. The alternative driver 32 functions until the video driver 62, which is a pass-through driver, is activated (returned) when the information processing apparatus 100 is activated or when energy saving is restored. Then, after the alternative driver 32 executes the initialization process and the return process of the Video hardware 21, when the Video driver 62 is activated (returned), the contents of the process are taken over. As a result, the video driver 62 can use the video hardware 21 without performing the initialization process and the return process again, thereby avoiding overhead and suppressing the processing load.

11 制御装置
12 主記憶装置
13 補助記憶装置
14 表示装置
15 入力装置
16 通信装置
20 HW
21 Videoハードウェア
30 ホストOS
31 仮想化管理部
32 代替ドライバ
50、60 ゲストOS
51、61 Virtio
62 Videoドライバ
100 情報処理装置
201 代替ドライバ構造体
202 Videoドライバ構造体
203、204 仮想記憶領域
11 Control Device 12 Main Storage Device 13 Auxiliary Storage Device 14 Display Device 15 Input Device 16 Communication Device 20 HW
21 Video hardware 30 Host OS
31 Virtualization management unit 32 Alternative driver 50, 60 Guest OS
51, 61 Viratio
62 Video Driver 100 Information Processing Device 201 Alternative Driver Structure 202 Video Driver Structure 203, 204 Virtual Storage Area

特開2012−38117号公報JP 2012-38117 A

Claims (4)

仮想環境上で動作する第1の処理部と、前記第1の処理部を動作させる第2の処理部とを有する情報処理装置において、
前記第1の処理部により動作され、前記第2の処理部を介さずに直接ハードウェアを制御する直接制御部と、
前記第2の処理部により動作され、前記直接制御部が起動する前に、前記直接制御部により実行される所定の処理を代替して実行する代替制御部と、を備え、
前記直接制御部は、起動した後、前記代替制御部により実行された前記所定の処理の内容を引き継ぐ、情報処理装置。
In an information processing apparatus having a first processing unit that operates in a virtual environment and a second processing unit that operates the first processing unit,
A direct control unit that is operated by the first processing unit and directly controls hardware without going through the second processing unit;
An alternative control unit that is operated by the second processing unit and executes a predetermined process executed by the direct control unit before the direct control unit is activated, and
The direct control unit is an information processing apparatus that takes over the content of the predetermined process executed by the alternative control unit after being activated.
前記代替制御部は、代替して実行した前記所定の処理の内容を記憶部に記憶し、
前記直接制御部は、起動した後、前記記憶部を参照して実行された前記所定の処理の内容を引き継ぐ、請求項1に記載の情報処理装置。
The substitution control unit stores the contents of the predetermined process executed in substitution in a storage unit,
The information processing apparatus according to claim 1, wherein the direct control unit takes over the contents of the predetermined process executed with reference to the storage unit after being activated.
前記所定の処理は、前記直接制御部により実行される前記ハードウェアの初期化処理である、請求項1または2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the predetermined process is an initialization process of the hardware executed by the direct control unit. 前記所定の処理は、前記直接制御部により実行される省エネルギー状態からの復帰処理である、請求項1または2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the predetermined process is a return process from an energy saving state executed by the direct control unit.
JP2016102437A 2015-10-02 2016-05-23 Information processing device Pending JP2017068824A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/277,268 US20170097836A1 (en) 2015-10-02 2016-09-27 Information processing apparatus
EP16191214.2A EP3151118A3 (en) 2015-10-02 2016-09-28 Information processing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015197105 2015-10-02
JP2015197105 2015-10-02

Publications (1)

Publication Number Publication Date
JP2017068824A true JP2017068824A (en) 2017-04-06

Family

ID=58492556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016102437A Pending JP2017068824A (en) 2015-10-02 2016-05-23 Information processing device

Country Status (1)

Country Link
JP (1) JP2017068824A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7566851B2 (en) 2022-11-29 2024-10-15 キヤノン株式会社 Information processing device, control method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7566851B2 (en) 2022-11-29 2024-10-15 キヤノン株式会社 Information processing device, control method, and program

Similar Documents

Publication Publication Date Title
US11875172B2 (en) Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
US8635395B2 (en) Method of suspending and resuming virtual machines
US9015705B2 (en) Computing device having a migrated virtual machine accessing physical storage space on another computing device
US9600369B2 (en) Operating system recovery method and apparatus, and terminal device
US9632813B2 (en) High availability for virtual machines in nested hypervisors
EP3117311A1 (en) Method and system for implementing virtual machine images
JP2011100431A (en) Device and method for controlling virtual machine
CN102567052A (en) Techniques for enabling remote management of servers configured with graphics processors
CN110968392B (en) Method and device for upgrading virtualized simulator
KR101673299B1 (en) Operating system recovery method and apparatus, and terminal device
CN102591675A (en) Method and system for management of multiple software images with shared memory blocks
US9557980B2 (en) Seamless application integration apparatus and method
JP2014059733A (en) Information processing system, and image processor
US9852029B2 (en) Managing a computing system crash
US9870246B2 (en) Systems and methods for defining virtual machine dependency mapping
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
JP2017068824A (en) Information processing device
CN113971069A (en) Controlling screen video display via manageability controller
US20230026015A1 (en) Migration of virtual computing storage resources using smart network interface controller acceleration
US20230350770A1 (en) Recovery of smart network interface controller operating system
US10776287B2 (en) Headless support using serial-based virtual consoles in a computing system
JP4292220B2 (en) Virtual computer system
JP4548514B2 (en) Control method of virtual computer system
EP3151118A2 (en) Information processing apparatus