ãã¼ãã¦ã§ã¢ã«ããä»®æ³åã¯ã½ããã¦ã§ã¢ã«ãããã®ããæ¬å½ã«é«éãªã®ãï¼
- VMware | A Comparision of Software and Hardware Techniques for x86 Virtualization (PDF)
- Slashdot | Hardware Virtualization Slower Than Software?
VMware ã®ç 究è
ãé¢ç½ãè«æãçºè¡¨*1ãã¦ãããç¾ç¶ã® VT-x/SVM ã使ã£ã x86 ã®ä»®æ³åã¯ã½ããã¢ã·ã¹ãã«ãããã®ãããå¿
ãããé«éã«ãªããªãã¨ã®ãã¨ã
åé¡ã¯ãã¼ãã¦ã§ã¢ã®ä»®æ³åæ¯æ´ã¯ MMU ã¾ã§åãã§ããããMMU ããã¼ãã¦ã§ã¢ VT + ã½ãããã©ããããããã¯ã½ããã¦ã§ã¢ã®ã¿ã§å¦çããæ¹ãç¾ç¶ã§ã¯éãã¨ã®ãã¨ã å¾ã£ã¦ AMD ã® Nested Pageing ã Intel ã® EPT ãåºã¦ããã¨è©±ãå¤ãããããããªãã
P.S.
ãã®è«æãããèªãã§ã¿ãã¨ãåããã¨ãè²ã æ¸ãã¦ããã
2.3 Memory traces
To maintain coherency of shadow structures, VMMs typically use hardware page protection mechanisms to trap accesses to inmemory primary structures. For example, guest PTEs for which shadow PTEs have been constructed may be write-protected. Memory-mapped devices must generally be protected for both reading and writing. This page-protection technique is known as tracing. Classical VMMs handle a trace fault similarly to a privileged instruction fault: by decoding the faulting guest instruction, emulating its effect in the primary structure, and propagating the change to the shadow structure.
ã·ã§ã¼!! ãããªãã¨ããã¦ããã®ãã
ã²ã¹ã OS ã§ã®ã¡ã¢ãªã¢ã¯ã»ã¹ã«ã¯çè«ä¸ã²ã¹ãä»®æ³ã¢ãã¬ã¹ â ã²ã¹ãç©çã¢ãã¬ã¹ â ãã¹ãç©çã¢ãã¬ã¹ã¨ãã 2 段ã®å¤æãå
¥ãã®ã ããVT-x ã SVM ã CPU ã®ãªãã±æ©è½ãªã®ã§ MMU èªä½ã 2 段éå¤æã«å¯¾å¿ãã¦ããããã§ã¯ãªã*2ããã®ããã« Hypervisor ã¯ã²ã¹ãä»®æ³ã¢ãã¬ã¹âãã¹ãç©çã¢ãã¬ã¹ã®ãã¼ãã«ããããã shadow page table ãç¨æããå¿
è¦ããããããã¦ã²ã¹ããä»®æ³ã¡ã¢ãªã¢ã¼ãã§åãã¦ããéãCPU ã¯ã²ã¹ã OS ãç¨æããæ¬å½(true) ã® page table ã§ã¯ãªããshadow page table ã®æ¹ãã¢ã¯ã»ã¹ãããå½ç¶ãshadow page table ã¯ã²ã¹ããã触ããªãä½ç½®ã«é
ç½®ãããã
Shadow page table ã¯æåã»ã¨ãã©ç©ºã®ãã¼ãã«ã§ãããã CPU ãã¢ã¯ã»ã¹ãã㨠page fault ãçºçãããHypervisor ã¯ãã® page fault ãè£è¶³ãã¦ãã²ã¹ãå´ã® true page table ãã¦ã©ã¼ãã³ã°ãã¦ã¿ãããã㨠true page table ã«ãã¼ã¸ãã¼ãã«ã¨ã³ããª(PTE)ãè¦ã¤ããããã®å ´åãPTE ã«ã¯ã²ã¹ãç©çãã¼ã¸ã®ã¢ãã¬ã¹ãæ¸ããã¦ããã
Hypervisor ã¯ã²ã¹ãç©çãã¼ã¸ã¢ãã¬ã¹ããã¹ãç©çãã¼ã¸ã¢ãã¬ã¹ã«å¤æãã¦ã対å¿ãã PTE ã shadow page table ã«è¿½å ãã¦ãã¾ããHypervisor ããæããã¨ã²ã¹ãå´ã§ã¡ã¢ãªã¢ã¯ã»ã¹ããªãã©ã¤ããããä»åº¦ã¯ shadow page table ã« PTE ãã¡ã¢ãªã¢ã¯ã»ã¹ãå¯è½ã¨ãã寸æ³ã ã
åé¡ã¯ true page table ã¯ã²ã¹ãå´ã®é½åã§ããããæ¸ãæãããã¦ãã¾ãã¨ããç¹ããããªã㨠true page table 㨠shadow page table ã® coherent ãåããªããªã£ã¦ãã¾ãã®ã ãããã®è§£æ±ºã«ã(true page table ã®) page ã® write protection ã使ããããã¨ããã
æå¤ã ãINVLPG å½ä»¤ããã©ãããã¦æ¸ãæãããããã ã¨æã£ã¦ããã®ã ãâ¦
P.P.S.
ã£ã¦ãããè«æã® Second Author 㯠O. Agesen ããã§ãã!!
Sun Microsystems 㧠GC ã JIT ã®ç 究ããã£ã¦ããã¯ããªã®ã«ããã¤ã®éã«ã VMware ã«!!