2019.11.20

难易程度:1/10

推荐:10/10

关键词:虚拟机,综述

特点:图示表意精准明确

Standord EE392C Reading List:

(B) J. Smith. An Overview of Virtual Machine Architectures. University of Wisconsin, October 2001.

如题,这篇文章是对虚拟机的一个综述。

这篇文章的图画的很能够快速清晰的理解大段文字想要表达的内容。我觉得这是一篇优秀的综述文章需要具备的特质之一。

基础知识介绍

文章清晰地定义了ISA和ABI,

week14.define_ISA_ABI

“经典”虚拟机:复制

  • ABI级别的复制 - 至少不晚于ISA级别的复制

    即现在已经深入人心的多程序分时复用硬件资源(multiprogramming/multitasking)。

  • ISA级别的复制 - 1960s到1970s初期

    这种技术被称作Virtual Machine Monitor (VMM)。多个操作系统在VMM的管理下同时运行。

    优势:最浅显的即是在一套物理设备上能够支持诸多不同系统的应用程序。重要的一个优势,安全、隔离。

    劣势:当时(1970s初期)的技术还没能做到完全透明的虚拟化,需要许多体系结构特性来支持虚拟化。

ABI虚拟机:翻译和优化

操作系统相同,但ISA不同。历史上典型的例子是Compaq FX!32 让x86 Windows程序跑在Alpha Windows上。

  • 最直接的方式是解释执行(interpretation)。

  • 为了更高性能的方式是二进制翻译(binary translation)。

全系统虚拟机:翻译

操作系统和ISA都不同。

高层次虚拟机:完全硬件平台无关

让应用程序独立于硬件平台。需要一个独立于硬件平台的虚拟机与配套的高级编程语言。

  • Pascal
  • Java

Co-Designed VMs:Optimization

不知道怎么翻译这个标题。从本节内容看来是设计专门用于运行虚拟机的硬件,包括但不限于针对虚拟机的ISA、guest系统不可见的专用内存。典型的例子,

  • IBM Daisy processor - guest ISA PowerPC
  • Transmeta Crusoe - guest ISA Intel x86(正好斯坦福高级体系结构阅读清单里有一片关于Transmeta Crusoe的文章,(F) A. Klaiber. The Technology Behind Crusoe Processors. Transmeta Technical Brief, 2000 ,下次就看这篇文章吧!)