Virtual Machines

Jim Smith, Ravi Nair

出版时间

2005-06-17

ISBN

9781558609105

评分

★★★★★
书籍介绍
Virtual Machine technology applies the concept of virtualization to an entire machine, circumventing real machine compatibility constraints and hardware resource constraints to enable a higher degree of software portability and flexibility. Virtual machines are rapidly becoming an essential element in computer system design. They provide system security, flexibility, cross-platform compatibility, reliability, and resource efficiency. Designed to solve problems in combining and using major computer system components, virtual machine technologies play a key role in many disciplines, including operating systems, programming languages, and computer architecture. For example, at the process level, virtualizing technologies support dynamic program translation and platform-independent network computing. At the system level, they support multiple operating system environments on the same hardware platform and in servers. Historically, individual virtual machine techniques have been developed within the specific disciplines that employ them (in some cases they aren't even referred to as 'virtual machines'), making it difficult to see their common underlying relationships in a cohesive way. In this text, Smith and Nair take a new approach by examining virtual machines as a unified discipline. Pulling together cross-cutting technologies allows virtual machine implementations to be studied and engineered in a well-structured manner. Topics include instruction set emulation, dynamic program translation and optimization, high level virtual machines (including Java and CLI), and system virtual machines for both single-user systems and servers. The book examines virtual machine technologies across the disciplines that use them-operating systems, programming languages and computer architecture-defining a new and unified discipline. It is reviewed by principle researchers at Microsoft, HP, and by other industry research groups; and written by two authors who combine several decades of expertise in computer system research and development, both in academia and industry.
AI导读
核心看点
  • 系统阐述虚拟机技术原理,涵盖进程与系统级虚拟化
  • 深入剖析二进制翻译、动态编译等核心实现机制
  • 梳理虚拟机发展史,连接操作系统与编译原理知识
适合谁读
  • 计算机专业学生,需构建完整的系统底层知识体系
  • 操作系统及编译器开发者,深入理解虚拟化底层逻辑
  • 对JVM、容器化等底层原理感兴趣的软件工程师
读前提醒
  • 出版较早,部分技术细节可能滞后,侧重理论框架
  • 概念区分严谨,需耐心阅读以厘清模拟器与虚拟机
  • 实操性较弱,建议结合现代虚拟化技术文档对照阅读
读者共识
  • 虚拟机领域百科全书,理论深度与广度备受推崇
  • 高屋建瓴,是理解虚拟化思想的最佳入门读物
  • 学术性强,适合提升理论水平,非快速实操指南

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "在进程虚拟机中,虚拟软件置于ABI接口处,操作系统和硬件结合部的上层。虚拟软件同时仿真用户级指令(user ISA)和操作系统调用。"
  • "在系统虚拟机中,虚拟软件置于ISA接口处,在底层硬件和传统软件之间。"
  • "守护(在图中用斜体字显示)检查A[i]看其是否为零。"
  • "前述的虚拟方法调用的内联方法本质上是一种多版本形式。多版本有两种(或者多种)代码版本,并且一个版本的选择取决于运行时信息,如数据的值或类型信息。对于内联的方法,一个版本是被内联的方法代码,另一个版本是一条invokevirtual指令,而守护选择其中一个版本。"
  • "虚拟化不等同于抽象(抽象需要隐藏细节),虚拟化不需要隐藏细节。虚拟系统的细节常常与真实系统的细节相同。从形式上看,虚拟化是在客户系统和主机系统之间构建的一个同态。"
  • "有些应用中,需要将一个大型的硬盘分成很多小的虚拟盘,这些虚拟盘的每一个都被映射到真实盘的一个大文件,虚拟软件提供虚拟盘内容到真实盘内容之间的映射,把文件抽象作为中间步。每个虚拟盘表面上都包含磁道和扇区,对虚拟盘的写操作,被镜像为对主机系统中对文件的写操作和对应真实盘的写操作,在这个例子中,虚拟盘的接口所提供的细节(磁道,扇区),都与真实盘相同,并没有发生任何抽象。"
用户评论
很基础 但是毕竟是2005年的 扫盲还是很不错的
学习x86 CPU虚拟化原理的天书!力荐!
关于虚拟机最全面的一本书了。
前半部分讲 language 级别的 virtual machine,后半部分系统虚拟化。内容属于introduction,高屋建瓴,case study 部分很概括地讲了JVM,顺带提了MS的CLI。提高理论水平可以,实操内容还要看其他的。
VM的百科全书
虚拟机。时隔多久回来看这本(2022年07月28日17:35:11),这本留下的东西只是依稀记得万物都是VM,OS是,JVM是,所有programming的接口都能看成是VM
下载
收藏