实时虚拟化技术是一种针对实时应用场景的虚拟化技术,它要求在保证虚拟化优势的同时,满足严格的时间约束和高可靠性要求。本系列文章文将对实时虚拟化技术进行介绍,分析其原理、特征、关键技术和难点,以及应用场景。
一、前言
- 虚拟化技术是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。
- 虚拟化技术最早出现在20世纪60年代的IBM大型机系统,在70年代的System 370系列中逐渐流行起来。随着云计算、物联网等新兴技术的发展,虚拟化技术也得到了广泛的应用和创新。
- 虚拟化技术可以提高资源利用率、简化管理复杂度、增强系统灵活性和可扩展性等优势。同时,也带来了一些新的需求和挑战,如如何保证虚拟环境中的实时性、可靠性、安全性等。
二、分时系统
现代系统级虚拟机的快速发展,实际上是源于分时系统的设计思路。主要解决物理硬件资源共享和利用的问题,分时系统起源可以追溯到上世纪60年代的分时系统,上世纪 60 年代之前,计算机还都是大型机,主要用于科学研究使用,是异常昂贵的设备,因为大型机价格昂贵,所以如何让多个用户共享一台大型机成为很多人思考的问题,而后诞生了分时操作系统。
1954年,约翰·瓦格纳·巴克斯(John Warner Backus,后面设计了FORTRAN语言) 就在MIT举办的“数学计算机高级编码暑假班”上提出了分时系统的想法,他指出,使用分时(time sharing)方法,一台大计算机就可以当做很多个小的来用,每个用户只需要一个阅读工作站(reading station)。
1962年秋,BBN分时操作系统在诞生BBN公司诞生,BBN分时操作系统基于PDP-1b开发,系统的内存空间为8192字,其中4096保留给分时系统使用,另外4096字给用户使用。系统设计的基本思路是根据当前用户来切换用户部分内存,成为内存交换(memory swap)。当切换用户时,把 上一个用户使用的内存交换到高速的磁鼓中保存,并把新用户的数据从磁鼓中加载到内存中,磁鼓上的空间被分为22个区域,每个区域大小为4096字。每个用户在获得使用机会时,它的程序可以运行140毫秒。
在软件历史上,BBN的分时操作系统是较早实践和投入使用的多用户操作系统,为后来UNIX等操作系统的出现奠定了基础[1]。
分时系统使得个人用户、小公司或机构不必自己购买昂贵的电脑。只需要购买一个输入输出终端,就像购买一套鼠标、键盘和显示器等设备,然后通过电话线连接到机房中的大型计算机。该计算机会自动分配计算时间给程序或任务。
三、虚拟化介绍
那么,什么是虚拟化技术呢?虚拟化技术同样是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境,进而发挥计算机硬件的最大利用率。
虚拟化技术的发展经历了几个阶段,虚拟化技术最早出现在大型机时代,用于将硬件资源划分为多个虚拟计算机。上世纪60年代,IBM开始在其CP-40大型机系统中尝试虚拟化的实现,后来在System/360-67中采用,并衍生出VM/CMS到后来的z/VM等产品线。
随着时间推移,微型计算机和PC能够提供更为有效、经济的方法来对资源进行分配和处理,所以到20世纪80年代之后,虚拟技术不再被广泛使用