Bringing Virtualization to the x86 Architecture with the Original VMware Workstation

Author:

Bugnion Edouard1,Devine Scott2,Rosenblum Mendel1,Sugerman Jeremy3,Wang Edward Y.4

Affiliation:

1. Stanford University

2. VMware Inc.

3. Talaria Technologies, Inc.

4. Cumulus Networks, Inc.

Abstract

This article describes the historical context, technical challenges, and main implementation techniques used by VMware Workstation to bring virtualization to the x86 architecture in 1999. Although virtual machine monitors (VMMs) had been around for decades, they were traditionally designed as part of monolithic, single-vendor architectures with explicit support for virtualization. In contrast, the x86 architecture lacked virtualization support, and the industry around it had disaggregated into an ecosystem, with different vendors controlling the computers, CPUs, peripherals, operating systems, and applications, none of them asking for virtualization. We chose to build our solution independently of these vendors. As a result, VMware Workstation had to deal with new challenges associated with (i) the lack of virtualization support in the x86 architecture, (ii) the daunting complexity of the architecture itself, (iii) the need to support a broad combination of peripherals, and (iv) the need to offer a simple user experience within existing environments. These new challenges led us to a novel combination of well-known virtualization techniques, techniques from other domains, and new techniques. VMware Workstation combined a hosted architecture with a VMM. The hosted architecture enabled a simple user experience and offered broad hardware compatibility. Rather than exposing I/O diversity to the virtual machines, VMware Workstation also relied on software emulation of I/O devices. The VMM combined a trap-and-emulate direct execution engine with a system-level dynamic binary translator to efficiently virtualize the x86 architecture and support most commodity operating systems. By relying on x86 hardware segmentation as a protection mechanism, the binary translator could execute translated code at near hardware speeds. The binary translator also relied on partial evaluation and adaptive retranslation to reduce the overall overheads of virtualization. Written with the benefit of hindsight, this article shares the key lessons we learned from building the original system and from its later evolution.

Publisher

Association for Computing Machinery (ACM)

Subject

General Computer Science

Reference60 articles.

1. A comparison of software and hardware techniques for x86 virtualization

2. Restricting memory access to protect data when sharing a common address space;Agesen O.;U.S. Patent,2004

3. The evolution of an x86 virtual machine monitor

Cited by 57 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. RISC-V Virtualization: Exploring Virtualization in an Open Instruction Set Architecture;Proceedings of the 2024 5th International Conference on Computing, Networks and Internet of Things;2024-05-24

2. PDIFT++: System-Wide Memory Tracking Using a Single-Process Memory Tracker;SN Computer Science;2024-01-20

3. Modeling, Simulating, and Evaluating Complex End-to-End Edge Intelligence Systems;Internet of Things;2024

4. PVM: Efficient Shadow Paging for Deploying Secure Containers in Cloud-native Environment;Proceedings of the 29th Symposium on Operating Systems Principles;2023-10-23

5. A Comprehensive Survey on Collaborative Data-access Enablers in the IIoT;ACM Computing Surveys;2023-09-15

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3