Advanced Design and Implementation of Virtual Machines  book cover
1st Edition

Advanced Design and Implementation of Virtual Machines

ISBN 9780367574031
Published June 30, 2020 by CRC Press
464 Pages

FREE Standard Shipping
USD $54.95

Prices & shipping based on shipping country


Book Description

Along with the increasingly important runtime engines pervasive in our daily-life computing, there is a strong demand from the software community for a solid presentation on the design and implementation of modern virtual machines, including the Java virtual machine, JavaScript engine and Android execution engine. The community expects to see not only formal algorithm description, but also pragmatic code snippets; to understand not only research topics, but also engineering solutions. This book meets these demands by providing a unique description that combines high level design with low level implementations and academic advanced topics with commercial solutions.

This book takes a holistic approach to the design of VM architecture, with contents organized into a consistent framework, introducing topics and algorithms in an easily understood step by step process. It focuses on the critical aspects of VM design, which are often overlooked in other works, such as runtime helpers, stack unwinding and native interface. The algorithms are fully illustrated in figures and implemented in easy to digest code snippets, making the abstract concepts tangible and programmable for system software developers.

Table of Contents

Basics of Virtual Machines: Introduction of the Virtual Machine. Inside of a Virtual Machine. Data Structures in a Virtual Machine.

Design of Virtual Machines: Design of Execution Engine. Design of Garbage Collection. Design of Threading.

Supports in Virtual Machine: Native Interface. Stack Unwinding. Garbage Collection Support. Runtime-Helpers. Exception-Throwing. Finalization and Weak References. Modularity Design of VM.

Optimizations of Garbage Collection: Optimizing Garbage Collection for Throughput. Optimizing Garbage Collection for Scalability. Optimizing Garbage Collection for Responsiveness. Concurrent Moving Collection.

Optimizations of Thread Interactions: Optimizing Monitor Performance. Hardware Transactional Memory (HTM)-Based Design.

View More



Xiao-Feng Li has been working with Intel for 15 years, with extensive technical experience in parallel computing, operating system, compiler and runtime technologies. He was the major contributor to the JVM of Apache Harmony and the creator of a micro-kernel VM that later became Intel Micro Runtime. Xiao-Feng built and led a software lab on runtime technologies in Intel and published 20 academic papers in the related areas. Xiao-Feng holds a PhD degree in computer science.