深入浅出KVM虚拟化技术
深入浅出KVM虚拟化技术作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来随着PC机的出现,虚拟化为最初的应用目的已经可用武之地了,但是随着X86系统的增多以及PC机性能的提升以及现在业务模式的需要,所以使得虚拟化技术再一次蓬勃发展起来。在上个世纪的1974年有2位很著名的教授Popek和Glodberg在一篇论文中定义了经典虚拟化应该至少满足三个需求:
1>.等价执行(除了资源可用性以及时间上可能存在不同之外,程序在虚拟化环境中和在真实物理机中的运行结果和运行机制应该是一模一样的。);
2>.性能良好(一般而已虚拟机【guest】和底层的hypervisor或者它的基本硬件或者它的架构要保持一致【可以说是直接在cpu上运行的】,否则的话我们称之为模拟器。);
3>.安全隔离(在同个hypervisor上运行的多个虚拟机彼此之间必须要安全隔离,任何一台虚拟机的操作一定不能影响到其他虚拟机,任何一台虚拟机都不能关闭物理机【除了特权指令】)
大家知道KVM(kernel-based virtual Machine)是基于内核的虚拟机。事实上早期的虚拟化技术主要是trap(捕获),emulate(模拟)而不是虚拟。
trap:当虚拟机某一用户要执行某一条指令时,我们的宿主机【hypervisor】能够捕获到这种执行指令的请求,近儿将拿到的指令翻译成她今天执行的指令;
emulate:大多数的硬件都是通过软件的方式提供给虚拟机的,虚拟机再利用这个软件真正去执行指令时,我们硬件能看到它的hypervisor通过自身的监护程序方能看到所谓的指令执行;
虚拟:
页:
[1]