JP5941868B2 - 仮想計算機システムおよび仮想計算機におけるi/o実施方法 - Google Patents
仮想計算機システムおよび仮想計算機におけるi/o実施方法 Download PDFInfo
- Publication number
- JP5941868B2 JP5941868B2 JP2013087040A JP2013087040A JP5941868B2 JP 5941868 B2 JP5941868 B2 JP 5941868B2 JP 2013087040 A JP2013087040 A JP 2013087040A JP 2013087040 A JP2013087040 A JP 2013087040A JP 5941868 B2 JP5941868 B2 JP 5941868B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- driver
- virtual machine
- area
- shared area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
前記第一の仮想計算機に割当てられたデバイスのドライバ1を、前記第一の仮想計算機に割り当てられた第一の仮想メモリに展開し、
前記第一の仮想計算機に割当てられたデバイスの識別子をコントローラ情報として、前記ドライバ1に格納し、
前記ドライバ1が展開された前記第一の仮想メモリの領域内に、共有領域1を生成し、
前記ドライバ1に対応し、前記第一の仮想計算機に割当てられたデバイスの識別子と、前記共有領域1のアドレスとを、アドレス管理情報に格納し、
前記アドレス管理情報を、前記第一の仮想化機構に送信し、
前記第一の仮想化機構が有するドライバ生成機構Aは、
前記ドライバ生成機構1から受信した前記アドレス管理情報を参照して、展開するドライバに対応する前記第一の仮想計算機に割当てられたデバイスの識別子を取得し、
前記取得した第一の仮想計算機に割当てられたデバイスの識別子を、前記第一の仮想化機構が認識するデバイスの識別子に変換し、
前記第一の仮想化機構が認識するデバイスの識別子に対応するデバイスのドライバAを、前記物理メモリに展開し、
前記受信したアドレス管理情報を参照して、前記第一の仮想計算機が割当てられたデバイスの識別子に対応する前記共有領域1のアドレスを取得し、
前記取得した共有領域1のアドレスを、前記第一の仮想化機構が認識する共有領域Aのアドレスに変換し、
前記ドライバAが展開された前記物理メモリの領域内に、前記第一の仮想化機構が認識するアドレスに変換された共有領域Aを生成し、
前記ドライバ生成機構1のうちゲストドライバ生成部432は、
前記コントローラ情報に格納される識別子を用いて、前記アドレス管理情報を検索し、
前記アドレス管理情報に含まれる識別子と、前記コントローラ情報に格納される識別子とが一致する場合、前記一致する識別子に対応する共有領域1のアドレスを取得し、
前記取得した共有領域1のアドレスを、前記第二の仮想計算機が認識する共有領域2のアドレスに変換し、
前記変換した共有領域2のアドレスを、前記第二の仮想計算機に送信し、
前記第二の仮想計算機は、
前記第一の仮想計算機から受けた割込に対応するデバイスのドライバを、第二の仮想計算機のドライバ2とし、
前記ドライバ生成機構1から受信した前記共有領域2のアドレスを、前記ドライバ2に格納し、
前記第二の仮想計算機のドライバ2は、
前記第二の仮想計算機のIOの実行要求を受信し、
前記共有領域2に、前記受信したIOの実行要求を格納し、
前記第一の仮想化機構は、
前記IOの実行要求の前記共有領域2への格納により、前記共有領域2と対応する前記共有領域Aを参照し、
前記IOの実行要求を、前記第一の仮想計算機に割当てられたデバイスに対して実行し、
前記IOの実行完了を、前記ドライバ1に送信し、
前記第一の仮想計算機のドライバ1は、
前記第一の仮想化機構から受信したIOの実行完了を、前記ドライバ2に送信し、
前記第二の仮想計算機のドライバ2は、
前記ドライバ1から、IOの実行完了を受信する。
ゲストOS起動部A(331)は、ステップ1002で取得したデバイスの識別子712で特定されるデバイスをステップ1001で起動を開始した1stOS1,例えば1stOS122に割り当てて,1stOSの起動を継続する(ステップ1003)。
ステップ1707実施後,ステップ1703に戻る。
102.デバイス
111.CPU
112.メモリ
113.I/Oコントローラ
121.仮想化機構A
122.1stOS
123.仮想化機構B
124.2ndOS
Claims (4)
- CPUと物理メモリとを備える物理計算機と、
前記物理計算機上で動作して、第一の仮想計算機を提供する第一の仮想化機構と、
前記第一の仮想計算機上で動作して、第二の仮想計算機を提供する第二の仮想化機構と、
前記物理計算機に接続されるデバイスとを備え、
前記第一の仮想計算機が有するドライバ生成機構1は、
前記第一の仮想計算機に割当てられたデバイスのドライバ1を、前記第一の仮想計算機に割り当てられた第一の仮想メモリに展開し、
前記第一の仮想計算機に割当てられたデバイスの識別子をコントローラ情報として、前記ドライバ1に格納し、
前記ドライバ1が展開された前記第一の仮想メモリの領域内に、共有領域1を生成し、
前記ドライバ1に対応し、前記第一の仮想計算機に割当てられたデバイスの識別子と、前記共有領域1のアドレスとを、アドレス管理情報に格納し、
前記アドレス管理情報を、前記第一の仮想化機構に送信し、
前記第一の仮想化機構が有するドライバ生成機構Aは、
前記ドライバ生成機構1から受信した前記アドレス管理情報を参照して、前記第一の仮想計算機に割当てられたデバイスの識別子を取得し、
前記取得した第一の仮想計算機に割当てられたデバイスの識別子を、前記第一の仮想化機構が認識するデバイスの識別子に変換し、
前記第一の仮想化機構が認識するデバイスの識別子に対応するデバイスのドライバAを、前記物理メモリに展開し、
前記受信したアドレス管理情報を参照して、前記第一の仮想計算機が割当てられたデバイスの識別子に対応する前記共有領域1のアドレスを取得し、
前記取得した共有領域1のアドレスを、前記第一の仮想化機構が認識する共有領域Aのアドレスに変換し、
前記ドライバAが展開された前記物理メモリの領域内に、前記第一の仮想化機構が認識するアドレスに変換された共有領域Aを生成し、
前記ドライバ生成機構1は、
前記コントローラ情報に格納される識別子を用いて、前記アドレス管理情報を検索し、
前記アドレス管理情報に含まれる識別子と、前記コントローラ情報に格納される識別子とが一致する場合、前記一致する識別子に対応する共有領域1のアドレスを取得し、
前記取得した共有領域1のアドレスを、前記第二の仮想計算機が認識する共有領域2のアドレスに変換し、
前記変換した共有領域2のアドレスを、前記第二の仮想計算機に送信し、
前記第二の仮想計算機は、
前記第一の仮想計算機から受けた割込に対応するデバイスのドライバを、第二の仮想計算機のドライバ2とし、
前記ドライバ生成機構1から受信した前記共有領域2のアドレスを、前記ドライバ2に格納し、
前記第二の仮想計算機のドライバ2は、
前記第二の仮想計算機のIOの実行要求を受信し、
前記共有領域2に、前記受信したIOの実行要求を格納し、
前記第一の仮想化機構は、
前記IOの実行要求の前記共有領域2への格納により、前記共有領域2と対応する前記共有領域Aを参照し、
前記IOの実行要求を、前記第一の仮想計算機に割当てられたデバイスに対して実行し、
前記IOの実行完了を、前記ドライバ1に送信し、
前記第一の仮想計算機のドライバ1は、
前記第一の仮想化機構から受信したIOの実行完了を、前記ドライバ2に送信し、
前記第二の仮想計算機のドライバ2は、
前記ドライバ1から、IOの実行完了を受信する
ことを特徴とする仮想計算機システム。 - 前記第二の仮想計算機は、前記第一の仮想計算機に割当てられたデバイスのドライバ1を認識することを特徴とする請求項1記載の仮想計算機システム。
- 前記共有領域は、前記第一の仮想化機構と前記第二の仮想計算機から操作可能であることを特徴とする請求項2記載の仮想計算機システム。
- 前記仮想計算機の構成を多段とすることを特徴とする請求項3記載の計算機システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013087040A JP5941868B2 (ja) | 2013-04-18 | 2013-04-18 | 仮想計算機システムおよび仮想計算機におけるi/o実施方法 |
US14/254,581 US9262184B2 (en) | 2013-04-18 | 2014-04-16 | Virtual computer system and I/O implementing method in virtual computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013087040A JP5941868B2 (ja) | 2013-04-18 | 2013-04-18 | 仮想計算機システムおよび仮想計算機におけるi/o実施方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014211727A JP2014211727A (ja) | 2014-11-13 |
JP5941868B2 true JP5941868B2 (ja) | 2016-06-29 |
Family
ID=51730053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013087040A Expired - Fee Related JP5941868B2 (ja) | 2013-04-18 | 2013-04-18 | 仮想計算機システムおよび仮想計算機におけるi/o実施方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9262184B2 (ja) |
JP (1) | JP5941868B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162663B2 (en) * | 2014-02-17 | 2018-12-25 | Hitachi, Ltd. | Computer and hypervisor-based resource scheduling method |
CN106886429B (zh) * | 2015-12-16 | 2020-11-06 | 华为技术有限公司 | 一种加载驱动程序的方法和服务器 |
CN107807843B (zh) * | 2017-10-26 | 2019-05-24 | 北京百度网讯科技有限公司 | 虚拟机中的i/o请求处理方法、设备及计算机可读介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2523502B2 (ja) * | 1986-06-04 | 1996-08-14 | 株式会社日立製作所 | リカ−シブ仮想計算機の制御方式 |
JP4100968B2 (ja) * | 2002-06-06 | 2008-06-11 | 株式会社日立製作所 | データマッピング管理装置 |
US20060005190A1 (en) * | 2004-06-30 | 2006-01-05 | Microsoft Corporation | Systems and methods for implementing an operating system in a virtual machine environment |
JP4864817B2 (ja) | 2007-06-22 | 2012-02-01 | 株式会社日立製作所 | 仮想化プログラム及び仮想計算機システム |
JP5246014B2 (ja) * | 2009-04-22 | 2013-07-24 | 富士通株式会社 | 仮想化プログラム、仮想化処理方法及び装置 |
US20110153909A1 (en) * | 2009-12-22 | 2011-06-23 | Yao Zu Dong | Efficient Nested Virtualization |
JP2011145912A (ja) * | 2010-01-15 | 2011-07-28 | Fujitsu Ltd | 仮想計算機を使用したクライアントシステム、仮想計算機を使用したクライアント制御方法及びそのプログラム |
-
2013
- 2013-04-18 JP JP2013087040A patent/JP5941868B2/ja not_active Expired - Fee Related
-
2014
- 2014-04-16 US US14/254,581 patent/US9262184B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014211727A (ja) | 2014-11-13 |
US9262184B2 (en) | 2016-02-16 |
US20140317619A1 (en) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5643190B2 (ja) | 局所的集合内のタスクを汎用的集合に割り当てるための方法及びコンピュータ読取可能記録媒体 | |
US9996401B2 (en) | Task processing method and virtual machine | |
JP5597196B2 (ja) | プロセス内のスケジューラインスタンス | |
KR20110019729A (ko) | 스케줄러 내의 스케줄링 컬렉션 | |
US8291426B2 (en) | Memory allocators corresponding to processor resources | |
CN115185880B (zh) | 一种数据存储方法及装置 | |
JP5941868B2 (ja) | 仮想計算機システムおよび仮想計算機におけるi/o実施方法 | |
TW200925871A (en) | Dynamic logical data channel assignment using time-grouped allocations | |
US20200371827A1 (en) | Method, Apparatus, Device and Medium for Processing Data | |
JP5420972B2 (ja) | メモリ管理装置 | |
TWI783401B (zh) | 記憶體管理方法和相關產品 | |
CN111767082A (zh) | 计算芯片启动方法、装置和计算机*** | |
JP5093242B2 (ja) | 自己診断処理を行う情報処理装置、自己診断処理方法及び自己診断処理プログラム | |
CN110618794B (zh) | 一种SSD固件访问NandFlash的方法和*** | |
US20100250507A1 (en) | Enumeration of a concurrent data structure | |
JP2011039790A (ja) | 仮想マシンイメージ転送装置及び方法及びプログラム | |
CN104714844B (zh) | 轻量级操作***部署方法及装置 | |
JP5163128B2 (ja) | 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ | |
JP3726701B2 (ja) | カーネル空間のデマンドページング・スワップアウト方式および方法 | |
CN108021442A (zh) | 释放物理内存的***、装置及方法 | |
WO2024060228A1 (zh) | 获取数据的方法、装置、***及存储介质 | |
CN110928582B (zh) | 信息处理设备和配置信息处理设备的目标装置的方法 | |
US20170322825A1 (en) | Method of processing input and output of virtual machine | |
JP5195997B2 (ja) | カーネルソースコード最適化方法、カーネルソースコード最適化装置及びプログラム | |
CN114138451A (zh) | 集群部署方法、装置、磁盘分配方法、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150518 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160523 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5941868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |