虚拟化技术-入门篇

本文追溯虚拟化技术的发展历程,从20世纪60年代IBM的操作系统虚拟机技术到90年代末x86服务器上的广泛应用。介绍了虚拟化的四种主要形式:指令集虚拟化、硬件虚拟化、操作系统虚拟化及编程语言虚拟化,并列举了每种形式的典型代表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文结合作者多年虚拟化开发体验(曾就职某研究院搞相应课题),试图以通俗语言讲述虚拟化技术相关内容。本文仅限于技术交流,不可用于任何商业用途。
0.发展历程
虚拟化技术真正发展从20世纪60年代开始。IBM最早发明一种操作系统虚拟机技术,允许用户在一台主机运行多个操作系统,让用户尽可能地充分利用昂贵的大型机资源。典型代表 IBM 7044计算机。同阶段,还流行另一种虚拟化技术--仿真处理器,也称P-Code机,该模型后来被Java利用,成为JVM。曾一度,随计算机发展,虚拟化技术一度无人问津,而只在高档服务器中等于生存。20世纪90年代末,以Vmware为代表的虚拟化软件厂商率先在x86服务器上开辟了道路,使得虚拟化技术再次被人们认识并发展
1.虚拟化技术分类
为了满足不同的功能需求,出现了不同的虚拟化技术解决方案,由于其采用不同的实现方式和抽象层次,使得这些虚拟化系统呈现不同的特征。虚拟化技术的分层完全同步计算机系统的分层机构。
a. 指令集虚拟化
指令集虚拟化通过纯软件方法,模拟出与实际运行的应用程序(或操作系统)所不同的指令集去执行,采用这种方法构建的虚拟机一般被称为模拟器。模拟器通过将客户虚拟机发出的所有指令翻译为本地指令集,然后再真实硬件上执行。当然,一个模拟器要成功的模拟一个真实的机器,它必须能够模拟真实及其所能做的一切事情,包括读ROM,重启,系统关闭等。
典型代表:
BOCHS / Crusoe / QEMU / BIRD
b.硬件虚拟化
硬件虚拟化,实际和指令集虚拟化非常相似,但不同之处在于,这种虚拟化所考虑的是一种特殊情况:客户执行环境和主机执行环境具有相同的指令集,并充分利用这一特点,让绝大多数的客户指令在主机上直接执行,从而大大提高执行的速度。这种技术要正确工作,所构建的虚拟机必须对其中的一些特权指令(如修改页表等操作)进行处理,执行时候产生陷入并把它传递给下层的虚拟机监视器(VMM)执行。
典型代表:
VMware / VirtualPC / VirtualBox / Denali / Xen / KVM / UML /CoLinux
3.操作系统虚拟化
操作系统虚拟化,其特点是采用在OS和用户插入一层,为用户提供多个独立,隔离的应用环境。
典型代表:
Jail / Ensim
4. 编程语言虚拟化
典型代表:
Java  / .Net CLI
5. 程序库虚拟化
典型代表:
WINE / WABI / Visual  MainWin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值