JP2010198398A - 計算機装置および制御方法 - Google Patents

計算機装置および制御方法 Download PDF

Info

Publication number
JP2010198398A
JP2010198398A JP2009043331A JP2009043331A JP2010198398A JP 2010198398 A JP2010198398 A JP 2010198398A JP 2009043331 A JP2009043331 A JP 2009043331A JP 2009043331 A JP2009043331 A JP 2009043331A JP 2010198398 A JP2010198398 A JP 2010198398A
Authority
JP
Japan
Prior art keywords
address
instruction
protection exception
virtual machine
physical memory
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.)
Pending
Application number
JP2009043331A
Other languages
English (en)
Inventor
Hirotsugu Tanaka
洋次 田中
Eiichiro Oiwa
栄一郎 大岩
Naoya Hattori
直也 服部
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009043331A priority Critical patent/JP2010198398A/ja
Priority to US12/623,507 priority patent/US20100217950A1/en
Publication of JP2010198398A publication Critical patent/JP2010198398A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】仮想計算機における保護例外処理によりデバイスの仮想化を行う制御方法において、例外発生原因になった命令の仮想計算機上の仮想アドレスから物理アドレスの算出と、命令のバイナリコードからの命令解析、及び物理計算機でその命令が実行された場合と同等の動作を擬似的に実行する処理量を低減して、仮想化していないデバイスに比べて、処理量の増大を低減する。
【解決手段】保護例外処理を実行する場合、最適化された擬似命令を格納している保護例外情報が保護例外保存手段に存在して再利用可能か否かを命令アドレスから判定し、存在した場合、格納されている擬似命令を参照して実施する。
【選択図】図6

Description

本発明は、仮想計算機環境において物理的な計算機装置上で実行する擬似命令に関し、命令の読込みに伴う仮想アドレス(以下リニアアドレスと略称)、物理アドレスの変換、及び命令解析の処理速度を高める方法に関するものである。
近年、集積回路に集積可能な素子数の増大と、それらを結合する高密度実装技術の発展とに伴い、1つの物理計算機の筐体に収められるプロセッサ数、I/Oデバイス数、メモリ量等の計算資源が増大する傾向にある。また、複数の物理計算機の筐体をネットワークにより結合し、1つの物理計算機として扱う技術も発展しており、それに伴い、1つの物理計算機に収められる計算資源はさらに増大する傾向にある。このように1つの物理計算機に多くの計算資源が納められた物理計算機は、計算資源が少ない物理計算機に比べて、電源を入れてから利用可能になるまでに多くの時間を必要とする。このため、物理計算機の電源は、常時、投入されたままの状態であることが好まれる傾向にある。
このような大規模物理計算機を効率的に使用するために、1つの物理計算機の資源を仮想的に複数に分割する方法である論理区間分割(LPAR:Logical PARtition)を行って、仮想計算機システムとして構成する技術が普及しつつある。論理区間分割された各区間は、仮想計算機としてそれぞれ独立したOSが動作可能である。論理区間分割される物理計算機は、常時、電源が入っている状態にあり、論理分割された各区間は、仮想計算機として、それぞれ擬似的に電源を入れたり落としたりすることができる。このように、論理区間分割を適用すると大規模な物理計算機においても、ノード資源の利用効率と可用性との向上を図ることができる。
前述したような仮想計算機システムは、ある仮想計算機が、同一物理計算機内の他の仮想計算機との間での独立性を確保するため、仮想計算機システムの制御のためのプログラムである仮想計算機制御部が必要である。
この仮想計算機制御部は、独立した仮想計算機に、物理計算機の各プロセッサ、I/Oデバイス等を分割し、独占または共有して使用させるための制御機能やデバイス仮想化機能を、提供することが必要である。また、仮想計算機制御部は、各仮想計算機に独立したメモリ空間を使用させるために、仮想計算機が物理メモリとして認識している仮想計算機上の物理メモリ空間(以下、仮想計算機物理メモリと略称)に対するアドレス(以下、仮想計算機物理アドレスと略称)を物理メモリのアドレス(以下、物理アドレスと略称)にアドレス変換設定機能を提供することが必要である。
一般的に、OSは、物理メモリ空間とは異なる仮想メモリ空間を構築する。OS及びOS上で稼動するプロセスは、仮想メモリ空間のアドレス(リニアアドレス)を指定してメモリ操作を行う。また、CPUは、多段ページテーブル(以下PTと略称する)機能を有する。PT機能とは、仮想メモリ空間と物理メモリ空間とのアドレス変換やメモリの保護を行う機能として、変換前アドレス(リニアアドレス)と変換後アドレス(物理アドレス)との対応を規定するメモリ管理方式のことである。
PTでは、まずPTのベースとなるアドレスがあり、これが最上位テーブルを指している。このテーブルに対して、リニアアドレスの一部がインデックスとなり、このテーブルの中の一部分を指定する。指定された部分には、次のテーブルのアドレスが入っており、アドレスを用いてテーブルを参照する。次のテーブルでも、同じようにリニアアドレスの一部がインデックスとなり、テーブルの中の一部分を指定する。このように、テーブルが連なった構造をPTという。PTに対して、上述の動作を繰り替えす事で、リニアアドレスは、最終テーブルの中の特定のアドレスを、一意に指定できる。OSは、物理メモリをアクセスする時に、このPTの恒等変換を利用してリニアアドレスを指定する事で、物理メモリ空間にアクセスする。
仮想計算機制御部は、物理メモリ空間を分割して、仮想計算機毎に物理メモリ空間を作成し、各仮想計算機に割り当てる。ここで、各仮想計算機に割り当てられた仮想計算機物理メモリ空間は、物理メモリ空間ではアドレス0が基点とは限らないが、仮想計算機上のOSはアドレス0を基点とする物理メモリを前提に、作られている。そこで仮想計算機制御部は、各仮想計算機が想定するアドレス0を基点とするメモリ空間を作成し、これを仮想計算機物理メモリ空間とする。仮想計算機で作られるプロセスは、この仮想計算機物理メモリ空間を基準にしているので、仮想計算機上で生成したPTのテーブル内の情報は全て仮想計算機物理アドレスで保持される。
さて、仮想計算機が仮想計算機物理アドレスを用いて仮想計算機物理メモリ空間をから物理メモリを読む場合、仮想計算機物理アドレスを物理メモリ空間の物理アドレスに変換して、物理メモリにアクセスする必要がある。つまり、仮想計算機上のOS及びOS上で稼動するプロセスは、仮想計算機用の仮想計算機物理メモリ空間にアクセスするとき、リニアアドレスから仮想計算機のPTを読み、PTの1テーブルを読む度に、仮想計算機物理アドレスに対応する物理アドレスに変換することで最終的な物理アドレスを算出して、物理メモリにアクセスすることになる。
また、一般的にCPUが発行する命令は物理メモリ空間に格納されている値ではバイナリコードとなっている。仮想計算機制御部が、仮想計算機上のOSやプログラムが発行した命令の擬似命令を実行するためには、この命令バイナリコードから命令の種類や命令の引数、命令長などの意味のある情報に命令解析を行うことが必要となる。そのためには、CPUが持つ全ての命令のパターンマッチングとCPUのアーキテクチャに沿った命令解析機能を仮想計算機制御部によって解析機能を実現する必要がある。
また、前述したようなデバイス仮想化には、特定のアドレス空間を保護することができるプロセッサが、用いられる。保護機能を持ったプロセッサは、アクセス空間の保護された領域(以下、保護領域と称する)の読み込みまたは書き込みが行われると、例外が起こり、仮想計算機制御部の例外処理プログラムが実行される。この保護例外のための保護例外処理プログラムにより、デバイスの仮想化が実現される。保護例外処理プログラムは、読み書きを行った命令を特定し、その命令が物理計算機で実行される場合と同等の動作を擬似的に実行することにより、仮想デバイスを実現する制御である。
なお、前述のような仮想デバイスを実現する制御に関する従来技術として、例えば、特許文献1、2等に記載された技術が知られている。
ある種のプロセッサにおいて、割り込み処理装置のレジスタは、物理メモリアドレス空間内の定められたアドレス領域(物理フレーム)に、割り当てられる。この割り当てられた個々のアドレスの読み込みまたは書き込みを行うことにより、レジスタへの読み書きが行われる。割り込みデバイスを仮想化する場合、割り込み装置のレジスタが割り当てられた物理フレームを、アクセス保護が可能な仮想計算機物理アドレス領域(ページ)に関連付け、このページを保護対象扱いにし、書き込みまたは読み込み例外処理の一部を仮想計算機制御部で処理する。この例外の処理により、割り込み処理装置が仮想化される。
従って、割り込み処理装置のレジスタへの読み書きは、読み書きを行った命令の特定及び読み書きの命令を擬似的に実行する例外処理を、必要とする。割り込み処理プログラムが割り込み処理終了を報告するためのレジスタも、この保護領域に割り当てられるレジスタであるので、同様に命令の特定と擬似的に命令を実行する処理とが必要である。
特開2003−167758号公報 特開2006−085543号公報
前述したように、保護領域にレジスタを割り当て、保護例外処理によりデバイスの仮想化を行う制御方法による従来技術は、例外発生原因になった仮想計算機上の命令のリニアアドレスから物理計算機用物理アドレスの特定と、命令のバイナリコードからの命令解析、及び物理計算機でその命令が実行された場合と同等の動作を擬似的に実行する処理とが必要であり、仮想化していないデバイスに比べて、処理量が増大するという問題点を有している。また、前述の従来技術は、使用頻度の多いレジスタが保護対象となるようなデバイス(例えば、前述の割り込み処理装置)の仮想化の場合、その保護例外処理が、システム全体の処理量に対して、無視できない程、増大してしまうという問題を生じさせてしまう。
上記課題を解決するために、本発明に係る計算機装置及び制御方法では、少なくとも1つ以上の物理プロセッサと、物理メモリと、前記物理プロセッサ及び物理メモリを論理的に分割して仮想プロセッサ及び仮想計算機物理メモリとして用いる仮想計算機と、前記仮想計算機を制御する仮想計算機制御部とを備える計算機装置において、前記仮想計算機は、前記仮想プロセッサと、前記仮想計算機物理メモリと、前記仮想計算機物理メモリのアドレス空間のアドレス情報と前記物理メモリのアドレス空間のアドレス情報との対応関係を有するページテーブルと、前記仮想計算機物理メモリのうち保護されているアドレス空間のアドレス情報を管理する保護対象テーブルとを備え、前記仮想計算機制御部は、前記保護対象テーブルで管理されるアドレス空間がアクセスされた場合に保護例外処理を実行する保護例外処理部と、実行された保護例外処理に関する保護例外情報を保存する保護例外保存領域と、前記仮想計算機物理メモリのアドレスと物理メモリのアドレスとを変換するアドレス変換部と、命令解析部とを備え、前記保護例外処理を実行するに際し、前記保護例外処理部は、保護例外処理を発生させた命令アドレスと前記保護例外保存領域に保存される保護例外情報の命令アドレスとを比較し、前記保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致する場合、前記保護例外処理部は、前記一致する命令アドレスの保護例外情報が有する擬似命令を用いて、前記保護例外処理を実行することを特徴とする。
即ち、本発明では、少なくとも1つのCPUとメモリとを共有し、複数のプログラムを切り替えて実行する複数の仮想計算機が構成された仮想計算機システムにおいて、前記仮想計算機の制御のための仮想計算機制御手段を備え、該仮想計算機制御手段は、例外を発生させるか否かを決定するため保護対象アドレスを格納した保護対象保持手段と、再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段とを有し、前記仮想計算機制御手段は、前記CPUにより実行されるプログラムが特定のアドレス領域に対して読み込みまたは書き込みを行ったとき、保護対象保持手段を参照して、保護例外処理を実行するか否かを決定し、保護例外処理を実行する場合、保護例外の原因となったアドレスによる保護例外情報が、前記再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段に存在するか否かを保護例外情報の中の命令アドレスと、保護例外処理の発生原因となった命令のアドレスとを比較して判定する。
命令アドレスが一致する保護例外情報が保護例外保存領域中に存在しない場合は、命令アドレス(リニアアドレス)の物理アドレスの算出において、仮想計算機用物理アドレスから物理アドレスへの変換処理を、PTの多段テーブルの各テーブルを参照する度に行い、算出した物理アドレスから読み出した命令を命令解析を行い、命令解析で得られた擬似命令を持って保護例外処理を行う。この際、多段テーブルの参照で行ったアドレス変換の情報や命令の解析情報を、保護例外情報として保護例外保存領域に保持しておく。
一方、命令アドレスが一致する保護例外情報が保護例外保存領域中に存在する場合、命令アドレス(リニアアドレス)からPTを用いた物理アドレスの算出において、仮想計算機用物理アドレスから物理アドレスへの変換処理を、保護例外情報内の変換情報を用いて省略し、物理アドレスから読み出した命令が保護例外情報内の命令と一致するか判定する。これにより、命令解析のオーバヘッド削減し、前記保護例外情報に保持された擬似命令を用いて保護例外処理を行う。このように、変換処理を省略したり、オーバヘッドを削減する事により、保護例外処理の処理量を低減する。
本発明によれば、物理計算機でのデバイス操作で、命令の仮想計算機用仮想計算機物理アドレスから物理計算機用物理アドレスにおけるオーバヘッドと、擬似命令処理と命令解析処理の処理量を低減することが可能となり、処理速度の向上した仮想計算機及びその制御方法を実現できる。
本発明を適用した仮想計算機システムの構成を示すブロック図。 本発明における仮想計算機及び仮想計算機制御部の構成を示すブロック図。 保護例外保存領域と保護例外情報の関係とを示す模式図。 保護例外情報に保護例外処理の情報を保持する動作を説明する図。 保持した保護例外情報を用いて保護例外処理を実行する動作を説明する図。 図4及び図5に示す動作のフローチャート。
以下、本発明による仮想計算機システム及び、仮想計算機システムの制御方法の実施形態を図面により説明する。
図1は本発明の一実施形態による仮想計算機システムの構成を示すブロック図である。図1に示すシステムは、複数の仮想計算機及び仮想計算機制御部が動作する物理計算機の構成を示したものである。
物理計算機100には、複数のプロセッサ1010〜1011が収められており、プロセッサは1つ以上であれば、いくつ収められていてもよい。これらのプロセッサ1010〜1011は、バス102を介して物理メモリ103やPCI Device104に接続されている。物理メモリ103は仮想計算機制御部107や、仮想計算機105〜106上のプログラムを記憶する。
物理計算機100の中に構成される仮想計算機105〜106は、仮想計算機制御部107によって制御される。各仮想計算機105〜106上では、OS1053、1063がそれぞれ独立して動作可能である。仮想計算機105〜106は仮想PCI Device1054、1064等の仮想デバイス1055、1065から構成され、これらの仮想デバイスは、例えば仮想PCI Device1054、1064の場合、各仮想計算機105〜106上で動作するOS1053、1063にとって、物理計算機100で提供されるPCI Device104と同等の動作をする。仮想計算機105〜106はそれぞれ、仮想プロセッサ1051〜1061、仮想計算機物理メモリ1052〜1062、仮想デバイス1055、1065を備えて構成される。
図2は仮想計算機を実現するプログラムについて説明する図であり、次にこれについて説明する。
物理計算機の中に構成される仮想計算機200は、仮想計算機制御部201によって制御される。
仮想計算機200には、前述したようにプロセッサがアドレス変換とメモリ保護を行う機構として提供する仮想計算機物理アドレスを用いたPT2004の情報が、保持されている。前述したような仮想PCI Device等の仮想デバイスの機能情報2002は、仮想計算機制御部201に割り当てられた仮想計算機物理メモリ2001のアドレスに対応付けられている。
また、仮想計算機200は、プロセッサが提供する保護対象テーブル2003の情報を有し、割り当てたアドレスを保護対象アドレスとするか否かを決定し、保護対象テーブルに定義する(2005)。仮想計算機上で動作するプログラムが、保護対象テーブルで保護対象になっているアドレスに割り当てられた仮想デバイスを参照すると、保護例外割り込みを発生させる(2020)。これにより、仮想計算機制御部の保護例外処理2010を呼び出す。
仮想計算機制御部201は、物理計算機100の物理メモリ103にロードされた仮想計算機制御プログラムにより実現され、仮想計算機105、106を制御するものである。
仮想計算機制御部201は、保護例外割り込みの処理を行う保護例外処理2010の他に、再利用可能な擬似命令を保護例外情報2013〜2015として保持している(2023〜2025)保護例外保存領域2012を有する。また、仮想計算機制御部201は、仮想計算機物理メモリのアドレスと物理アドレスとを変換するためのアドレス変換部2016、保護例外処理に通知された例外情報が何の命令によって呼び出されたのか解析する命令解析部2011を有する。これらは、保護例外処理2010が保護例外情報を参照する時(2022)、保護例外がどのような命令か解析する時(2021)、仮想計算機物理メモリのアドレスから物理アドレスに変換する時(2026)等に、呼び出される。
仮想計算機200上のOS及びOS上で稼動するプロセスが実行される命令は殆どが仮想計算機200上で直接実行されるが、仮想計算機200上の制御レジスタを操作する特権命令や前述の通り仮想デバイスに割り当てられた仮想計算機物理メモリ2001を操作する命令等は実行する際に仮想計算機制御部201を呼び出して、代わりに実行させる。これは、物理計算機の制御にも関わる制御レジスタや複数の仮想計算機上で共有して利用している仮想デバイスを、各仮想計算機上でそれぞれが勝手に操作する事が出来ないためである。
次に、図3を用いて、仮想計算機制御部に格納されている保護例外に関係する情報(以下、保護例外情報と称する)について、説明する。
仮想計算機制御部201には、保護例外保存領域300がある。この保護例外保存領域300に登録されていない保護例外が発生する度に、新たに保護例外情報301,302を生成し、保護例外保存領域300の保護例外情報リスト3001に、保護例外情報301,302を追加する。登録された情報の参照を容易にするため、保護例外保存領域300は、他に、保護例外情報301,302を整頓する保護例外情報整理データ3002を持つ。
保護例外情報301,302は、保護例外の情報を保持するため、保護例外の命令アドレス(リニアアドレス)3011,3021と、この命令アドレス(リニアアドレス)を物理アドレスに変換するときに読むPTのテーブル毎のテーブル仮想計算機物理アドレス(3012、3022、3014、3024、3014、3024)と、この仮想計算機物理アドレスを物理アドレスに変換した結果であるテーブル物理アドレス(3013、3023、3015、3025、3017、3027)とを持つ。
これらのテーブル仮想計算機物理アドレス及びテーブル物理アドレスは、テーブル毎に存在するため、PTの2番目のテーブルのテーブルアドレスをT2仮想計算機物理アドレス3012,3022とT2物理アドレス3013,3023、3番目のテーブルのテーブルアドレスをT3仮想計算機物理アドレス3014,3024とT3物理アドレス3015,3025、4番目のテーブルのテーブルアドレスをT4仮想計算機物理アドレス3016,3026とT4物理アドレス3017,3027として、保持する。また、PTによって命令アドレス(リニアアドレス)を変換した物理アドレスを用いて読み込んだ命令3018,3028と、その命令を擬似的に実行するための擬似命令情報3019,3029も保持する。
次に、図4及び図5を用いて、保護例外処理が発生した後の動作について、説明する。保護例外処理が発生して仮想計算機制御部に命令アドレスが渡される時、まず、命令アドレス(リニアアドレス)で渡される。しかし、仮想計算機制御部は物理メモリしか直接には参照することが出来ない。そこで、命令アドレス(リニアアドレス)を命令アドレス(物理アドレス)に変換する必要がある。その変換処理の一連の流れを、以下に説明する。
まず、保護例外処理が発生すると、保護例外の原因となった命令アドレス(リニアアドレス)に一致する保護例外情報の有無について、保護例外保存領域(300)を対象として、検索する。
図4は、一致する保護例外情報が存在しない場合を示している。この場合、保護例外情報を使わずに、仮想計算機物理アドレスを物理アドレスに変換してPTを読む。また、この時に処理する保護例外の情報を、次に同じ命令がきた時に参照するため、保護例外情報に格納する。
図5は、一致する保護例外情報が存在する場合を示している。この場合、その保護例外情報を使って、仮想計算機物理アドレスと物理アドレスを変換してPTを読む。
ここでは、まず、図4を用いて、保護例外保存領域(300)に保護例外の原因となった命令アドレス(リニアアドレス)に一致する保護例外情報が無い場合、即ち保護例外となった命令の保護例外情報が未登録の場合の動作について、説明する。なお、保護例外情報が保護例外保存領域に存在しない状況とは、例えば計算機システムの初動時である。
まず、命令アドレス(リニアアドレス)401を、保護例外情報400の命令アドレス4001に格納する(4006)。
次に、命令アドレス(リニアアドレス)401を使って、命令の物理アドレスが求まるまで、仮想計算機上のOS及びOS上で稼動するプロセスが生成したPT402を読む。
次に、第一のテーブル(T1)403の先頭から命令アドレス(リニアアドレス)401の一部をインデックス4011として読みとったエントリ情報406に基づき、次のテーブル(T2)404の先頭アドレス409を取り出す(4031)。
この先頭アドレスは、仮想計算機物理アドレス409なので、そのままではテーブル(T2)404を参照する事は出来ない。そのため、この仮想計算機物理アドレス409を物理アドレス410に変換(4101)する。4101における変換には、全ての仮想計算機物理メモリと全ての物理メモリとの対応表を、引く必要がある。このため、この変換に要する処理量は非常に大きい。
変換して得られた物理アドレス410及び変換前の仮想計算機物理アドレス409を、テーブル(T2)404の先頭アドレスとして、保護例外情報400のT2物理アドレス4002及びT2仮想計算機物理アドレス4001に、格納する(4091、4092)。
次に、テーブル(T2)404の先頭を示す(4041)物理アドレス410から命令アドレス(リニアアドレス)401の一部をインデックス4012として読みとったエントリ情報407に基づき、次のテーブル(T3)405の先頭アドレス411を取り出す。
この先頭アドレス411は、仮想計算機物理アドレス411なので、物理アドレス412に変換する(4102)。この変換方法は、テーブル(T2)404の先頭アドレスを求めた時と同様である。ここでも、4102における変換には、全ての仮想計算機物理メモリと全ての物理メモリとの対応表を、引く必要がある。このため、この変換に要する処理量が常に増加する。
次に、変換して得られた物理アドレス412及び変換前の仮想計算機物理アドレス411を、テーブル(T3)405の先頭アドレスとして、保護例外情報400のT3物理アドレス4004及びT3仮想計算機物理アドレス4003に、格納する(4093、4094)。
次にテーブル(T3)405の先頭を示す(4042)物理アドレス412から命令アドレス(リニアアドレス)401の一部をインデックス4013として読みとったエントリ情報408に基づき、次のテーブルの先頭アドレスを取り出しす(4033)。以上の処理を、最終的に命令アドレス(リニアアドレス)に対応する物理アドレスが算出されるまで、繰り返す。
次に、図5を用いて、保護例外保存領域300に保護例外の原因となった命令アドレス(リニアアドレス)に一致する保護例外情報が有る場合、即ち保護例外となった命令の保護例外情報が登録されている場合の動作について、説明する。すなわち、図4において、保護例外情報400に保護例外の情報が格納された後の動作である。
保護例外保存領域300に保護例外の原因となった命令アドレス(リニアアドレス)に一致する保護例外情報が有る場合、その保護例外情報を使って、仮想計算機物理アドレス及び物理アドレスを変換して、PTを読む。
なお、この時に物理アドレスを算出する場合、保護例外情報と今回参照するPTが一致しているか確認するため、保護例外情報に格納されている仮想計算機物理アドレスとPTのテーブルに登録されている仮想計算機物理アドレスを比較して一致するかどうか判定する必要がある。この判定で一箇所でも一致しなかった場合は、この保護例外情報は利用せずに仮想計算機物理アドレスを物理アドレスに変換してPTを読み、改めて保護例外情報を登録する。
さて、命令アドレス(リニアアドレス)501が保護例外情報500の命令アドレス5001と比較して、一致することを確認(5008)した後、命令アドレス(リニアアドレス)501を使って命令の物理アドレスが求まるまで、仮想計算機上のOS及びOS上で稼動するプロセスが生成したPT502を、読む。
第一のテーブル(T1)503の先頭から命令アドレス(リニアアドレス)の一部をインデックス5011として読みとったエントリ情報506から、次のテーブル(T2)504の先頭アドレス509を、取り出す(5031)。
この先頭アドレス509は仮想計算機物理アドレスであり、保護例外情報500に保存されているT2仮想計算機物理アドレス5002と比較する。(T2)504の先頭アドレスである仮想計算機物理アドレス509と保護例外情報500に保存されているT2仮想計算機物理アドレス5002とが一致したら、保護例外情報500に保存されているT2物理アドレス5003を、次のテーブル(T2)504の先頭アドレスとして用いる。これにより、仮想計算機物理アドレスから物理アドレスへの変換を、省略(5101)する。
次に、テーブル(T2)504の先頭を示す(5041)物理アドレス510から命令アドレス(リニアアドレス)501の一部をインデックス5012として読みとったエントリ情報507から、次のテーブル(T3)505の先頭アドレス511を取り出す(5032)。
この先頭アドレス511は仮想計算機物理アドレスであり、保護例外情報500に保存されているT3仮想計算機物理アドレス5004と比較する。(T3)505の先頭アドレスである仮想計算機物理アドレス511と保護例外情報500に保存されているT3仮想計算機物理アドレス5004とが一致したら、保護例外情報500に保存されているT3物理アドレス5005を、次のテーブル(T3)505の先頭アドレスとして用いる。これにより、仮想計算機物理アドレスから物理アドレスへの変換を省略する。
次に、テーブル(T3)505の先頭を示す(5042)物理アドレス512から命令アドレ
命令アドレス(リニアアドレス)の一部をインデックス5013として読みとったエントリ情報508から、次のテーブルの先頭アドレスを取り出す。(5033)。これを最終的に命令アドレス(リニアアドレス)に対応する物理アドレスが算出されるまで、繰り返す。
ここで、図6に示されるフローチャートを用いて、図4及び図5を用いて説明した本発明を適応した計算機システムにおける保護例外処理での処理動作を、詳細に説明する。
まず、保護例外処理が発生したら、その例外を発生せた命令のアドレスをキーに、保護例外情報が保護例外領域の中に存在するかどうかを検索する(S601、5008)。保護例外領域に登録されていない命令は、命令アドレス(リニアアドレス)をキーに、仮想計算機上でOS及びOS上で稼動するプロセスが生成したPTを読む。
この時、仮想計算機内で用いている物理アドレスと、実際の計算機上の物理アドレスが異なるため、前述のとおりPTの各テーブルを読む度に全仮想計算機物理メモリと全物理メモリとの対応表を引いて、仮想計算機物理アドレスと物理アドレスを変換する。この変換を繰り返して、仮想計算機のPTを読み、命令アドレス(リニアアドレス)から命令の物理アドレスを算出する(S608)。
命令の物理アドレスから、物理メモリ上に格納された命令を読み出す(S609)。
次に、読み出した命令はバイナリなので、仮想計算機制御部によりCPUが持つ全ての命令のパターンマッチングとCPUアーキテクチャに沿った命令解析を命令のバイナリに対して実施し、例外を発生させた命令を仮想計算機制御部が実行できる形式に変換する(S610)。この変換結果を擬似命令という。
この擬似命令と、命令アドレス(リニアアドレス)、命令、PTの各テーブルを読む時に用いた仮想計算機物理アドレスとその変換結果の物理アドレスを新しく保護例外情報として保持する(S611)。その後、擬似命令を実行する。保護例外情報の検索及び保護例外情報の保持以外の動作は、本発明が適用されていない場合の動作と同じである。
次に、保護例外処理が発生した時、その例外を発生せた命令のアドレスを持つ保護例外情報が保護例外領域の中の検索(S601、5008)で見付かった場合について説明する。
例外を発生せた命令のアドレスと等しい情報を持つ保護例外情報が見付かったら、命令アドレス(リニアアドレス)から命令の物理アドレスを算出する(S602,603)。
命令アドレス(リニアアドレス)から命令の物理アドレスを算出するためには、前述の通り仮想計算機上で生成されたPTを、仮想計算機物理アドレスと物理アドレスを変換しながら、読まなければならない。そのため、PTのテーブルから実際に読み出された仮想計算機物理アドレスと、保護例外情報内のこのテーブルに関係する仮想計算機物理アドレスとが等価ならば、保護例外情報内のこのテーブルに関係する物理アドレスを利用して次のテーブルを読んでいく。(S602、5091〜5094)
この過程を繰り返して、仮想計算機のPTを読み、命令アドレス(リニアアドレス)から命令の物理アドレスを算出する。これにより、テーブルの仮想計算機物理アドレスと物理アドレスを変換を行い、テーブルを読んで、命令アドレス(リニアアドレス)から命令の物理アドレスを算出する。(S603、5031〜5033、5041〜5042)。
なお、PTのテーブルから実際に読み出された仮想計算機物理アドレスと、保護例外情報内のこのテーブルに関係する仮想計算機物理アドレスとが等価でない場合、この保護例外情報に対して取り消しを行う(S612)。
命令の物理アドレスから、物理メモリを読み込み、命令のバイナリを取り出す(S604)。
次に取り出した命令バイナリと、保護例外情報内に保持してある命令のバイナリと比較する(S605)。
一致すれば、この命令の解析結果の擬似命令も等価であるため、保護例外情報内に保持してある擬似命令を用いて(S606)、擬似命令を実行する(S607)。
保護例外情報内の命令のバイナリと等価でない場合、この保護例外情報に対して取り消し(S613)、この命令のバイナリの命令解析を行う(S610)。
以上、本発明を適用した計算機システムによれば、アドレス変換や命令解析に使用する時間が仮想計算機制御部の処理時間に対し支配的なシステムであっても、S601〜607を実行し、保護例外領域に登録されている保護例外情報を用いるので、S608のように全ての仮想計算機物理メモリと全ての物理メモリとの対応表を引くという実行処理量が膨大な処理を省くことができ、システム全体の処理量を低減することができる。特に、使用頻度が多く繰り返し参照される事が多い仮想デバイスに関しては、この効果をより大きく享受することができる。
前述した本発明の実施形態での処理は、プログラムにより構成し、本発明が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
本発明を、例えば仮想化ソフトウェアを搭載するハイエンドサーバで採用されているHigh Precision Event Timer(HPET)の仮想化に適用した場合、HPETは仮想計算機物理メモリ空間にHPETテーブルとタイマレジスタを構成しているが、タイマであるHPETへのアクセスは一定周期で大量に同じ命令で繰り返されるため、保護例外情報の再利用率が高く、処理量の大きいアドレス変換や命令解析を省略できる。このように、処理量の大きい処理を省略することで、保護例外処理部分の処理量を大幅に削減する事が可能である。また、Memory Mapped IO等のレジスタの読書きでも、同じ命令が複数のプロセスに共有で発行される事が多く、本発明を適用により処理量を削減することができる。
以上説明した要因により、本発明を適応した場合、仮想計算機上で発生した保護例外の処理に、従来技術と比較して、約2〜8倍程度の処理速度の向上を確認出来た。
100 物理計算機
1010〜1011 プロセッサ
102 バス
103 物理メモリ
104 PCI Device
105〜106 仮想計算機
1051 仮想プロセッサ
1052 仮想計算機物理メモリ
1053 OS
1054 仮想PCI Device
1055 仮想デバイス
1061 仮想プロセッサ
1062 仮想計算機物理メモリ
1063 OS
1064 仮想PCI Device
1065 仮想デバイス
107 仮想計算機制御部
200 仮想計算機
2001 仮想計算機物理メモリ
2002 仮想デバイス機能情報
2003 保護対象テーブル
2004 PT
2005 仮想デバイス機能情報登録
201 仮想計算機制御部
2010 保護例外処理
2011 命令解析部
2012 保護例外保存領域
2013〜2015 保護例外情報
2016 アドレス変換部
2020 例外通知
2021 命令解析要求
2022 保護例外情報請求・登録
2023〜2025 保護例外情報管理
2026 アドレス変換要求
300 保護例外保存領域
3001 保護例外情報リスト
3002 保護例外管理データ
301、302 保護例外情報
3011、3021 命令アドレス
3012、3022 T2仮想計算機物理アドレス
3013、3023 T2物理アドレス
3014、3024 T3仮想計算機物理アドレス
3015、3025 T3物理アドレス
3016、3026 T4仮想計算機物理アドレス
3017、3027 T4物理アドレス
3018、3028 命令
3019、3029 擬似命令情報
400 保護例外情報
4001 命令アドレス
4002 T2仮想計算機物理アドレス
4003 T2物理アドレス
4004 T3仮想計算機物理アドレス
4005 T3物理アドレス
4005 T3物理アドレス
4006 命令アドレスを保護例外情報に格納
401 命令アドレス
4011〜4013 テーブルのインデックス
402 PT
403 テーブル(T1)
404 テーブル(T2)
405 テーブル(T3)
4031〜4033 エントリから次のテーブルの先頭アドレスを取り出す
4041、4042 物理アドレスが次のテーブルの先頭を示す
406〜408 エントリ
409、411 次のテーブルの先頭を指している仮想計算機物理アドレス
4091〜4094 アドレスを保護例外情報に格納
410、412 次のテーブルの先頭を指している物理アドレス
4101、4102 仮想計算機物理アドレスと物理アドレスを変換
500 保護例外情報
5001 命令アドレス
5002 T2仮想計算機物理アドレス
5003 T2物理アドレス
5004 T3仮想計算機物理アドレス
5005 T3物理アドレス
5005 T3物理アドレス
5006 保護例外情報の情報と命令アドレスを比較
501 命令アドレス
5011〜5013 テーブルのインデックス
502 PT
503 テーブル(T1)
504 テーブル(T2)
505 テーブル(T3)
5031〜5033 エントリから次のテーブルの先頭アドレスを取り出す
5041、5042 物理アドレスが次のテーブルの先頭を示す
506〜508 エントリ
509、511 次のテーブルの先頭を指している仮想計算機物理アドレス
5091、5093 保護例外情報の情報と仮想計算機物理アドレスを比較
5092、5094 保護例外情報の情報から物理アドレスを参照
510、512 次のテーブルの先頭を指している物理アドレス
5101、5102 仮想計算機物理アドレスと物理アドレスを変換を省略

Claims (18)

  1. 少なくとも1つ以上の物理プロセッサと、物理メモリと、前記物理プロセッサ及び物理メモリを論理的に分割して仮想プロセッサ及び仮想計算機物理メモリとして用いる仮想計算機と、前記仮想計算機を制御する仮想計算機制御部とを備える計算機装置において、
    前記仮想計算機は、前記仮想プロセッサと、前記仮想計算機物理メモリと、前記仮想計算機物理メモリのアドレス空間のアドレス情報と前記物理メモリのアドレス空間のアドレス情報との対応関係を有するページテーブルと、前記仮想計算機物理メモリのうち保護されているアドレス空間のアドレス情報を管理する保護対象テーブルとを備え、
    前記仮想計算機制御部は、前記保護対象テーブルで管理されるアドレス空間がアクセスされた場合に保護例外処理を実行する保護例外処理部と、実行された保護例外処理に関する保護例外情報を保存する保護例外保存領域と、前記仮想計算機物理メモリのアドレスと物理メモリのアドレスとを変換するアドレス変換部と、命令解析部とを備え、
    前記保護例外処理を実行するに際し、前記保護例外処理部は、保護例外処理を発生させた命令アドレスと前記保護例外保存領域に保存される保護例外情報の命令アドレスとを比較し、
    前記保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致する場合、
    前記保護例外処理部は、前記一致する命令アドレスの保護例外情報が有する擬似命令を用いて、前記保護例外処理を実行することを特徴とする計算機装置。
  2. 前記保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致しない場合、
    前記保護例外処理部は、前記保護例外処理を発生させた命令アドレスに基づき、前記ページテーブルから前記仮想計算機物理メモリのアドレスを取り出し、
    前記アドレス変換部は、前記取り出した仮想計算機物理メモリのアドレスを、命令の物理メモリのアドレスに変換し、
    前記保護例外処理部は、前記変換した命令の物理メモリのアドレスを用いて、前記物理メモリから命令を読み出し、
    前記命令解析部は、前記命令を解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項1記載の計算機装置。
  3. 前記保護例外処理部は、保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致しない場合、前記保護例外処理を発生させた命令アドレスに基づき生成された前記擬似命令を、前記保護例外情報に格納することを特徴とする請求項2記載の計算機装置。
  4. 前記保護例外処理部は、更に、前記保護例外処理を発生させた命令アドレス、前記ページテーブルから取り出した前記仮想計算機物理メモリのアドレス、前記命令の物理メモリのアドレス及び前記命令を、前記保護例外情報に格納することを特徴とする請求項3記載の計算機装置。
  5. 前記ページテーブルは、命令アドレスの少なくとも一部がインデックスとして連なった複数のテーブルを有し、
    前記保護例外処理部は、前記ページテーブルのあるテーブルから読み出された仮想計算機物理アドレスと前記一致する命令アドレスの保護例外情報が有する仮想計算機物理アドレスとを比較し、
    前記比較の結果、等価である場合、前記一致する命令アドレスの保護例外情報が有する物理アドレスを用いて、前記あるテーブルに連なる次のテーブルを読み、
    前記比較の結果、等価でない場合、前記保護例外情報を取り消す、
    ことを特徴とする請求項1記載の計算機装置。
  6. 前記保護例外情報を取り消した後、
    前記保護例外処理部は、前記保護例外処理を発生させた命令アドレスに基づき、前記ページテーブルから前記仮想計算機物理メモリのアドレスを取り出し、
    前記アドレス変換部は、前記取り出した仮想計算機物理メモリのアドレスを、命令の物理メモリのアドレスに変換し、
    前記保護例外処理部は、前記変換した命令の物理メモリのアドレスを用いて、前記物理メモリから命令を読み出し、
    前記命令解析部は、前記命令を解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項5記載の計算機装置。
  7. 前記保護例外処理部は、前記命令の物理アドレスを用いて、前記物理メモリから命令のバイナリを取り出し、
    前記物理メモリから取り出した命令のバイナリと前記保護例外情報内に保持される命令のバイナリと比較し、
    前記比較の結果、等価である場合、前記保護例外情報内に保持してある擬似命令を用いて擬似命令を実行し、
    前記比較の結果、等価でない場合、前記保護例外情報を取り消す、
    ことを特徴とする請求項5記載の計算機装置。
  8. 前記保護例外情報を取り消した後、
    前記命令解析部は、前記命令のバイナリを解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項7記載の計算機装置。
  9. 前記物理プロセッサおよび物理メモリは、前記仮想計算機制御部により、複数の仮想計算機上に、前記仮想プロセッサおよび前記仮想計算機物理メモリとして分割されていることを特徴とする請求項1記載の計算機装置。
  10. 少なくとも1つ以上の物理プロセッサと、物理メモリと、前記物理プロセッサ及び物理メモリを論理的に分割して仮想プロセッサ及び仮想計算機物理メモリとして用いる仮想計算機と、前記仮想計算機を制御する仮想計算機制御部とを備える計算機装置における制御方法であって、
    前記仮想計算機は、前記仮想プロセッサと、前記仮想計算機物理メモリと、前記仮想計算機物理メモリのアドレス空間のアドレス情報と前記物理メモリのアドレス空間のアドレス情報との対応関係を有するページテーブルと、前記仮想計算機物理メモリのうち保護されているアドレス空間のアドレス情報を管理する保護対象テーブルとを備え、
    前記仮想計算機制御部は、前記保護対象テーブルで管理されるアドレス空間がアクセスされた場合に保護例外処理を実行する保護例外処理部と、実行された保護例外処理に関する保護例外情報を保存する保護例外保存領域と、前記仮想計算機物理メモリのアドレスと物理メモリのアドレスとを変換するアドレス変換部と、命令解析部とを備え、
    前記保護例外処理を実行するに際し、前記保護例外処理部は、保護例外処理を発生させた命令アドレスと前記保護例外保存領域に保存される保護例外情報の命令アドレスとを比較し、
    前記保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致する場合、
    前記保護例外処理部は、前記一致する命令アドレスの保護例外情報が有する擬似命令を用いて、前記保護例外処理を実行することを特徴とする制御方法。
  11. 前記保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致しない場合、
    前記保護例外処理部は、前記保護例外処理を発生させた命令アドレスに基づき、前記ページテーブルから前記仮想計算機物理メモリのアドレスを取り出し、
    前記アドレス変換部は、前記取り出した仮想計算機物理メモリのアドレスを、命令の物理メモリのアドレスに変換し、
    前記保護例外処理部は、前記変換した命令の物理メモリのアドレスを用いて、前記物理メモリから命令を読み出し、
    前記命令解析部は、前記命令を解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項10記載の制御方法。
  12. 前記保護例外処理部は、保護例外処理を発生させた命令アドレスと前記保護例外情報の命令アドレスとが一致しない場合、前記保護例外処理を発生させた命令アドレスに基づき生成された前記擬似命令を、前記保護例外情報に格納することを特徴とする請求項11記載の制御方法。
  13. 前記保護例外処理部は、更に、前記保護例外処理を発生させた命令アドレス、前記ページテーブルから取り出した前記仮想計算機物理メモリのアドレス、前記命令の物理メモリのアドレス及び前記命令を、前記保護例外情報に格納することを特徴とする請求項12記載の制御方法。
  14. 前記ページテーブルは、命令アドレスの少なくとも一部がインデックスとして連なった複数のテーブルを有し、
    前記保護例外処理部は、前記ページテーブルのあるテーブルから読み出された仮想計算機物理アドレスと前記一致する命令アドレスの保護例外情報が有する仮想計算機物理アドレスとを比較し、
    前記比較の結果、等価である場合、前記一致する命令アドレスの保護例外情報が有する物理アドレスを用いて、前記あるテーブルに連なる次のテーブルを読み、
    前記比較の結果、等価でない場合、前記保護例外情報を取り消す、
    ことを特徴とする請求項10記載の制御方法。
  15. 前記保護例外情報を取り消した後、
    前記保護例外処理部は、前記保護例外処理を発生させた命令アドレスに基づき、前記ページテーブルから前記仮想計算機物理メモリのアドレスを取り出し、
    前記アドレス変換部は、前記取り出した仮想計算機物理メモリのアドレスを、命令の物理メモリのアドレスに変換し、
    前記保護例外処理部は、前記変換した命令の物理メモリのアドレスを用いて、前記物理メモリから命令を読み出し、
    前記命令解析部は、前記命令を解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項14記載の制御方法。
  16. 前記保護例外処理部は、前記命令の物理アドレスを用いて、前記物理メモリから命令のバイナリを取り出し、
    前記物理メモリから取り出した命令のバイナリと前記保護例外情報内に保持される命令のバイナリと比較し、
    前記比較の結果、等価である場合、前記保護例外情報内に保持してある擬似命令を用いて擬似命令を実行し、
    前記比較の結果、等価でない場合、前記保護例外情報を取り消す、
    ことを特徴とする請求項14記載の制御方法。
  17. 前記保護例外情報を取り消した後、
    前記命令解析部は、前記命令のバイナリを解析して擬似命令を生成し、
    前記保護例外処理部は、前記擬似命令を用いて保護例外処理を実行することを特徴とする請求項16記載の制御方法。
  18. 前記物理プロセッサおよび物理メモリは、前記仮想計算機制御部により、複数の仮想計算機上に、前記仮想プロセッサおよび前記仮想計算機物理メモリとして分割されていることを特徴とする請求項10記載の制御方法。
JP2009043331A 2009-02-26 2009-02-26 計算機装置および制御方法 Pending JP2010198398A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009043331A JP2010198398A (ja) 2009-02-26 2009-02-26 計算機装置および制御方法
US12/623,507 US20100217950A1 (en) 2009-02-26 2009-11-23 Computer apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009043331A JP2010198398A (ja) 2009-02-26 2009-02-26 計算機装置および制御方法

Publications (1)

Publication Number Publication Date
JP2010198398A true JP2010198398A (ja) 2010-09-09

Family

ID=42631911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009043331A Pending JP2010198398A (ja) 2009-02-26 2009-02-26 計算機装置および制御方法

Country Status (2)

Country Link
US (1) US20100217950A1 (ja)
JP (1) JP2010198398A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017022014A1 (ja) * 2015-07-31 2017-02-09 株式会社日立製作所 仮想計算機システムの制御方法及び仮想計算機システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014148935A1 (ru) * 2013-03-18 2014-09-25 Общество С Ограниченной Ответственностью "Протекшен Технолоджи Ресеч" Способ защиты машинного кода и неизменяемых данных программы от модификации
CN107341002B (zh) * 2017-06-13 2021-01-19 芯海科技(深圳)股份有限公司 一种内存访问方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02187831A (ja) * 1989-01-13 1990-07-24 Nec Corp 仮想計算機システムにおける例外処理方式
JP2009026117A (ja) * 2007-07-20 2009-02-05 Nec Corp 仮想計算機システムにおけるメモリ管理方式及びその方法、およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US7299337B2 (en) * 2005-05-12 2007-11-20 Traut Eric P Enhanced shadow page table algorithms
US7363463B2 (en) * 2005-05-13 2008-04-22 Microsoft Corporation Method and system for caching address translations from multiple address spaces in virtual machines
US7636831B1 (en) * 2006-03-31 2009-12-22 Vmware, Inc. Optimization of reverse mappings for immutable guest physical pages of virtual memories in a virtualized computer system
JP2009134565A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd 仮想計算機システム及び仮想計算機システムの制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02187831A (ja) * 1989-01-13 1990-07-24 Nec Corp 仮想計算機システムにおける例外処理方式
JP2009026117A (ja) * 2007-07-20 2009-02-05 Nec Corp 仮想計算機システムにおけるメモリ管理方式及びその方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017022014A1 (ja) * 2015-07-31 2017-02-09 株式会社日立製作所 仮想計算機システムの制御方法及び仮想計算機システム

Also Published As

Publication number Publication date
US20100217950A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
KR101673435B1 (ko) 공동 설계 프로세서에서 격리된 실행 환경의 생성
JP5214611B2 (ja) 仮想マシン環境におけるゲスト間での情報の共有
JP4668166B2 (ja) ゲストがメモリ変換されたデバイスにアクセスする方法及び装置
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
US9355262B2 (en) Modifying memory permissions in a secure processing environment
US9772962B2 (en) Memory sharing for direct memory access by a device assigned to a guest operating system
US20130117530A1 (en) Apparatus for translating virtual address space
US8386750B2 (en) Multiprocessor system having processors with different address widths and method for operating the same
JP2007122305A (ja) 仮想計算機システム
US7823151B2 (en) Method of ensuring the integrity of TLB entries after changing the translation mode of a virtualized operating system without requiring a flush of the TLB
US20070011429A1 (en) Virtual memory key generation
JP2010033206A (ja) 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法
US10387184B2 (en) Address based host page table selection
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
JP5786955B2 (ja) メモリ縮退方法及び情報処理装置
US9875132B2 (en) Input output memory management unit based zero copy virtual machine to virtual machine communication
US10552345B2 (en) Virtual machine memory lock-down
WO2012163017A1 (zh) 分布式虚拟机访问异常的处理方法以及虚拟机监控器
JP2009134565A (ja) 仮想計算機システム及び仮想計算機システムの制御方法
JP2010198398A (ja) 計算機装置および制御方法
US11409551B2 (en) Emulating VPID correctly for a nested hypervisor
JP6973856B2 (ja) 情報処理装置、実行方法及びプログラムの修正方法
TWI497294B (zh) 用於增加虛擬記憶體效能之電腦可讀儲存媒體、設備及電腦實施方法
JP2010257049A (ja) 仮想化プログラム、仮想化処理方法及び装置
JP2005056019A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121225