虚拟化是对资源的逻辑抽象、隔离、在分派、管理的过程。
专指在一台计算机上虚拟为多台逻辑计算机(虚拟机),每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间运行而不受影响,从而显著的提高计算机效率。
发展历史
- 萌芽期——20世纪60、70年代
- 1959年,首次提出虚拟化技术
- 蓬勃发展期——20世纪90年代
- VMware 为首的软件公司实现了x86服务器架构的虚拟化
- 高速发展期——至今
虚拟化前:
- 每台主机只能运行一个操作系统
- 软件硬件紧密结合
- 在同一主机上运行多个应用程序通常会遭遇冲突
- 系统的资源利用率低
- 硬件昂贵且不灵活
虚拟化后:
- 打破了操作系统和硬件的互相依赖
- 通过封装虚拟机的技术,操作系统和应用程序成为单一个体
- 强大的安全和故障隔离
- 虚拟机是独立于硬件的,可在任何硬件上运行
通过虚拟化技术将一台计算机虚拟为多台逻辑计算机
虚拟化技术整合了计算设备、存储设备、网络设备以及桌面应用,能够提高资源利用率。同时为云计算提供了技术基础。
虚拟化技术分类
虚拟化技术从实现的层次可以分为:
- 基础设施虚拟化
- 根据 IBM 有关虚拟化和云计算的观点,将相关硬件(CPU、内存、硬盘、声卡、显卡、光驱)虚拟化、网络虚拟化、存储虚拟化、文件虚拟化、归类为基础设施虚拟化。
- 系统虚拟化
- 最被广泛接受的一种虚拟化技术。实现了操作系统和物理计算机的分离,使得一台物理计算机上可同时安装和运行多个虚拟操作系统。
- 优势:硬件共享、统一管理、系统隔离
- 最被广泛接受的一种虚拟化技术。实现了操作系统和物理计算机的分离,使得一台物理计算机上可同时安装和运行多个虚拟操作系统。
- 软件虚拟化
- 针对软件平台的虚拟化技术,主要包含了应用虚拟化和高级语言虚拟化。
- 应用虚拟化:将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行环境。
- 高级语言虚拟化:解决的是可执行程序在不同计算机的迁移问题。高级语言编写的程序被编译为中间指令,这些指令被解释执行或动态执行,因此可运行在不同的体系结构上。
- 针对软件平台的虚拟化技术,主要包含了应用虚拟化和高级语言虚拟化。
从应用领域的角度可分为:
- 服务器虚拟化
- 服务器虚拟化将一个物理服务器虚拟化成若干服务器使用,服务器虚拟化是基础设施即服务( IaaS) 的基础。
- 存储虚拟化
- 基础设施即服务(IaaS)的基础。存储虚拟化将整个云计算的存储资源进行整合统一管理,为用户提供了一个统一的存储空间。
- 应用虚拟化
- 软件即服务(SaaS)的基础,把应用对底层系统和硬件的依赖抽象出来,从而将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行环境。
- 网络虚拟化
- 基础设施即服务(IaaS)的基础。
- 桌面虚拟化
全虚拟化技术
全虚拟化技术又叫硬件辅助虚拟化技术,最初使用虚拟化技术就是全虚拟化半虚拟化技术
在全虚拟化的基础上,将操作系统进行修改,增加了一个专用API来讲操作系统的指令优化(难度高)。归纳、总结
