Virtualization(虚拟化)技术简介
上一篇 /
下一篇 2007-12-11 23:20:12
/ 个人分类:Virtualization
一 背景51Testing软件测试网,JzL;xJ~rc8A%MT
51Testing软件测试网/G#c#`:ue'tAi0pG$W,^J
有些时候我们希望在一台机器上同时运行不同操作系统下的应用程序,这种需求可以有三种实现方式(需要强调,这里是指运行不同操作系统的应用,而不是运行另一种体系的应用,比如在X86上运行Apple Mac上的应用)51Testing软件测试网V;Z4H!gl$_1SRo9{
6a9X"j({-w8S'U01. 纯仿真方式,比如bochs,缺点是运行速度太慢
Z)Tu~o1n0
a!^#^T!~TW02. OS/API仿真方式,比如wine,51Testing软件测试网^4ao\4uO(or's q
51Testing软件测试网#K$X.k B7s\
s
3. virtualization方式,对于一般的应用,有时可以达到”natively”。
1?3x
gr9i#Z)lB0
PC Q`^H8C0二 Virtualization51Testing软件测试网0Nk%Opu5{/}B+?8T
2W*Be8u:OT2U0Virtualization并不是一个新技术,早在60/70年代,IBM就已经在360/67,370等硬件体系实现上Virtualization。Virtualization通过VMM(Virtual Machine Monitor)把一个硬件虚拟成多个硬件(VM,Virtual Machine),各VM之间可以认为是完全隔离的。这个隔离不同于各进程之间的地址空间隔离。无论是内存,设备,还是处理器等对各VM来讲,都被认为是自已独一套的。在VM上可以运行”任何”的操作系统(称为Guest OS)而不会对其它的VM产生影响。51Testing软件测试网t
C$q2CG%h@'Lk'~BX
51Testing软件测试网!S7l7R4\%Q*B"D$D&~/T:D+A-pt
1.内存51Testing软件测试网0N-hN$C:sa$L
t#w}g%y5IN,w0通过MMU已经可以将用户地址空间与系统进址空间完全分离了,VM也是通过同样的方法将真实的物理内存与VM中的“物理内存”分开,VM上运行的操作系统对MMU的操作将被VMM捕获,经过变换后替代VM进行真正的MMU操作。51Testing软件测试网]-O+U3M2_A