JP4186852B2 - エミュレーション方式及びプログラム - Google Patents
エミュレーション方式及びプログラム Download PDFInfo
- Publication number
- JP4186852B2 JP4186852B2 JP2004079380A JP2004079380A JP4186852B2 JP 4186852 B2 JP4186852 B2 JP 4186852B2 JP 2004079380 A JP2004079380 A JP 2004079380A JP 2004079380 A JP2004079380 A JP 2004079380A JP 4186852 B2 JP4186852 B2 JP 4186852B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- target
- physical address
- base
- base system
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
従来のコンピュータシステムのエミュレーションの方法としては、エミュレートされる側のシステム(ターゲットシステム)が、エミュレートする側のシステム(ベースシステム)におけるOS(Operating System)(ベースOS)上のエミュレータによりアプリケーションとして実装されているものが一般的である。
図6は図5の構成例におけるメモリマップと動作イメージを示す図である。
また、ターゲットOS2上のアプリケーション1が直接、ベースOSメモリ領域7をアクセスすることはできない。ターゲットOS2もエミュレータ4を介さずにベースOSメモリ領域7をアクセスすることはできないため、アプリケーション1がアクセスできるようにターゲットOSメモリ領域8にデータを渡すには、ベースOSメモリ領域7からエミュレータ4によりターゲットOSメモリ領域8に転送する必要がある。
これらの問題の要因は、ターゲットOS2およびベースOS3に手を加えないで、ベースOS3の提供する機能をそのまま利用してエミュレーションを実現しているところにある。つまり、エミュレータ4はターゲットOS2とベースOS3の間を橋渡しする機能だけを担っている。このエミュレーション実現方法は、従来から常套手段になっているが、エミュレーションシステムの性能向上を阻害する要因でもあった。
しかしながら、前記特許文献4記載の発明は、ターゲットシステムの物理・論理アドレスを意識してはいるものの、それはターゲットシステムのアプリケーションを開発する上で、物理メモリの使用状況をソフトウェア開発装置で確かめるためのものであり(例えば、特許文献4の段落「0014」、「0015」参照)、ターゲットマシンをソフトウェア開発装置上でエミュレートした時のターゲット側の論理メモリ、物理メモリについてだけ言及しているにすぎない。ソフトウェア開発装置側の論理メモリ、物理メモリについては何等触れておらず、前述した問題を解決することはできない。
しかしながら、前記特許文献5記載の発明は、専用ハードウェアによりベースマシンとターゲットマシンの入出力アドレス変換を切り換えながら行っているため、専用のハードウェアが必要になるという問題がある。
また、前記メモリ割当手段は、システムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングするように構成してもよい。
また、前記物理アドレス転送リストは、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであるように構成してもよい。
また、コンピュータを、前記メモリ割当手段がシステムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングするように機能させるようにプログラムを構成してもよい。
また、コンピュータを、前記物理アドレス転送リストが、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであるように機能させるようにプログラムを構成してもよい。
また、本発明によれば、専用のハードウェアを使用することなく簡単な構成で、ベースOS上でターゲットシステムをエミュレーションで実現する際の入出力処理を高速化可能なエミュレーション方式を実現するためのプログラムを提供することが可能になる。
図1は本発明の実施の形態に係るコンピュータのエミュレーション方式に用いるコンピュータシステムの構成を示すブロック図である。また、図2は、図1のシステムにおけるメモリマップと動作イメージを示す図である。
図1において、1はアプリケーションプログラム、2はターゲットシステムのOS(Operating System;オペレーティングシステム)(ターゲットOS)、3はベースシステムのOS(ベースOS)、4はエミュレータ、5はプロセッサ(CPU)、6はメモリ、7はベースOS3用のベースOSメモリ領域、8はターゲットOS2用のターゲットOSメモリ領域、9はI/O(Input Output;入出力)バス、10は入出力手段としてのI/Oカード、11は周辺装置(例えば、磁気ディスク装置)である。前記構成要素5、6、9、10、11はコンピュータを構成するハードウェア要素である。
尚、以下の説明では、図1のアプリケーション1、ターゲットOS2、ベースOS3、エミュレータ4、プロセッサ5、メモリ6、ベースOSメモリ領域7、ターゲットOSメモリ領域8、I/Oバス9、I/Oカード10、周辺装置(例えば、磁気ディスク装置)11は、当業者にとってよく知られており、また本実施の形態とは直接関係しないので、これら構成の詳細な説明は省略している。
ドライバ102は、メモリ初期化手段101により確保されたベースシステムのメモリ6とI/Oカード10に接続された周辺装置11にアクセスする機能を提供する。
高速転送処理手段103は、ドライバ102がベースシステムの物理アドレスでアクセスできるように、エミュレータ4でターゲットシステムのOS2のアドレス変換を実施した後の『物理アドレス転送リスト』を準備してドライバ102に渡す機能を提供する。即ち、高速転送処理手段103は、ドライバ102がベースシステムの物理アドレスでアクセスできるように、ターゲットシステムの論理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成する。
図4は、本実施の形態に係るコンピュータシステムのエミュレーション方式の動作を説明するためのシーケンスチャートである。
まず、コンピュータシステムの電源投入時の初期設定時またはエミュレーションシステム起動の初期設定時にメモリ初期化手段101がベースシステムのメモリ6にベースOSメモリ領域7とターゲットOSメモリ領域8を個別に確保し、ターゲットOSメモリ領域8をアドレス変換対象外に設定する(図4のステップS−1)。
エミュレータ4はベースシステムでのI/O処理に変換する際、高速転送処理手段103により、ベースシステムの物理アドレスでドライバ102がアクセスできるようにターゲットシステム物理アドレスをベースシステムの物理アドレスに変換して、図3の『物理アドレス転送リスト』を作成する(図4のステップS−5、6)。
エミュレータ4はドライバ102からデータ転送終了通知を受け取ると、I/O処理の終了処理を行い、ターゲットOS2にI/O命令の終了を通知する。ターゲットOS2はI/O命令の終了処理を行い、アプリケーション1に対してファイルの読み込みが完了したことを通知する(図1の終了報告(処理4))。アプリケーション1はターゲットOS2からの通知によりファイルの読み込み処理を終了する(ステップS−12、13、14)。
2・・・ターゲットOS
3・・・ベースOS
4・・・エミュレータ
5・・・プロセッサ
6・・・メモリ
7・・・ベースOSメモリ領域
8・・・ターゲットOSメモリ領域
9・・・I/Oバス
10・・・入出力手段としてのI/Oカード
11・・・周辺装置
101・・・メモリ割当手段としてのメモリ初期化手段
102・・・アクセス手段としてのドライバ
103・・・リスト生成手段としての高速転送処理手段
Claims (8)
- ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、
エミュレータでターゲットシステムの物理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成するリスト生成手段と、
前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段とを備えて成り、
前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと前記ベースシステムの物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスすることを特徴するコンピュータシステムのエミュレーション方式。 - 前記メモリ割当手段は、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングすることを特徴する請求項1記載のコンピュータシステムのエミュレーション方式。
- 前記メモリ割当手段は、システムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングすることを特徴とする請求項1又は2記載のコンピュータシステムのエミュレーション方式。
- 前記物理アドレス転送リストは、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであることを特徴とする請求項1乃至3のいずれか一に記載のコンピュータシステムのエミュレーション方式。
- コンピュータを、
ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、
エミュレータでターゲットシステムの物理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成するリスト生成手段と、
前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段として機能させると共に、
前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと前記ベースシステムの物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスするように機能させることを特徴するプログラム。 - コンピュータを、前記メモリ割当手段がターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングするように機能させることを特徴とする請求項5記載のプログラム。
- コンピュータを、前記メモリ割当手段がシステムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングするように機能させることを特徴とする請求項5又は6記載のプログラム。
- コンピュータを、前記物理アドレス転送リストが、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであるように機能させることを特徴とする請求項5乃至7のいずれか一に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004079380A JP4186852B2 (ja) | 2004-03-19 | 2004-03-19 | エミュレーション方式及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004079380A JP4186852B2 (ja) | 2004-03-19 | 2004-03-19 | エミュレーション方式及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005267293A JP2005267293A (ja) | 2005-09-29 |
JP4186852B2 true JP4186852B2 (ja) | 2008-11-26 |
Family
ID=35091774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004079380A Expired - Fee Related JP4186852B2 (ja) | 2004-03-19 | 2004-03-19 | エミュレーション方式及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4186852B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253682A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Managing computer memory in a computing environment with dynamic logical partitioning |
US8099274B2 (en) * | 2007-03-30 | 2012-01-17 | International Business Machines Corporation | Facilitating input/output processing of one or more guest processing systems |
JP6194764B2 (ja) * | 2013-11-08 | 2017-09-13 | 富士通株式会社 | 情報処理装置、制御方法、および制御プログラム |
US10772142B2 (en) * | 2018-07-25 | 2020-09-08 | Medtronic, Inc. | Wireless connection to peripheral device based on advertisement cadence |
-
2004
- 2004-03-19 JP JP2004079380A patent/JP4186852B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005267293A (ja) | 2005-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7574346B2 (en) | Kernel emulator for non-native program modules | |
RU2335798C2 (ru) | Выравнивание данных между собственными и несобственными совместно используемыми структурами данных | |
JP5608243B2 (ja) | 仮想化環境においてi/o処理を行う方法および装置 | |
US6484309B2 (en) | Enabling software designed for one operating system to operate on another operating system | |
JP5345652B2 (ja) | 部分仮想化マシンに基づく統一格納装置 | |
KR101517258B1 (ko) | 크로스-시스템의 프록시-기반 태스크 오프로딩을 위한 장치, 시스템 및 방법 | |
WO2018176911A1 (zh) | 一种虚拟磁盘文件格式转换方法和装置 | |
EP1628215A2 (en) | Systems and methods for running a legacy 32-bit X86 virtual machine on a 64-bit X86 processor | |
JP6040101B2 (ja) | ストレージ装置の制御方法、ストレージ装置及び情報処理装置 | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
AU2002349997A1 (en) | Data alignment between native and non-native shared data structures | |
WO2013088818A1 (ja) | 仮想計算機システム、仮想化機構、及びデータ管理方法 | |
TWI603199B (zh) | 基於能力的裝置驅動程式架構 | |
CN102388363A (zh) | 以类别档案嵌入原生代码方式应用平台相依例行程序于虚拟机 | |
KR100809293B1 (ko) | 가상 머신에서 스택을 관리하는 장치 및 그 방법 | |
JP4186852B2 (ja) | エミュレーション方式及びプログラム | |
JP2012068797A (ja) | 起動高速化方法、情報処理装置及びプログラム | |
JP2005182615A (ja) | エミュレーションシステムおよびエミュレーション方法 | |
CN115774701A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
CN115454509A (zh) | 异构操作系统部署方法、系统、电子设备及存储介质 | |
JPH04309135A (ja) | 異なるモードで動作する2個のプログラム・セグメント間でコンピューターがコントロールを転送することを可能にする方法及び装置 | |
Kristiansen | PCIe Device Lending | |
CN116401020B (zh) | Kvm虚拟机i/o过滤框架实现方法、系统及存储介质 | |
JP2005099968A (ja) | 仮想ファイルシステムを有する計算機システム | |
US20100161691A1 (en) | Method for providing a portable software computing environment for a low-speed portable storage device, and portable storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
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: 20080819 |
|
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: 20080901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4186852 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |