作者ggg12345 (ggg)
看板Programming
标题Re: [请益] Cambridge VM/XEN 是 Killer AP 吗 ?
时间Fri May 25 12:30:02 2007
※ 引述《queen8 (一日步兵、终身步兵)》之铭言:
: 1. 把CP/67扯进来说是 Cambridge University 做的,
: 其实是IBM Cambridge Scientific Center做的,该中心位於
: Cambridge, Massachusetts,跟研发XEN的Cambridge一点都没关系。
: 2. 想讲MMU讲到MMX去,人家在讲virtualization,却把VM86拿出来讲,
: 又不是有VM两个字就是 virtualization
: 3. 讲的甚麽"隔离/保护/虚拟"完全看不懂在讲甚麽,当初Popek & Goldberg
: 提的virtualizable requirements就有提到要玩 virtualization 至少要有
: 2-level ring 和 relocation-bounds register 的机制,也就是说虚拟的前提
: 在architecture能提供一套记忆体保护的机制
: mingchieh大的观念都还蛮正确的,跟小弟最近看的资料都蛮符合的....
=====
谢谢指教. 获益良多.
不过, 必须提醒 386 CPU 原设计就是要能支持 Virtual Machine Architecture,
这是从 286 时代就有此企图, 只是一直做不全, 所以是有缺陷. 多数就是拿来做
8086 的相容这种用途, 所以没有 MMU (虚拟记忆体, 谢谢提醒)这个硬体装置虚
拟化的完整支援.
通常老式的机器有 console , processor , memory , I/O & device 四个项目.
全虚拟最严谨的就是要让下层硬体能完全 "如假包换" 的提供出来也都能使用,
这是发展原硬体建新 OS 的一种理论上的要求, 当然可以不必完全提供, 甚至是
Logic Level support 就好, 但这就不是将上层发展好的 OS 就可以直接移到硬
体上就能少改就可使用.
IBM 的 VM (这种提法可免除争议, 毕竟这是人造物) 最早期就是在 IBM 360/370
上模拟了 7xxx 机器的指令也跑其上的 OS , 她的关键就是碰到 illegal
instruction (现在称为 sensitive instruction) 会产生 trap 到 VMM 检视再
做处理, 这是模拟异质的环境. 但因为 IBM 370 OS 难产, 所以 CP/67 是进一步
先使用其他 OS , 但也要模拟 IBM 370 环境也供其新 OS 於其上使用, 这就是下
层硬体的全模拟. 指令的全模拟可以用 qemu 采用的 binary translation , 但
就会有效率的问题, 通常软硬混着用, 再加一些不公布的 binary modification
与 "跨级串通".
XEN 就是会找 Intel , AMD 甚至 MicroSoft 做软硬互补结合, 这是值得参考的
策略.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.5.5