JP5115332B2 - エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 - Google Patents
エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 Download PDFInfo
- Publication number
- JP5115332B2 JP5115332B2 JP2008134527A JP2008134527A JP5115332B2 JP 5115332 B2 JP5115332 B2 JP 5115332B2 JP 2008134527 A JP2008134527 A JP 2008134527A JP 2008134527 A JP2008134527 A JP 2008134527A JP 5115332 B2 JP5115332 B2 JP 5115332B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- instruction
- memory map
- emulation
- program
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 68
- 238000012545 processing Methods 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Description
前記対象プログラムが出力した命令を自プログラムの実行環境で処理可能な命令に変換する変換手順と、
前記対象プログラムが使用するメモリ領域に対し、前記自プログラムの実行環境に基づく書込み保護を施した第1メモリマップと、前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、を作成するメモリマップ作成手順と、
前記変換手順が出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換え手順と、
をコンピュータに実行させることを特徴とするエミュレーションプログラム。
前記対象プログラムが出力した命令を自装置が処理可能な命令に変換する変換手段と、
前記対象プログラムが使用するメモリ領域に対し、前記自装置の動作環境に基づく書込み保護を施した第1メモリマップと、
前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、
前記変換手段が出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換え手段と、
を備えたことを特徴とするエミュレーション装置。
前記対象プログラムが出力した命令を実際の実行環境で処理可能な命令に変換する変換ステップと、
前記対象プログラムが使用するメモリ領域に対し、前記実際の実行環境に基づく書込み保護を施した第1メモリマップと、前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、を作成するメモリマップ作成ステップと、
前記変換ステップが出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換えステップと、
を含んだことを特徴とするエミュレーション方法。
11 演算処理部
12 メモリ
20 エミュレーションプログラム
21 命令解釈部
22 命令変換部
23 演算処理部
24 メモリマップ作成部
25 実メモリ
26,27 仮想メモリマップ
28 例外ハンドラ
28a 判別部
28b 命令書き換え部
28c 例外処理部
Claims (7)
- 対象プログラムの実行環境をソフトウェアで提供するエミュレーションプログラムであって、
前記対象プログラムが出力した命令を自プログラムの実行環境で処理可能な命令に変換する変換手順と、
前記対象プログラムが使用するメモリ領域に対し、前記自プログラムの実行環境に基づく書込み保護を施した第1メモリマップと、前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、を作成するメモリマップ作成手順と、
前記変換手順が出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換え手順と、
をコンピュータに実行させることを特徴とするエミュレーションプログラム。 - 前記第2メモリマップは、前記第1メモリマップと同一内容で、アドレスが所定量ずれたメモリマップであることを特徴とする請求項1に記載のエミュレーションプログラム。
- 前記命令書き換え手順は、前記第2メモリマップにおける書き込み先が書込み保護されている場合に、書き込み違反時に例外処理に移行する書き込み命令に書き換えることを特徴とする請求項1または2に記載のエミュレーションプログラム。
- 前記対象プログラムが出力した命令を解釈する命令解釈手順をさらにコンピュータに実行させ、前記変換手順は、前記命令解釈手順が解釈した書き込み命令が書込み保護違反を生じた場合に、当該命令を含む命令列を変換することを特徴とする請求項1〜3のいずれか一つに記載のエミュレーションプログラム。
- 前記命令解釈手順は、前記対象プログラムが出力した命令を解釈する場合に、前記変換手順による変換対象範囲の起点を示す起点情報を作成することを特徴とする請求項4に記載のエミュレーションプログラム。
- 対象プログラムの実行環境を仮想的に提供するエミュレーション装置であって、
前記対象プログラムが出力した命令を自装置が処理可能な命令に変換する変換手段と、
前記対象プログラムが使用するメモリ領域に対し、前記自装置の動作環境に基づく書込み保護を施した第1メモリマップと、
前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、
前記変換手段が出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換え手段と、
を備えたことを特徴とするエミュレーション装置。 - 対象プログラムの実行環境を仮想的に提供するエミュレーション方法であって、
前記対象プログラムが出力した命令を実際の実行環境で処理可能な命令に変換する変換ステップと、
前記対象プログラムが使用するメモリ領域に対し、前記実際の実行環境に基づく書込み保護を施した第1メモリマップと、前記対象プログラムの実行環境および/または前記対象プログラムの命令の内容に基づく書込み保護を施した第2メモリマップと、を作成するメモリマップ作成ステップと、
前記変換ステップが出力した書き込み命令が前記第1メモリマップに対する書込み保護違反を生じた場合に、前記第2メモリマップに対する書き込み命令に書き換える命令書き換えステップと、
を含んだことを特徴とするエミュレーション方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008134527A JP5115332B2 (ja) | 2008-05-22 | 2008-05-22 | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 |
US12/409,136 US8543371B2 (en) | 2008-05-22 | 2009-03-23 | Write-protected storage medium, write-protected apparatus, and write-protected environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008134527A JP5115332B2 (ja) | 2008-05-22 | 2008-05-22 | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009282774A JP2009282774A (ja) | 2009-12-03 |
JP5115332B2 true JP5115332B2 (ja) | 2013-01-09 |
Family
ID=41342729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008134527A Active JP5115332B2 (ja) | 2008-05-22 | 2008-05-22 | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8543371B2 (ja) |
JP (1) | JP5115332B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396104B1 (en) * | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
JP5792577B2 (ja) * | 2010-11-10 | 2015-10-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 動的バイナリ・トランスレータに関するメモリ管理のための装置、方法、およびコンピュータ・プログラム |
JP5565340B2 (ja) * | 2011-02-24 | 2014-08-06 | 富士通株式会社 | 試験方法,試験プログラム,及び試験装置 |
KR101252188B1 (ko) * | 2011-05-31 | 2013-04-05 | 주식회사 잉카인터넷 | 가상 메모리 데이터 접근 제어방법 |
JP5862408B2 (ja) * | 2012-03-27 | 2016-02-16 | 富士通株式会社 | エミュレーション装置、及びエミュレーションプログラム |
US9275223B2 (en) * | 2012-10-19 | 2016-03-01 | Mcafee, Inc. | Real-time module protection |
US9806954B2 (en) * | 2014-06-03 | 2017-10-31 | Equinix, Inc. | Transformation engine for datacenter colocation and network interconnection products |
US9710401B2 (en) | 2015-06-26 | 2017-07-18 | Intel Corporation | Processors, methods, systems, and instructions to support live migration of protected containers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147173A (ja) * | 1994-11-18 | 1996-06-07 | Seiko Epson Corp | エミュレーション装置 |
US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
EP2275930B1 (en) * | 1999-01-28 | 2017-06-14 | Advanced Silicon Technologies, LLC | Executing programs for a first computer architecture on a computer of a second architecture |
WO2000065440A2 (en) | 1999-04-27 | 2000-11-02 | Transitive Technologies Limited | Exception handling method and apparatus for use in program code conversion |
US7953588B2 (en) * | 2002-09-17 | 2011-05-31 | International Business Machines Corporation | Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host |
US7594111B2 (en) * | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
JP4155052B2 (ja) * | 2003-02-18 | 2008-09-24 | 日本電気株式会社 | エミュレータ、エミュレーション方法およびプログラム |
GB0309056D0 (en) * | 2003-04-22 | 2003-05-28 | Transitive Technologies Ltd | Block translation optimizations for program code conversion |
US7536682B2 (en) | 2003-04-22 | 2009-05-19 | International Business Machines Corporation | Method and apparatus for performing interpreter optimizations during program code conversion |
GB0623276D0 (en) * | 2006-11-22 | 2007-01-03 | Transitive Ltd | Memory consistency protection in a multiprocessor computing system |
-
2008
- 2008-05-22 JP JP2008134527A patent/JP5115332B2/ja active Active
-
2009
- 2009-03-23 US US12/409,136 patent/US8543371B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8543371B2 (en) | 2013-09-24 |
JP2009282774A (ja) | 2009-12-03 |
US20090292522A1 (en) | 2009-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5115332B2 (ja) | エミュレーションプログラム、エミュレーション装置およびエミュレーション方法 | |
JP3944504B2 (ja) | 変換索引バッファのレイジー・フラッシング | |
US7673345B2 (en) | Providing extended memory protection | |
US9201653B2 (en) | Binary translator with precise exception synchronization mechanism | |
US7886293B2 (en) | Optimizing system behavior in a virtual machine environment | |
US20020046305A1 (en) | Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables | |
US20080040710A1 (en) | Method, computer program and computer for analysing an executable computer file | |
TWI812798B (zh) | 用於控制記憶體存取的裝置及方法 | |
KR20220045211A (ko) | 캐패빌리티 기입 어드레스 추적 | |
JP7291149B2 (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
JP2011128787A (ja) | アドレス変換を高速化する方法及びシステム | |
KR20230017832A (ko) | Tag 체킹 장치 및 방법 | |
TW202132975A (zh) | 位址計算指令 | |
US20200201791A1 (en) | System, method and apparatus for fine granularity access protection | |
KR20230101826A (ko) | 캐퍼빌리티들을 사용하여 메모리에 대한 액세스를 제약하기 위한 기술 | |
TWI787451B (zh) | 用於資料處理的方法、設備、電腦程式、與儲存器媒體 | |
De et al. | HeapSafe: securing unprotected heaps in RISC-V | |
Momeu et al. | Safeslab: Mitigating Use-After-Free Vulnerabilities via Memory Protection Keys | |
TW202403562A (zh) | 用於記憶體位址空間之頁面的「讀值只有x」性質 | |
CN119004489A (zh) | 可信执行环境系统 | |
TW202340955A (zh) | 使用能力約束記憶體存取之技術 | |
CN110362501A (zh) | 一种执行饱和寻址加载和存储操作的设备和方法 | |
Cashin | Automated control of hardware and software-based fault isolation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120827 |
|
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: 20120918 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121001 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5115332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |