JP4186852B2 - エミュレーション方式及びプログラム - Google Patents

エミュレーション方式及びプログラム Download PDF

Info

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
Application number
JP2004079380A
Other languages
English (en)
Other versions
JP2005267293A (ja
Inventor
弦 宮崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004079380A priority Critical patent/JP4186852B2/ja
Publication of JP2005267293A publication Critical patent/JP2005267293A/ja
Application granted granted Critical
Publication of JP4186852B2 publication Critical patent/JP4186852B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、コンピュータシステムのエミュレーション方式及びエミュレーション用プログラムに関する。
従来から、コンピュータシステムにおいて、特定のハードウェアをソフトウェアで模倣し、同等の機能を実現するようにしたエミュレーション方式が開発されている(例えば、特許文献1〜5参照。)。
従来のコンピュータシステムのエミュレーションの方法としては、エミュレートされる側のシステム(ターゲットシステム)が、エミュレートする側のシステム(ベースシステム)におけるOS(Operating System)(ベースOS)上のエミュレータによりアプリケーションとして実装されているものが一般的である。
図5は従来のコンピュータのエミュレーション方式の構成例を示すブロック図である。図5において、1はアプリケーションプログラム、2はターゲットシステムのOS(ターゲットOS)、3はベースシステムのOS、4はエミュレータ、5はプロセッサ(CPU)、6はメモリ、7はベースOSメモリ領域、8はターゲットOSメモリ領域、9はI/O(Input-Output)バス(入出力バス)、10はI/Oカード、11は周辺装置である。周辺装置11としては、例えば、磁気ディスク装置、光磁気ディスク、DVD、CD−ROM等の種々の装置がある。
図6は図5の構成例におけるメモリマップと動作イメージを示す図である。
図5及び図6において、ターゲットOS2はベースOS3上で動作するエミュレータ4を介してベースOS3上のアプリケーションとして動作する。従って、ターゲットOS2用のターゲットOSメモリ領域8は、ベースシステムのメモリ6上のベースOS3用のベースOSメモリ領域7内に、アプリケーションプログラム用として確保される。つまり、ターゲットOS2がメモリアクセスする場合、エミュレータ4を介してベースOS3のアドレス変換機能を使い、ベースOSメモり領域7内のターゲットOSメモリ領域8をアクセスすることになる。また、ターゲットOS2がベースシステムに接続された周辺装置11をアクセスする際は、同様にエミュレータ4を介して、ベースOS3のドライバからI/Oバス9やI/Oカード10を経由してベースシステムの周辺装置11に動作指示を行う。
実際の動作ではターゲットOS2上で動作するアプリケーション1がメモリアクセスする際、ターゲットOS2でアドレス変換が行われ、さらにエミュレータ4を介してベースOS3でベースシステムのハードウェアをアクセスするためのアドレス変換を行う2段階のアドレス変換が必要である。
また、ターゲットOS2上のアプリケーション1が直接、ベースOSメモリ領域7をアクセスすることはできない。ターゲットOS2もエミュレータ4を介さずにベースOSメモリ領域7をアクセスすることはできないため、アプリケーション1がアクセスできるようにターゲットOSメモリ領域8にデータを渡すには、ベースOSメモリ領域7からエミュレータ4によりターゲットOSメモリ領域8に転送する必要がある。
周辺装置からの読み出し動作を例に説明すると、アプリケーション1が入出力処理、例えばファイルの読み込み処理を要求すると、それを受けたターゲットOS2がI/O命令を発行し(I/O命令発行(処理(1)))、I/O命令はエミュレータ4を介してベースOS3に通知され、ベースOS3はI/O部(I/Oバス9及びI/Oカード10)を起動する(I/O起動(処理(2)))。周辺装置11はメモリ6のベースOSメモリ領域7にデータ転送し(データ転送(処理(3)))、ベースOSメモリ領域7を介してターゲットOSメモリ領域8にデータコピーが行われた後(メモリコピー(処理(4)))、ベースOS3からエミュレータを介して、ターゲットOS2経由でアプリケーション1に終了報告が行われる(終了報告(処理(5)))。
このように、エミュレーションではない通常のコンピュータシステムでは1回のアドレス変換と1回のメモリアクセスで済んでいたところ、前記従来のエミュレーションシステムでは2回のアドレス変換と2回のメモリアクセスが必要になってしまう。
これらの問題の要因は、ターゲットOS2およびベースOS3に手を加えないで、ベースOS3の提供する機能をそのまま利用してエミュレーションを実現しているところにある。つまり、エミュレータ4はターゲットOS2とベースOS3の間を橋渡しする機能だけを担っている。このエミュレーション実現方法は、従来から常套手段になっているが、エミュレーションシステムの性能向上を阻害する要因でもあった。
一方、前記特許文献4には、ターゲットマシン(PDA、携帯電話等)のアプリケーション開発をソフトウェア開発装置(パソコン(PC)等)で行う際に、ターゲットマシンのアプリケーション開発で有用なデバッグ機能、開発環境を提供することを課題とするソフトウェア開発装置および開発プログラムが開示されている。
しかしながら、前記特許文献4記載の発明は、ターゲットシステムの物理・論理アドレスを意識してはいるものの、それはターゲットシステムのアプリケーションを開発する上で、物理メモリの使用状況をソフトウェア開発装置で確かめるためのものであり(例えば、特許文献4の段落「0014」、「0015」参照)、ターゲットマシンをソフトウェア開発装置上でエミュレートした時のターゲット側の論理メモリ、物理メモリについてだけ言及しているにすぎない。ソフトウェア開発装置側の論理メモリ、物理メモリについては何等触れておらず、前述した問題を解決することはできない。
また、特許文献5には、コンピュータシステムのエミュレーションにおいてターゲットマシンの入出力処理を高速化することを目的とする計算機装置が開示されている。
しかしながら、前記特許文献5記載の発明は、専用ハードウェアによりベースマシンとターゲットマシンの入出力アドレス変換を切り換えながら行っているため、専用のハードウェアが必要になるという問題がある。
特開平7−334372号公報 特開平10−133910号公報 特開2000−322289号公報 特開2003−150404号公報 特開平5−12188号公報
本発明は上述した問題点に鑑み成されたもので、ソフトウェアを使用することによって簡単な構成で、ベースOS上でターゲットシステムをエミュレーションで実現する際の入出力処理を高速化することを課題としている。
本発明によれば、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、エミュレータでターゲットシステムの論理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成するリスト生成手段と、前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段とを備えて成り、前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスすることを特徴するコンピュータシステムのエミュレーション方式が提供される。
メモリ割当手段は、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングする。リスト生成手段は、エミュレータでターゲットシステムの論理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成する。アクセス手段は、前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスする。このようにして、前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスする。
ここで、前記メモリ割当手段は、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングするように構成してもよい。
また、前記メモリ割当手段は、システムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングするように構成してもよい。
また、前記物理アドレス転送リストは、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであるように構成してもよい。
また、本発明によれば、コンピュータを、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、エミュレータでターゲットシステムのOSのアドレス変換を実施した後の物理アドレス転送リストを作成するリスト生成手段と、前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段として機能させると共に、前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスするように機能させることを特徴するプログラムが提供される。
コンピュータはプログラムを実行することにより、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、エミュレータでターゲットシステムのOSのアドレス変換を実施した後の物理アドレス転送リストを作成するリスト生成手段と、前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段として機能すると共に、前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスするように機能する。
ここで、コンピュータを、前記メモリ割当手段がターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングするよう機能させるようにプログラムを構成してもよい。
また、コンピュータを、前記メモリ割当手段がシステムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムの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はコンピュータを構成するハードウェア要素である。
メモリ領域の割当を行うメモリ割当手段として機能するメモリ初期化手段101は、システム起動時等のメモリ初期設定の際に、ターゲットシステムが使用するメモリ領域を、ベースOS3のアドレス変換の対象としないように、即ちアドレス変換対象外でベースシステムのメモリ6にマッピングする機能を提供するものである。周辺装置11やメモリ6にアクセスするアクセス手段として機能するドライバ102は、メモリ初期化手段101により確保されたベースシステムのメモリ6とI/Oカード10に接続された周辺装置11にアクセスする機能を提供するものである。リストを生成するリスト生成手段として機能する高速転送処理手段103は、ドライバ102がベースシステムの物理アドレスでアクセスできるように、エミュレータでターゲットシステムのOSのアドレス変換を実施した後の『物理アドレス転送リスト』を準備してドライバ102に渡す機能を提供するものである。メモリ初期化手段101、ドライバ102、高速転送処理手段103はコンピュータ(換言すればプロセッサ5)がメモリ6等の記憶手段に記憶したプログラムを実行することにより得られる機能である。
このように本実施の形態では、ターゲットシステムが発行する入出力処理要求はターゲットシステムの論理アドレスと物理アドレス間でのアドレス変換後、ベースシステムの論理アドレスと物理アドレス間でのアドレス変換は行わずに、エミュレータの高速転送処理手段103が作成した『物理アドレス転送リスト』によりドライバ102が周辺装置に直接アクセスすることができるように構成されている。
尚、以下の説明では、図1のアプリケーション1、ターゲットOS2、ベースOS3、エミュレータ4、プロセッサ5、メモリ6、ベースOSメモリ領域7、ターゲットOSメモリ領域8、I/Oバス9、I/Oカード10、周辺装置(例えば、磁気ディスク装置)11は、当業者にとってよく知られており、また本実施の形態とは直接関係しないので、これら構成の詳細な説明は省略している。
先ず、本発明の実施の形態の概要を説明すると、本実施の形態は、コンピュータシステムのエミュレーション方式において、エミュレートされる側のシステム(以下、ターゲットシステム)の入出力処理をエミュレートするシステム(以下、ベースシステム)に専用ハードウェアを追加することなく、ソフトウェア的に入出力処理を高速に行うことを特徴とするものであり又、コンピュータが前記エミュレーション方式を実行できるようにするためのプログラムを提供するものである。
図1および図2において、メモリ初期化手段101は、システム立ち上げ時の初期設定の際にターゲットシステムが使用するメモリ領域を、ベースOS3のアドレス変換対象外でベースシステムのメモリ6にマッピングする機能を提供する。
ドライバ102は、メモリ初期化手段101により確保されたベースシステムのメモリ6とI/Oカード10に接続された周辺装置11にアクセスする機能を提供する。
高速転送処理手段103は、ドライバ102がベースシステムの物理アドレスでアクセスできるように、エミュレータ4でターゲットシステムのOS2のアドレス変換を実施した後の『物理アドレス転送リスト』を準備してドライバ102に渡す機能を提供する。即ち、高速転送処理手段103は、ドライバ102がベースシステムの物理アドレスでアクセスできるように、ターゲットシステムの論理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成する。
このように本実施の形態では、ターゲットシステムの入出力処理要求をターゲットシステムの論理アドレスと物理アドレス間の変換はターゲットOS2とエミュレータ4で行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、エミュレータ4の高速転送処理手段103が作成した『物理アドレス転送リスト』によりドライバ102が周辺装置11およびメモリ6に直接アクセスするので、ターゲットシステムの入出力処理を高速に実行することができるようになる。
即ち、従来行っていた2段階のアドレス変換という問題と、ターゲットOSメモリ領域とベースOSメモリ領域間のデータコピーという問題とを解決する手段として、本実施の形態では先ず、ターゲットOSメモリ領域8とベースOSメモリ領域7を分離してベースシステムのメモリ6に割当てる手段(メモリ初期化手段101)を設け、ターゲットOSメモリ領域8はベースシステムのアドレス変換対象外で、即ち、アドレス変換の対象としないようにメモリ6にマッピングできるようにする。次に、メモリ初期化手段101により確保されたベースシステムのメモリにアクセス可能なドライバ102を設ける。さらに、ドライバ102がベースシステムの物理アドレスでアクセスできるように、エミュレータ4でターゲットOS2のアドレス変換を実施した後の『物理アドレス転送リスト』を準備して前記ドライバ102に渡す高速転送処理手段103を設けている。
図3は、高速転送処理手段103が作成した『物理アドレス転送リスト』を示す図である。物理アドレス転送リストは、転送するデータの物理アドレスと転送長(レングス)を組にしたデータを転送ブロック分(図3ではサイズ(n))積み上げたリストである。図3の物理アドレス転送リストは、転送ブロックがn組(サイズがn)の前記データによって構成されている。前記物理アドレスは、エミュレータ4でターゲットシステムの論理アドレスを変換して得られたベースシステムの物理アドレスである。
図4は、本実施の形態に係るコンピュータシステムのエミュレーション方式の動作を説明するためのシーケンスチャートである。
以下、図1〜図4を用いて、本実施の形態の動作について詳細に説明する。特に、本実施の形態に係るコンピュータシステムのエミュレーション方式を適用したコンピュータシステムにおいて、ファイル読み込み処理の一連の流れについては詳細に説明する。
まず、コンピュータシステムの電源投入時の初期設定時またはエミュレーションシステム起動の初期設定時にメモリ初期化手段101がベースシステムのメモリ6にベースOSメモリ領域7とターゲットOSメモリ領域8を個別に確保し、ターゲットOSメモリ領域8をアドレス変換対象外に設定する(図4のステップS−1)。
アプリケーション1が入出力処理、例えばファイルの読み込み処理を要求すると、それを受けたターゲットOS2がI/O命令を発行し(図1のI/O発行命令(処理(1)))、エミュレータ4がターゲットシステムのI/O命令をベースシステムのそれに置き換え、ベースシステムでのI/O処理に変換して、I/O部(I/Oバス9、I/Oカード)を起動する(図1のI/O起動(処理(2))、図4のステップS−2、3、4)。
エミュレータ4はベースシステムでのI/O処理に変換する際、高速転送処理手段103により、ベースシステムの物理アドレスでドライバ102がアクセスできるようにターゲットシステム物理アドレスをベースシステムの物理アドレスに変換して、図3の『物理アドレス転送リスト』を作成する(図4のステップS−5、6)。
次に、エミュレータ4はドライバ102に『物理アドレス転送リスト』を渡し、データ転送処理を起動する。ドライバ102は『物理アドレス転送リスト』に従い、周辺装置11とメモリ6間のデータ転送処理を行う(図1のデータ転送(処理3))。データ転送処理が終了すると、ドライバ102はエミュレータ4にデータ転送が終了したことを通知する(図4のステップS−7、8、9、10、11)。
エミュレータ4はドライバ102からデータ転送終了通知を受け取ると、I/O処理の終了処理を行い、ターゲットOS2にI/O命令の終了を通知する。ターゲットOS2はI/O命令の終了処理を行い、アプリケーション1に対してファイルの読み込みが完了したことを通知する(図1の終了報告(処理4))。アプリケーション1はターゲットOS2からの通知によりファイルの読み込み処理を終了する(ステップS−12、13、14)。
以上説明したように、本実施の形態に係るコンピュータのエミュレーション方式によれば、ターゲットシステムが使用するメモリ領域を、ベースシステムのOS2のアドレス変換対象外としてベースシステムのメモリ6にマッピングするメモリ初期化手段101と、エミュレータ4でターゲットシステムのOS2の論理アドレスをベースシステムの物理アドレスに変換して得られた物理アドレス転送リストを作成する高速転送処理手段103と、前記物理アドレス転送リストに基づいて、メモリ初期化手段101により確保された前記ベースシステムのメモリ6とI/O部(I/Oバス9、I/Oカード10)に接続された周辺装置11にアクセスするドライバ102とを備えて成り、前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと物理アドレス間の変換は前記ターゲットシステムのOS2とエミュレータ4で行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、高速転送処理手段103が作成した物理アドレス転送リストにより、ドライバ102が周辺装置11およびメモリ8に直接アクセスすることを特徴としている。
このように、システム起動時等のメモリ初期設定時に、ターゲットOSメモリ領域8とベースOSメモリ領域7を分離してベースシステムのメモリ6に確保する手段(メモリ初期化手段101)を設け、ターゲットOSメモリ領域8はベースシステムのアドレス変換の対象外としてメモリ6にマッピングしているので、アプリケーション1およびターゲットOS2がベースシステムのメモリ6にアクセスする際のアドレス変換を2回から1回に削減して入出力処理を高速化することが可能になる。
また、本実施の形態に係るエミュレーション方式によれば、メモリ初期化手段101により確保されたベースシステムのメモリにアクセス可能なドライバ102を設け、さらに、ドライバ102がベースシステムの物理アドレスでアクセス出来るように、エミュレータ4でターゲットシステムのアドレス変換を実施した後の『物理アドレス転送リスト』を準備して前記ドライバ102に渡す高速転送処理手段103を設けているので、ターゲットシステムのアドレス変換を1回行った後は直接ベースシステムのメモリおよび周辺装置にアクセスして入出力処理を高速化することが可能になる。
また、ターゲットシステムの入出力処理要求において、ターゲットシステムの論理−物理アドレス変換をターゲットOS2とエミュレータ4で行い、ベースOS3によるベースシステムの論理アドレスと物理アドレス間の変換を行わずに、エミュレータの高速転送処理手段103が作成した『物理アドレス転送リスト』によりドライバ102が周辺装置およびメモリ6に直接アクセスするように構成することにより、ターゲットシステムの入出力処理を高速に実行することができるコンピュータシステムのエミュレーション方式を提供することが可能になる。
即ち、これにより、前述した従来のコンピュータシステムのエミュレーション方式が有していた問題である、ターゲットOS2上で動作するアプリケーション1がメモリアクセスする際、ターゲットOS2でアドレス変換が行われ、さらにエミュレータ4を介してベースOS3でベースシステムのハードウェアをアクセスするためのアドレス変換を行う2段階のアドレス変換が必要であるのため、入出力処理の高速化を妨げているという問題、ターゲットOS2上のアプリケーション1が直接、ベースOSメモリ領域7をアクセスすることはできないという問題、あるいは、ターゲットOS2もエミュレータ4を介さずにベースOSメモリ領域7をアクセスすることはできないため、アプリケーション1がアクセスできるようにターゲットOSメモリ領域8にデータを渡すには、ベースOSメモリ領域7からエミュレータ4によりターゲットOSメモリ領域8に転送する必要があるため、入出力処理の高速化を妨げているという問題を解決することが可能になる。
また、本実施の形態に係るプログラムによれば、本実施の形態に係るプログラムをコンピュータで実行させることによって前記エミュレーション方式を実現することが可能になる。
本発明によれば、メモリや磁気ディスクへの入出力処理をはじめとする各種の入出力処理を高速化するためのエミュレーション方式に適用することが可能である。
本発明の最良の実施形態に用いるシステムの構成を示すブロック図である。 本発明の最良の実施形態に用いるシステム構成例におけるメモリマップと動作イメージを示す図である。 本発明の最良の実施形態で使用する物理アドレス転送リストを示す図である。 本発明の最良の実施形態のシーケンスチャートである。 従来のエミュレーション方式に用いるシステムの構成を示すブロック図である。 従来のエミュレーション方式に用いるシステムにおけるメモリマップと動作イメージを示す図である。
符号の説明
1・・・アプリケーション
2・・・ターゲットOS
3・・・ベースOS
4・・・エミュレータ
5・・・プロセッサ
6・・・メモリ
7・・・ベースOSメモリ領域
8・・・ターゲットOSメモリ領域
9・・・I/Oバス
10・・・入出力手段としてのI/Oカード
11・・・周辺装置
101・・・メモリ割当手段としてのメモリ初期化手段
102・・・アクセス手段としてのドライバ
103・・・リスト生成手段としての高速転送処理手段

Claims (8)

  1. ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、
    エミュレータでターゲットシステムの物理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成するリスト生成手段と、
    前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段とを備えて成り、
    前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと前記ベースシステムの物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスすることを特徴するコンピュータシステムのエミュレーション方式。
  2. 前記メモリ割当手段は、ターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングすることを特徴する請求項1記載のコンピュータシステムのエミュレーション方式。
  3. 前記メモリ割当手段は、システムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングすることを特徴とする請求項1又は2記載のコンピュータシステムのエミュレーション方式。
  4. 前記物理アドレス転送リストは、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであることを特徴とする請求項1乃至3のいずれか一に記載のコンピュータシステムのエミュレーション方式。
  5. コンピュータを、
    ターゲットシステムが使用するメモリ領域を、ベースシステムのOSのアドレス変換対象外としてベースシステムのメモリにマッピングするメモリ割当手段と、
    エミュレータでターゲットシステムの物理アドレスをベースシステムの物理アドレスに変換したリストである物理アドレス転送リストを作成するリスト生成手段と、
    前記物理アドレス転送リストに基づいて、前記メモリ割当手段により確保された前記ベースシステムのメモリとI/O部に接続された周辺装置にアクセスするアクセス手段として機能させると共に、
    前記ターゲットシステムの入出力処理要求を、前記ターゲットシステムの論理アドレスと前記ベースシステムの物理アドレス間の変換は前記ターゲットシステムのOSとエミュレータで行い、ベースシステムの論理アドレスと物理アドレス間の変換を行わずに、前記リスト生成手段が作成した物理アドレス転送リストにより、前記アクセス手段が前記周辺装置および前記メモリに直接アクセスするように機能させることを特徴するプログラム。
  6. コンピュータを、前記メモリ割当手段がターゲットシステムが使用するメモリ領域を、ベースシステムのOSが使用する領域とは異なる領域にマッピングするように機能させることを特徴とする請求項5記載のプログラム。
  7. コンピュータを、前記メモリ割当手段がシステムの立ち上げ時に、前記ターゲットシステムが使用するメモリ領域を、前記ベースシステムのOSのアドレス変換対象外として前記ベースシステムの前記メモリにマッピングするように機能させることを特徴とする請求項5又は6記載のプログラム。
  8. コンピュータを、前記物理アドレス転送リストが、転送するデータの物理アドレスと転送長を組にしたデータを転送ブロック分積み上げたリストであるように機能させることを特徴とする請求項5乃至7のいずれか一に記載のプログラム。
JP2004079380A 2004-03-19 2004-03-19 エミュレーション方式及びプログラム Expired - Fee Related JP4186852B2 (ja)

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)

* Cited by examiner, † Cited by third party
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

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