JP5862408B2 - エミュレーション装置、及びエミュレーションプログラム - Google Patents
エミュレーション装置、及びエミュレーションプログラム Download PDFInfo
- Publication number
- JP5862408B2 JP5862408B2 JP2012072236A JP2012072236A JP5862408B2 JP 5862408 B2 JP5862408 B2 JP 5862408B2 JP 2012072236 A JP2012072236 A JP 2012072236A JP 2012072236 A JP2012072236 A JP 2012072236A JP 5862408 B2 JP5862408 B2 JP 5862408B2
- Authority
- JP
- Japan
- Prior art keywords
- environment
- guest
- attribute
- address
- 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.)
- 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/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/45583—Memory management, e.g. access or allocation
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)
Description
ホストOSによって制御されるホスト環境とは仮想アドレスと物理アドレスの対応付けが異なるゲスト環境における仮想アドレスを、前記ホスト環境における物理アドレスに変換するアドレス変換部と、
前記ゲスト環境における仮想アドレスを前記ゲスト環境における物理アドレスに変換する際に得られるページの属性が、前記ホスト環境には存在しないゲスト環境固有の属性である場合に、該ゲスト環境固有の属性を反映させた例外処理を行う例外処理部と、
を備えるエミュレーション装置である。
以下、図面を参照し、本発明の第1実施例に係るエミュレーション装置、及びエミュレーションプログラムについて説明する。
図1は、本発明の第1実施例に係るエミュレーション装置1のハードウェア構成例である。エミュレーション装置1は、例えば、CPU(Central Processing Unit)10と、ドライブ装置12と、補助記憶装置16と、メモリ装置18と、インターフェース装置20と、入力装置22と、表示装置24と、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。
図2は、本発明の第1実施例に係るエミュレーション装置1のソフトウェア構成図である。図示するように、エミュレーション装置1は、プロセッサ部30と、MMU(Memory Management Unit)32と、ホストOS(オペレーティングシステム)40と、エミュレータ50と、ゲストOS60と、ゲストプログラム70と、を備える。プロセッサ部30は、図1に示すハードウェアの一部又は全部である。
図10は、本発明の第2実施例に係るエミュレーション装置2のソフトウェア構成図である。第2実施例に係るエミュレーション装置2は、第1実施例と比較すると、ゲストOS60を省略している。このため、第2実施例に係るエミュレーション装置2は、プロセッサのエミュレーションのみ行うものであり、例えばオープンソースのプロセッサエミュレータであるQEMUの、ユーザーモードエミュレーションに適用することができる。ユーザーモードエミュレーションでは、あるプロセッサを対象として設計されたプロセスを、他のプロセッサで実行させることができる。
図11は、本発明の第3実施例に係るエミュレーション装置3のソフトウェア構成図である。第3実施例に係るエミュレーション装置3は、第1実施例と比較すると、エミュレータ50がMMUエミュレータ部、例外ハンドラ、デバイスエミュレータ部、命令エミュレータ部を備え、ハイパーバイザーとして機能する。
(付記1)
ホストOSによって制御されるホスト環境とは仮想アドレスと物理アドレスの対応付けが異なるゲスト環境における仮想アドレスを、前記ホスト環境における物理アドレスに変換するアドレス変換部と、
前記ゲスト環境における仮想アドレスを前記ゲスト環境における物理アドレスに変換する際に得られるページの属性が、前記ホスト環境には存在しないゲスト環境固有の属性である場合に、該ゲスト環境固有の属性を反映させた例外処理を行う例外処理部と、
を備えるエミュレーション装置。
(付記2)
前記例外処理部は、前記データの属性が、前記ゲスト環境固有の属性のうち特定の属性である場合に、前記ゲスト環境で動作するプログラム毎に用意される仮想アドレス空間の識別子毎に、前記ゲスト環境における仮想アドレスを前記ホスト環境における物理アドレスに変換する変換表を保持し、前記仮想アドレス空間の識別子が変更されたときに前記変換表を切り替えることを特徴とする、
付記1記載のエミュレーション装置。
(付記3)
コンピュータに、
ホストOSによって制御されるホスト環境とは仮想アドレスと物理アドレスの対応付けが異なるゲスト環境における仮想アドレスを、前記ホスト環境における物理アドレスに変換させ、
前記ゲスト環境で動作するプログラムが扱うページの属性が、前記ホスト環境には存在しないゲスト環境固有の属性である場合に、該ゲスト環境固有の属性を反映させた例外処理を行わせることを特徴とする、
エミュレーションプログラム。
(付記4)
前記例外処理は、前記データの属性が、前記ゲスト環境固有の属性のうち特定の属性である場合に、前記ゲスト環境で動作するプログラム毎に用意される仮想アドレス空間の識別子毎に、前記ゲスト環境における仮想アドレスを前記ホスト環境における物理アドレスに変換する変換表を保持し、前記仮想アドレス空間の識別子が変更されたときに前記変換表を切り替える処理であることを特徴とする、
付記3記載のエミュレーションプログラム。
10 CPU
12 ドライブ装置
14 記憶媒体
16 補助記憶装置
18 メモリ装置
20 インターフェース装置
22 入力装置
24 表示装置
30 プロセッサ部
32 MMU
42、52、62 変換表
40 ホストOS
44 MMUエミュレータ部
46 例外ハンドラ
50 エミュレータ
54 デバイスエミュレータ部
56 命令エミュレータ部
60 ゲストOS
70 ゲストプログラム
Claims (4)
- ホストOSによって制御されるホスト環境とは仮想アドレスと物理アドレスの対応付けが異なるゲスト環境における仮想アドレスを、前記ホスト環境における物理アドレスに変換するアドレス変換部と、
前記ゲスト環境における仮想アドレスを前記ゲスト環境における物理アドレスに変換する際に得られるページの属性が、前記ホスト環境には存在しないゲスト環境固有の属性である場合に、該ゲスト環境固有の属性を反映させた例外処理を行う例外処理部と、
を備えるエミュレーション装置。 - 前記例外処理部は、前記ページの属性が、前記ゲスト環境固有の属性のうち特定の属性である場合に、前記ゲスト環境で動作するプログラム毎に用意される仮想アドレス空間の識別子毎に、前記ゲスト環境における仮想アドレスを前記ホスト環境における物理アドレスに変換する変換表を保持し、前記仮想アドレス空間の識別子が変更されたときに前記変換表を切り替えることを特徴とする、
請求項1記載のエミュレーション装置。 - コンピュータに、
ホストOSによって制御されるホスト環境とは仮想アドレスと物理アドレスの対応付けが異なるゲスト環境における仮想アドレスを、前記ホスト環境における物理アドレスに変換させ、
前記ゲスト環境で動作するプログラムが扱うページの属性が、前記ホスト環境には存在しないゲスト環境固有の属性である場合に、該ゲスト環境固有の属性を反映させた例外処理を行わせることを特徴とする、
エミュレーションプログラム。 - 前記例外処理は、前記ページの属性が、前記ゲスト環境固有の属性のうち特定の属性である場合に、前記ゲスト環境で動作するプログラム毎に用意される仮想アドレス空間の識別子毎に、前記ゲスト環境における仮想アドレスを前記ホスト環境における物理アドレスに変換する変換表を保持し、前記仮想アドレス空間の識別子が変更されたときに前記変換表を切り替える処理であることを特徴とする、
請求項3記載のエミュレーションプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012072236A JP5862408B2 (ja) | 2012-03-27 | 2012-03-27 | エミュレーション装置、及びエミュレーションプログラム |
US13/733,993 US9626201B2 (en) | 2012-03-27 | 2013-01-04 | Processor emulation device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012072236A JP5862408B2 (ja) | 2012-03-27 | 2012-03-27 | エミュレーション装置、及びエミュレーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013205972A JP2013205972A (ja) | 2013-10-07 |
JP5862408B2 true JP5862408B2 (ja) | 2016-02-16 |
Family
ID=49236192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012072236A Expired - Fee Related JP5862408B2 (ja) | 2012-03-27 | 2012-03-27 | エミュレーション装置、及びエミュレーションプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626201B2 (ja) |
JP (1) | JP5862408B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI540511B (zh) * | 2015-04-30 | 2016-07-01 | 捷鼎國際股份有限公司 | 用以存取虛擬機器之電腦系統及方法 |
JP6858885B2 (ja) * | 2018-03-20 | 2021-04-14 | 深▲セン▼前▲海▼▲達▼▲闥▼▲雲▼端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | コンピュータデバイスにおけるゲストオペレーティングシステムのスクリーンショット方法及び装置 |
JP6708860B2 (ja) * | 2019-04-18 | 2020-06-10 | エルゼットラブズ ゲーエムベーハー | 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 |
JP7627649B2 (ja) | 2021-12-08 | 2025-02-06 | ルネサスエレクトロニクス株式会社 | 半導体装置及びハードウェア仮想化方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671791B1 (en) * | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
US7058768B2 (en) * | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
US7383587B2 (en) * | 2002-11-18 | 2008-06-03 | Arm Limited | Exception handling control in a secure processing system |
US7062631B1 (en) * | 2003-07-17 | 2006-06-13 | Transmeta Corporation | Method and system for enforcing consistent per-physical page cacheability attributes |
JP2005078419A (ja) * | 2003-09-01 | 2005-03-24 | Ricoh Co Ltd | 情報処理装置及びファイル管理方法 |
US8024730B2 (en) * | 2004-03-31 | 2011-09-20 | Intel Corporation | Switching between protected mode environments utilizing virtual machine functionality |
US7260702B2 (en) | 2004-06-30 | 2007-08-21 | Microsoft Corporation | Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor |
US7340582B2 (en) * | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
US7334107B2 (en) * | 2004-09-30 | 2008-02-19 | Intel Corporation | Caching support for direct memory access address translation |
US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US7444493B2 (en) * | 2004-09-30 | 2008-10-28 | Intel Corporation | Address translation for input/output devices using hierarchical translation tables |
DE602004027516D1 (de) * | 2004-12-03 | 2010-07-15 | St Microelectronics Srl | Ein Verfahren zum Verwalten von virtuellen Maschinen in einer körperlichen Verarbeitungsmaschine, ein entsprechendes Prozessorsystem und Computerprogrammprodukt dafür |
US7886126B2 (en) * | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US20070038435A1 (en) * | 2005-08-10 | 2007-02-15 | Takayoshi Koizumi | Emulation method, emulator, computer-attachable device, and emulator program |
US7499057B2 (en) * | 2005-09-09 | 2009-03-03 | Microsoft Corporation | Address translation in an integrated graphics environment |
US9274974B1 (en) * | 2005-10-21 | 2016-03-01 | Vmware, Inc. | Isolating data within a computer system using private shadow mappings |
US8045828B2 (en) * | 2007-07-09 | 2011-10-25 | Kabushiki Kaisha Toshiba | Apparatus for processing images, and method and computer program product for detecting image updates |
US8146107B2 (en) * | 2007-07-10 | 2012-03-27 | Mitel Networks Corporation | Virtual machine environment for interfacing a real time operating system environment with a native host operating system |
US8146106B2 (en) * | 2007-12-31 | 2012-03-27 | Intel Corporation | On-demand emulation via user-level exception handling |
JP4810548B2 (ja) * | 2008-02-07 | 2011-11-09 | 株式会社東芝 | サーバ装置、更新画像検出方法およびプログラム |
JP5115332B2 (ja) * | 2008-05-22 | 2013-01-09 | 富士通株式会社 | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 |
US8074045B2 (en) * | 2008-05-30 | 2011-12-06 | Vmware, Inc. | Virtualization with fortuitously sized shadow page tables |
KR20120068765A (ko) * | 2009-07-17 | 2012-06-27 | 가부시끼가이샤 도시바 | 메모리 관리 장치 |
US8341627B2 (en) * | 2009-08-21 | 2012-12-25 | Mcafee, Inc. | Method and system for providing user space address protection from writable memory area in a virtual environment |
US8327059B2 (en) * | 2009-09-30 | 2012-12-04 | Vmware, Inc. | System and method to enhance memory protection for programs in a virtual machine environment |
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US9529729B2 (en) * | 2010-11-16 | 2016-12-27 | International Business Machines Corporation | Location of memory management translations in an emulated processor |
US8832351B2 (en) * | 2010-12-13 | 2014-09-09 | Vmware, Inc. | Virtualizing processor memory protection with “L1 iterate and L2 drop/repopulate” |
-
2012
- 2012-03-27 JP JP2012072236A patent/JP5862408B2/ja not_active Expired - Fee Related
-
2013
- 2013-01-04 US US13/733,993 patent/US9626201B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013205972A (ja) | 2013-10-07 |
US20130262075A1 (en) | 2013-10-03 |
US9626201B2 (en) | 2017-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220050791A1 (en) | Linear to physical address translation with support for page attributes | |
JP6202543B2 (ja) | 動的アドレス変換テーブルを管理する方法、システムおよびコンピュータ・プログラム | |
JP6284130B2 (ja) | ローカル・クリア制御 | |
Gandhi et al. | Agile paging: Exceeding the best of nested and shadow paging | |
US9335943B2 (en) | Method and apparatus for fine grain memory protection | |
US9626298B2 (en) | Translation of input/output addresses to memory addresses | |
JP5812245B2 (ja) | ページング可能ゲストをサポートするコンピューティング環境のストレージの管理を容易にするためのコンピュータ可読プログラム・コード・ロジック、方法、およびシステム | |
JP5736044B2 (ja) | アダプタに関する操作パラメータの選択的設定の制御 | |
CN104182269B (zh) | 一种kvm虚拟机的物理内存取证方法 | |
US20140337585A1 (en) | Page table management | |
JPH0658650B2 (ja) | 仮想計算機システム | |
JP2013534666A (ja) | アダプタのアドレス・スペースへのゲスト・アクセスのための方法、システム、およびコンピュータ・プログラム | |
EP3789881A1 (en) | Method and device for monitoring memory access behavior of sample process | |
JP5862408B2 (ja) | エミュレーション装置、及びエミュレーションプログラム | |
JP2011523741A (ja) | ホストデータ処理装置内におけるデバイスエミュレーションのサポート | |
WO2018214482A1 (zh) | 一种虚拟机的监控方法和装置 | |
CN114840299A (zh) | 一种申威架构下的改进嵌套页表内存虚拟化方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151109 |
|
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: 20151201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5862408 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |