JP2009134565A - 仮想計算機システム及び仮想計算機システムの制御方法 - Google Patents

仮想計算機システム及び仮想計算機システムの制御方法 Download PDF

Info

Publication number
JP2009134565A
JP2009134565A JP2007310812A JP2007310812A JP2009134565A JP 2009134565 A JP2009134565 A JP 2009134565A JP 2007310812 A JP2007310812 A JP 2007310812A JP 2007310812 A JP2007310812 A JP 2007310812A JP 2009134565 A JP2009134565 A JP 2009134565A
Authority
JP
Japan
Prior art keywords
instruction
protection
pseudo
exception
protection exception
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
JP2007310812A
Other languages
English (en)
Inventor
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 JP2007310812A priority Critical patent/JP2009134565A/ja
Priority to US12/323,610 priority patent/US20090144733A1/en
Publication of JP2009134565A publication Critical patent/JP2009134565A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory 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)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】仮想計算機制御プログラムが提供する仮想デバイスへの参照による保護例外処理プログラムの処理量を低減させる。
【解決手段】仮想デバイスへの参照による保護例外処理で、保護例外を起こした命令を解析(S41)し、仮想デバイス上の役割毎に、最適な擬似命令が実行でいるかを判定(S42)し、実行できる場合に、その保護例外要因をメモリに記憶(S43)し、最適化されて擬似命令(S45)を実行し、次からの保護例外処理から、メモリに記憶した要因が利用可能か判断(S40)して、利用可能な場合に、最適化された擬似命令(S45)を実行することにより、処理量の大きなS41の処理を省略し、保護例外処理量を削減する。また、記憶した保護例外要因の内容とS41の処理で命令を解析した内容とを比較(S46)し、保存した要因が再利用可能でない場合、それを削除する(S47)。
【選択図】図4

Description

本発明は、仮想計算機システム及び仮想計算機システムの制御方法に係り、特に、仮想計算機システムでの保護対象アドレスへの読み込みまたは書き込みを行った際に必要になる保護例外処理を低減した仮想計算機システム及び仮想計算機システムの制御方法に関する。
近年、集積回路に集積可能な素子数の増大と、それらを結合する高密度実装技術の発展とに伴い、1つの物理計算機の筐体に収められるプロセッサ数、I/Oデバイス数、メモリ量等の計算資源が増大する傾向にある。また、複数の物理計算機の筐体をネットワークにより結合し、1つの物理計算機として扱う技術も発展しており、それに伴い、1つの物理計算機に収められる計算資源はさらに増大する傾向にある。このように1つの物理計算機に多くの計算資源が納められた物理計算機は、計算資源が少ない物理計算機に比べて、電源を入れてから利用可能になるまでに多くの時間を必要とする。このため、物理計算機の電源は、常時、投入されたままの状態であることが好まれる傾向にある。
このような大規模物理計算機を効率的に使用するために、1つの物理計算機の資源を仮想的に複数に分割する方法である論理区間分割(LPAR:Logical PARtition)を行って、仮想計算機システムとして構成する技術が普及しつつある。論理区間分割された各区間は、仮想計算機としてそれぞれ独立したOSが動作可能である。論理区間分割される物理計算機は、常時、電源が入っている状態にあり、論理分割された各区間は、仮想計算機として、それぞれ擬似的に電源を入れたり落としたりすることができる。このように、論理区間分割を適用すると大規模な物理計算機においても、ノード資源の利用効率と可用性との向上を図ることができる。
前述したような仮想計算機システムは、ある仮想計算機が、同一物理計算機内の他の仮想計算機との間での独立性を確保するため、仮想計算機システムの制御のためのプログラムである仮想計算機制御プログラムが必要である。この仮想計算機制御プログラムは、独立した仮想計算機に、物理計算機の各プロセッサ、メモリ、I/Oデバイス等を分割し、独占または共有して使用させるための制御機能やデバイス仮想化機能を提供することが必要である。
前述したようなデバイス仮想化には、特定のアドレス空間を保護することができるプロセッサが用いられる。保護機能を持ったプロセッサは、アクセス空間の保護された領域への読み込みまたは書き込みが行われると、例外が起こり、仮想計算機制御プログラムの例外処理プログラムが実行される。この保護例外のための保護例外処理プログラムにより、デバイスの仮想化が実現される。保護例外処理プログラムは、読み書きを行った命令を特定し、その命令が物理計算機で実行される場合と同等の動作を擬似的に実行することにより、仮想デバイスを実現する制御である。
なお、前述のような仮想デバイスを実現する制御に関する従来技術として、例えば、特許文献1、2等に記載された技術が知られている。
ある種のプロセッサにおいて、割り込み処理装置のレジスタは、物理メモリアドレス空間内の定められたアドレス領域(物理フレーム)に割り当てられる。この割り当てられた個々のアドレスの読み込みまたは書き込みを行うことにより、レジスタへの読み書きが行われる。割り込みデバイスを仮想化する場合、割り込み装置のレジスタが割り当てられた物理フレームをアクセス保護が可能な仮想アドレス領域(ページ)に関連付け、このページを保護対象扱いにし、書き込みまたは読み込み例外処理の一部を仮想計算機制御プログラムで処理する。この例外の処理により、割り込み処理装置が仮想化される。従って、割り込み処理装置のレジスタへの読み書きは、読み書きを行った命令の特定及び読み書きの命令を擬似的に実行する例外処理を必要とする。割り込み処理プログラムが割り込み処理終了を報告するためのレジスタも、この保護領域に割り当てられるレジスタであるので、同様に命令の特定と擬似的に命令を実行する処理とが必要である。
特開2003−167758号公報 特開2006−085543号公報
前述したように、保護領域に割り当て、保護例外処理によりデバイスの仮想化を行う制御方法による従来技術は、例外発生原因になった命令の特定と、物理計算機でその命令が実行された場合と同等の動作を擬似的に実行する処理とが必要であり、仮想化していないデバイスに比べて、処理量が増大するという問題点を有している。また、前述の従来技術は、使用頻度の多いレジスタが保護対象となるようなデバイス(例えば、前述の割り込み処理装置)の仮想化の場合、その保護例外処理が、システム全体の処理量に対して、無視できない程、増大してしまうという問題を生じさせてしまう。
本発明の目的は、前述した従来技術の問題点に鑑みてなされたもので、仮想化したデバイスの保護例外処理を低減することを可能にした仮想計算機システム及び仮想計算機システムの制御方法を提供することにある。
本発明によれば前記目的は、少なくとも1つのCPUとメモリとを共有し、複数のプログラムを切り替えて実行する複数の仮想計算機が構成された仮想計算機システムにおいて、前記仮想計算機の制御のための仮想計算機制御手段を備え、該仮想計算機制御手段は、例外を発生させるか否かを決定するため保護対象アドレスを格納した保護対象保持手段と、再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段とを有し、前記仮想計算機制御手段は、前記CPUにより実行されるプログラムが特定のアドレス領域に対して読み込みまたは書き込みを行ったとき、保護対象保持手段を参照して、保護例外処理を実行するか否かを決定し、保護例外処理を実行する場合、保護例外の原因となったアドレスによる保護例外要因が前記再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段に存在するか否かを判定し、前記保護例外保存手段に再利用可能な最適化された擬似命令が存在した場合、その最適化された擬似命令を用いて保護例外処理を行うことにより達成される。
本発明によれば、物理計算機でのデバイス操作で、不要だった擬似命令処理と命令解析処理とを低減することができ、特に、使用頻度の多いレジスタが保護対象となるデバイスの仮想化の場合、擬似命令処理と命令解析処理とを大幅に低減することができる。
以下、本発明による仮想計算機システム及び仮想計算機システムの制御方法の実施形態を図面により詳細に説明する。
図1は本発明の一実施形態による仮想計算機システムの構成を示すブロック図である。図1に示すシステムは、複数の仮想計算機及び仮想計算機制御プログラムが動作する物理計算機100の構成を示したものである。
物理計算機100には、複数のプロセッサ1010〜1013が収められている。プロセッサは、1つ以上であれば、幾つ収められていてもよい。これらプロセッサ1010〜1013内には、Local APIC(割り込み処理制御装置)1140〜1143が含まれている。プロセッサ1010〜1013は、システムバス102によりデバイスコントローラ103に接続されている。デバイスコントローラ103は、Memory Controller 108とI/OxAPIC(I/O割り込み制御装置)1090とを含んで構成されており、Memory Module 1050〜1053とPCI Bridge 106との間のデータ授受、割り込みの調停や制御を行う役割を有している。デバイスコントローラ103にメモリバス104を介して接続されているMemory Module 1050〜1053は、仮想計算制御プログラムや仮想計算機上のプログラムを記憶しておく主記憶装置である。
PCI Slot 1070〜1075は、デバイスコントローラ103またはPCI Bridge 106に接続されている。PCI Slot 1070〜1075は、外部拡張デバイスと接続するための空きスロットである。また、PCI Bridge 106内にもI/OxAPIC(I/O割り込み装置)1091が含まれている。このI/OxAPIC1091は、それを含んでいるデバイスコントローラ103やPCI Bridge106に接続されるデバイスから上げられる割り込みを、Local APIC1140〜1143に上げる役割がある。PCI Bridge 106には、PCI Slot 1073〜1075以外にも、表示装置であるVGA111、外部通信装置であるNIC110、SCSI Controller 112が接続されている。SCSI Controller 112には、プログラムを記憶しておくDisk113が接続されている。
図2は仮想計算機を実現するプログラムについてを説明する図であり、次に、これについて説明する。
物理計算機100の中に構成される仮想計算機2110〜2112のそれぞれは、仮想計算機制御プログラム202により制御される。各仮想計算機2110〜2112上では、OS2000〜2002がそれぞれ独立して動作可能である。各仮想計算機2110〜2112は、仮想計算機制御プログラム202により割り当てられる仮想デバイスから構成され、これらの仮想デバイスは、各仮想計算機上で動作するOS2000〜2002にとって、物理計算機100で提供される物理デバイスと同等の動作をする。各仮想計算機2110〜2112は、それぞれ、V-Local APIC(仮想割り込み制御装置)2130〜2132を有するVirtual Processor 2120〜2122、Virtual Memory2140〜2142、V-PCI Device2150〜2152を備えて構成される。Virtual Processor 2120〜2122、V-Local APIC(仮想割り込み制御装置)2130〜2132、Virtual Memory2140〜2142、V-PCI Device2150〜2152は、仮想デバイスである。
Virtual Processor 2120〜2122は、OS2000〜2002からは、物理計算機100のプロセッサ1010からとほぼ同等の動作を行うように見え、V-Local APIC2130〜2132、Virtual Memory2140〜2142、V-PCI Device2150〜2152も、それぞれ、物理計算機100のLocal APIC1140〜1143、Memory Module 1050〜1053、PCI Slot107 に取り付けられる外部拡張デバイスに相当する動作をOS2000〜2002に提供する。
前述したような仮想デバイスは、仮想計算機制御プログラム202に割り当てられたアドレスに対応付けられている。仮想計算制御プログラム202は、保護対象テーブル204を有し、割り当てたアドレスを保護対象アドレスとするか否かを決定し、保護対象テーブル204に定義する。また、仮想計算制御プログラム202は、保護例外処理203を有し、仮想計算機で動作するプログラムが、保護対象になっているアドレスに割り当てられた仮想デバイスを参照する際、保護例外割り込みが発生し、保護例外処理203が呼び出される。さらに、仮想計算制御プログラム202は、保護例外処理のために再利用可能な最適化された擬似命令を保持している保護例外保存領域205を有している。
図3は本発明を適応しない場合の保護例外処理での処理動作を説明するフローチャートであり、次に、これについて説明する。なお、ここで説明するフローは、本発明の効果を説明するための従来技術におけるフローである。
(1)保護例外が発生した場合に、保護例外原因になった参照アドレスが、保護例外処理プログラムに渡されて保護例外処理が開始される。そして、保護例外を起こした命令の解析が実行される。すなわち、読み込みの場合、読み込みバイト数と読み込み結果の保存先とが解析され、書き込みの際には、書き込みバイト数と書き込むデータ元とが解析される。また、命令解析により、命令の特定、命令があるアドレス、命令長が解析される(ステップS41)。
(2)次に、これらの解析結果を参照し、通常の擬似命令実行の処理が実行される。この擬似命令実行の処理では、保護例外処理203に含まれる図示しない参照アドレスに対応する仮想デバイス毎の仮想化処理が呼び出されて実行される(ステップS44)。
前述したような処理により、仮想デバイスに対する操作が仮想化され、仮想デバイスを実現することができる。
図4は本発明を適応した場合の保護例外処理での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)図3により説明したと同様に、保護例外が発生した場合、保護例外の原因となった参照アドレスが、保護例外処理プログラムに渡されて保護例外処理が開始される。そして、参照アドレスが、今まで参照したことの無いアドレスまたは実行したことの無いアドレスに位置する命令か否か、すなわち、保存していた要因の再利用が可能か否かを判定し、再利用が可能であると判断された場合、保護例外保存領域205に保存されている最適化された擬似命令を実行して処理を終了する(ステップS40、S45)。
(2)ステップS40の判定で、参照アドレスが、今まで参照したことの無いアドレスまたは実行したことの無いアドレスに位置する命令であり、保存していた要因の再利用が不可能であった場合、図3により説明したステップS41の処理と同様に、保護例外を起こした命令の解析を行い、その解析結果とデバイスのアドレスとそのアドレスでの役割とを評価して得られた結果を変換することにより得られる擬似命令が、最適化された擬似命令として実行可能であり、保持しておく必要があるか否かを判断する(ステップS41、S42)。
(3)ステップS42の判定で、ステップS41の処理での命令の解析により得られた擬似命令が最適化された擬似命令として実行可能なもので保持しておく必要があるものであると判断した場合、最適化された擬似命令を再利用可能な例外要因として保護例外保存領域205に保存し、その最適化された擬似命令を実行して処理を終了する(ステップS43、S45)。
(4)ステップS42の判定で、ステップS41の処理での命令の解析により得られた擬似命令が最適化された擬似命令として実行不可能なものであると判定された場合、図3に示したフローのステップS43の処理と同様な通常の擬似命令が実行される(ステップS44)。
(5)ステップS44の処理の後、保護例外保存領域205に保存しておいた要因が取り消し対象となったか否かを判定し、取り消し対象であった場合、その要因を保護例外保存領域205から取り消して処理を終了し、取り消し対象でなかった場合、何もせずに処理を終了する。なお、この保存しておいた要因が取り消し対象か否かを判定する処理の詳細については後述する(ステップS46、S47)。
前述した図4に示すフローにおいて、ステップS43での処理により保護例外保存領域205に保存しておいた要因は、命令が書き換えられるか、その命令で参照する仮想デバイスのアドレスが仮想デバイスを示さなくなったりしない限り、命令の意味が変わらないので、ステップS41の処理での解析結果と同一となり、ステップS41の処理での解析の結果として再利用が可能である。このような場合、ステップS40の判定で再利用可能と判断される。再利用可能でない場合には、保存しておいた要因を取り消すことにより、ステップS40の判定で再利用不可能と判定されることになる。保存しておいた要因が、再利用不可能となったことを検知する判定にも、図4に示すフローによる処理が用いられる。
次に、保存しておいた要因が再利用不可能であると判定するための処理について説明する。この処理における再利用不可能となる命令の書き換えを検知するために、図2に示す保護例外保存領域205に保存しておいた命令アドレスの場所を保護対象アドレスとして、保護対象テーブル204に追加する。保護対象テーブル204に追加された命令アドレスへの書き込み時には、図4に示すフローの処理が実行される。その際、図4のフローにおけるステップS44の実行後、ステップS46の処理で、図4のフローにおけるステップS41での処理による命令解析の結果と保護例外保存領域205に保存しておいた命令アドレスとを比較する。この比較により、保存しておいた例外要因と関連する命令アドレスへの書き込みかそうでないかとを検知する。また、この命令の書き換えの検知方法と同様に、保存した例外要因に関連する仮想デバイスを示すアドレスが、その仮想デバイスを指し示さなくなる場合も検知する。すなわち、仮想デバイスと仮想デバイスを指し示すアドレスとを対応付ける図2に示すOS2001〜2003のそれぞれが保持するテーブルを指し示すアドレスを保護対象テーブル204に追加登録することにより、仮想デバイスを指し示していたアドレスが、その仮想デバイスを指し示さなくなったことを命令書き換えの検知の場合と同様に、ステップS46での処理により検知する。ここで、保存しておいた要因が再利用不可能と検知された場合には、ステップS47の処理により、その要因を取り消す。
前述したように、本発明の実施形態は、特定の仮想デバイスに対して、図4により説明したフローのステップS41とS44との処理を省くことができ、最適化された仮想デバイス中の特定の役割を擬似的に実行するステップS45の処理に直ちに制御を渡すことができる。これにより、本発明の実施形態によれば、図4に示すフローの処理の中で、ステップS41の処理での命令解析に使用する時間が支配的である場合に、全体の処理量を低減することができ、特に繰り返し参照されるような仮想デバイスの部位はこの効果をより大きく享受することができる。
前述した本発明の実施形態での処理は、プログラムにより構成し、本発明が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
前述したように本発明の実施形態によれば、仮想計算機制御プログラムが提供する仮想デバイスを実現するための保護例外処理を低減することができるため、本発明をx86互換アーキテクチャで採用されているLocal APICの仮想化に適用する際に有用である。Local APICのEnd Of Interrupt (EOI)レジスタは、書き込み頻度が非常に高いため、図4に示すフローのステップS40の判定で、再利用可能要因と判断される場合が多くあり、処理量の大きいステップS41での命令解析を省略することが可能となる。また、本発明は、Local APICの仮想化に適用されると、EOIレジスタへの操作で、意味を持つのが4byteの書き込みのみであること、書き込まれる値が常に同じでその値に意味を持たないため、ステップS44の処理で行う通常の疑似命令実行のような厳密な命令実行ではなく、ステップS45の処理で単純化した疑似命令を実行することができる。また、EOIレジスタを実行する命令が書き換えられることやEOIレジスタとそのアドレスとを対応付ける図2に示すOS2001〜2003のそれぞれが保持するテーブルが書き変えられることは、OSが起動している間ほとんどない。このため、保存しておいた要因の再利用頻度が非常に高くなるため、仮想デバイスとして実装したLocal APICの保護例外処理部分を大幅に削減することが可能である。この他にも、参照頻度が多いMemory Mapped IOで参照されるI/Oのレジスタ等に本発明を適用すると保護例外処理を削減することができる。
本発明の一実施形態による仮想計算機システムの構成を示すブロック図である。 仮想計算機を実現するプログラムについてを説明する図である。 本発明を適応しない場合の保護例外処理での処理動作を説明するフローチャートである。 本発明を適応した場合の保護例外処理での処理動作を説明するフローチャートである。
符号の説明
100 物理計算機
1010〜1013 プロセッサ
102 システムバス
103 デバイスコントローラ
104 メモリバス
1050〜1053 Memory Module
106 PCI Bridge
1070〜1075 PCI Slot
108 Memory Controller
1090、1091 I/OxAPIC(外部割り込み処理装置)
110 NIC(外部通信装置)
111 VGA(表示装置)
112 SCSI Controller
113 Disk(プログラム保存装置)
1140〜1143 Local APIC(割り込み処理装置)
2000〜1002 OS(Operating System)
202 仮想計算機制御プログラム
203 保護例外処理プログラム
204 保護対象テーブル
205 保護例外保存領域
2110〜2112 仮想計算機
2120〜2122 Virtual Processor
2130〜2132 Virtual Local APIC
2140〜2142 Virtual Memory
2150〜2152 Virtual PCI Device

Claims (6)

  1. 少なくとも1つのCPUとメモリとを共有し、複数のプログラムを切り替えて実行する複数の仮想計算機が構成された仮想計算機システムにおいて、
    前記仮想計算機の制御のための仮想計算機制御手段を備え、該仮想計算機制御手段は、例外を発生させるか否かを決定するため保護対象アドレスを格納した保護対象保持手段と、再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段とを有し、
    前記仮想計算機制御手段は、前記CPUにより実行されるプログラムが特定のアドレス領域に対して読み込みまたは書き込みを行ったとき、保護対象保持手段を参照して、保護例外処理を実行するか否かを決定し、保護例外処理を実行する場合、保護例外の原因となったアドレスによる保護例外要因が前記再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段に存在するか否かを判定し、前記保護例外保存手段に再利用可能な最適化された擬似命令が存在した場合、その最適化された擬似命令を用いて保護例外処理を行うことを特徴とする仮想計算機システム。
  2. 前記仮想計算機制御手段は、前記再利用可能な保護例外処理のための最適化された擬似命令が、保護例外保存手段に存在していなかった場合、保護例外の要因となった命令の解析を行い、解析結果とデバイスのアドレスとそのアドレスでの役割とを評価して得られた結果を変換することにより得られる擬似命令が、最適化された擬似命令として実行可能で再利用のために保持しておく必要があるか否かを判断し、保持しておく必要がある場合、その最適化された擬似命令を前記保護例外保存手段に保存し、その最適化された擬似命令を用いて保護例外処理を行うことを特徴とする請求項1記載の仮想計算機システム。
  3. 前記仮想計算機制御手段は、前記命令の解析結果から得られた擬似命令が、最適化された擬似命令として実行不可能であり、再利用のために保持しておく必要がないものであった場合、前記解析結果を参照し、通常の擬似命令実行の処理を実行することにより、保護例外処理を行うことを特徴とする請求項2記載の仮想計算機システム。
  4. 前記仮想計算機制御手段は、前記命令の解析結果に基づいて、保護例外保存手段に保持していた最適化された擬似命令が再利用不可能となったことを検知したとき、前記保護例外保存手段に保持していた最適化された擬似命令を取り消すことを特徴とする請求項3記載の仮想計算機システム。
  5. 少なくとも1つのCPUとメモリとを共有し、複数のプログラムを切り替えて実行する複数の仮想計算機が構成された仮想計算機システムの制御方法において、
    前記仮想計算機システムは、前記仮想計算機の制御のための仮想計算機制御手段を備え、該仮想計算機制御手段は、例外を発生させるか否かを決定するため保護対象アドレスを格納した保護対象保持手段と、再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段とを有し、
    前記仮想計算機制御手段は、前記CPUにより実行されるプログラムが特定のアドレス領域に対して読み込みまたは書き込みを行ったとき、保護対象保持手段を参照して、保護例外処理を実行するか否かを決定し、保護例外処理を実行する場合、保護例外の原因となったアドレスによる保護例外要因が前記再利用可能な保護例外処理のための最適化された擬似命令を格納する保護例外保存手段に存在するか否かを判定し、前記保護例外保存手段に再利用可能な最適化された擬似命令が存在した場合、その最適化された擬似命令を用いて保護例外処理を行うことを特徴とする仮想計算機システムの制御方法。
  6. 前記仮想計算機制御手段は、前記再利用可能な保護例外処理のための最適化された擬似命令が、保護例外保存手段に存在していなかった場合、保護例外の要因となった命令の解析を行い、解析結果とデバイスのアドレスとそのアドレスでの役割とを評価して得られた結果を変換することにより得られる擬似命令が、最適化された擬似命令として実行可能で再利用のために保持しておく必要があるか否かを判断し、保持しておく必要がある場合、その最適化された擬似命令を前記保護例外保存手段に保存し、その最適化された擬似命令を用いて保護例外処理を行うことを特徴とする請求項5記載の仮想計算機システムの制御方法。
JP2007310812A 2007-11-30 2007-11-30 仮想計算機システム及び仮想計算機システムの制御方法 Pending JP2009134565A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007310812A JP2009134565A (ja) 2007-11-30 2007-11-30 仮想計算機システム及び仮想計算機システムの制御方法
US12/323,610 US20090144733A1 (en) 2007-11-30 2008-11-26 Virtual machine system and control method of virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007310812A JP2009134565A (ja) 2007-11-30 2007-11-30 仮想計算機システム及び仮想計算機システムの制御方法

Publications (1)

Publication Number Publication Date
JP2009134565A true JP2009134565A (ja) 2009-06-18

Family

ID=40677112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007310812A Pending JP2009134565A (ja) 2007-11-30 2007-11-30 仮想計算機システム及び仮想計算機システムの制御方法

Country Status (2)

Country Link
US (1) US20090144733A1 (ja)
JP (1) JP2009134565A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631733A (zh) * 2020-12-31 2021-04-09 中电长城网际安全技术研究院(北京)有限公司 数据采集方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198398A (ja) * 2009-02-26 2010-09-09 Hitachi Ltd 計算機装置および制御方法
US8862922B2 (en) * 2010-01-14 2014-10-14 International Business Machines Corporation Data center power adjustment
US20110197004A1 (en) * 2010-02-05 2011-08-11 Serebrin Benjamin C Processor Configured to Virtualize Guest Local Interrupt Controller
US10884720B2 (en) 2018-10-04 2021-01-05 Microsoft Technology Licensing, Llc Memory ordering annotations for binary emulation
US10684835B1 (en) * 2018-12-11 2020-06-16 Microsoft Technology Licensing, Llc Improving emulation and tracing performance using compiler-generated emulation optimization metadata

Citations (1)

* 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 仮想計算機システムにおける例外処理方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
JP2006155272A (ja) * 2004-11-30 2006-06-15 Hitachi Ltd 仮想計算機の制御方法及びプログラム
JP2007004661A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 仮想計算機の制御方法及びプログラム
JP4897578B2 (ja) * 2007-06-06 2012-03-14 株式会社日立製作所 仮想計算機の制御プログラムおよび仮想計算機システム

Patent Citations (1)

* 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 仮想計算機システムにおける例外処理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631733A (zh) * 2020-12-31 2021-04-09 中电长城网际安全技术研究院(北京)有限公司 数据采集方法及装置
CN112631733B (zh) * 2020-12-31 2024-01-02 中电长城网际安全技术研究院(北京)有限公司 数据采集方法及装置

Also Published As

Publication number Publication date
US20090144733A1 (en) 2009-06-04

Similar Documents

Publication Publication Date Title
US7886293B2 (en) Optimizing system behavior in a virtual machine environment
KR101673435B1 (ko) 공동 설계 프로세서에서 격리된 실행 환경의 생성
JP4519738B2 (ja) メモリアクセス制御装置
US7506121B2 (en) Method and apparatus for a guest to access a memory mapped device
US11487523B2 (en) Updating machine emulator
US9384007B2 (en) Memory virtualization-based snapshot boot apparatus and method
TWI457759B (zh) 用於處理分頁錯誤的方法和裝置以及非暫時性的電腦可讀取媒體
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
TW201339971A (zh) 虛擬機器控制結構陰影化技術
JP2009145932A (ja) 画像情報の更新を検出するプログラム、方法および画像処理装置
JP2009134565A (ja) 仮想計算機システム及び仮想計算機システムの制御方法
JP5318197B2 (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
JP6920286B2 (ja) 例外処理
JP5131269B2 (ja) マルチプロセッシングシステム
JP2009223776A (ja) 情報処理システム及び情報処理システム用プログラム並びにクライアント装置のアクセス制御方法
US11842200B2 (en) Multi-modal gather operation
JP2010198398A (ja) 計算機装置および制御方法
US7694301B1 (en) Method and system for supporting input/output for a virtual machine
US8732721B2 (en) Method for reducing trap overhead when executing a guest in a virtual machine
JP2009181373A (ja) ネットワーク受信履歴の保存・再生方法及び情報処理装置
WO2018214482A1 (zh) 一种虚拟机的监控方法和装置
US20150331816A1 (en) Computer apparatus and control method of computer apparatus
CN104166633B (zh) 用于存储器访问保护的方法和***
JP2006048186A (ja) 動的コンパイラの生成コードを保護する言語処理系

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207