Virtual Machines

Jim Smith, Ravi Nair

出版时间

2005-06-17

ISBN

9781558609105

评分

★★★★★
书籍介绍
这本书最打动人的,是它提供了一种俯瞰虚拟化的视角:万物皆VM。读者读完会豁然发现,操作系统、JVM、编程语言接口乃至磁盘的磁道扇区,背后是同一种思想的不同化身。作者不满足于教人如何使用虚拟机,而是把进程虚拟机与系统虚拟区的本质区别、仿真与抽象的微妙分野、emulator与virtual machine的严格界定一一厘清。它适合想打通操作系统、编译原理与计算机架构之间壁垒的人,也适合想从原理层面理解x86虚拟化为何如此复杂的读者。需要提醒的是:它重理论轻实操,案例部分高度概括,追求动手实现者还需另寻他书。
AI导读
核心看点
  • 系统阐述虚拟机技术原理,涵盖进程与系统级虚拟化
  • 深入剖析二进制翻译、动态编译等核心实现机制
  • 梳理虚拟机发展史,连接操作系统与编译原理知识
读者共识
  • 虚拟机领域百科全书,理论深度与广度备受推崇
  • 高屋建瓴,是理解虚拟化思想的最佳入门读物
  • 学术性强,适合提升理论水平,非快速实操指南
精彩摘录
  • "在进程虚拟机中,虚拟软件置于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
下载
收藏