虚拟化的发展一直伴随这整个计算机发展的历史,从早期的大型机到现在的x86,虚拟化的出现比你知道的要早很多。下面就起底一下虚拟化云计算的历史。

早期的虚拟化探索

1959 年,英国计算机科学家 Christopher Strachey 发表论文《Time Sharing in Large Fast Computer》(大型高速计算机中的时间共享),被认为是虚拟化技术的最早论述。

1961年,在麻省理工学院百周年纪念典礼上,John McCarthy (1971年图灵奖获得者)第一次提出了“Utility Computing”的概念。

1962 年,第一台 Atlas 超级计算机 Atlas 1 诞生,Atlas 1 是第一台实现了虚拟内存(Virtual Memory)概念的计算机。

IBM虚拟化之旅

一谈到虚拟化,很多人首先想到的是x86虚拟化解决方案,VMware、Hyper-V和Xen等。而放眼真个服务器市场,尤其是在金融、电信等高端行业和数据中心等高端应用场景中,IBM 虚拟化软件Power VM和zVM有着举足轻重的存在。而IBM的虚拟化软件和技术的历史要追溯到上世纪60年代。

1960 年,IBM 开始进行 M44/44X 计算机项目。M44/44X 项目基于 IBM 7044(M44)实现了多个具有突破性的虚拟化概念,包括部分硬件共享、时间共享、内存分页,并实现了虚拟内存管理的 VMM。实现了在同一台主机上模拟出多个 7044 系统(44X)。M44/44X 项目首次使用了 VM(Virtual Machine) 和 VMM(Virtual Machine Monitor)概念,被认为是世界上第一个支持虚拟机的系统。

1961年,麻省理工学院的Fernando Corbato教授和他的研究小组开始了CTSS(兼容分时系统),先后能够运行在IBM 709,7090,7094计算机上。每个虚拟机都是7094,其中一个作为后台机,可以直接访问磁带驱动器。CTSS开创了用户硬件隔离和独立的用户文件系统。

1962年底,麻省理工学院开始了称为MAC(Multiple Access Computing)的项目。其目的就是在通过开发CTSS所获得的经验的基础上,建立一个更先进的分时系统:Multics系统。该项目没有采用IMB System/360计算机,而先后采用了通用的GE-635,GE-645处理器。Multics一直到2000年还在各种地方使用。麻省理工学院在2007年公开了项目的源代码。

1964 年,IBM 推出了著名的 System/360大型机,实现了基于全硬件虚拟化(Full Hardware Virtualization)的虚拟机解决方案,包括:页式虚拟内存(4k 分页虚拟存储系统),虚拟磁盘以及 TSS 分时系统。System/360 最多可提供 14 个虚拟机,每个虚拟机具有 256k 固定虚拟内存。

1967年,IBM开发出了具有标志性意义的分时虚拟机操作系统CP-40/CMS,该系统运行于 System/360计算机之上。该系统陆续推出了代表版本有CP-40/CMS、CP-67/CMS、CP-370/CMS。CP-40/CMS开启了分时虚拟机操作系统之旅。

CP-40为后来的PowerVM(运行于Power服务器)和z/VM(运行于 IBM Z和 IBM LinuxONE 服务器)的虚拟化软件打下了基础。

虚拟化里程碑论文

1974 年,Gerald J. Popek和 Robert P. Goldberg发表论文《Formal Requirements for Virtualizable Third Generation Architectures》。

提出了波佩克与戈德堡虚拟化需求(Popek and Goldberg virtualization requirements)和I和II型虚拟化类型。

X86虚拟化云计算的那些第一次

2003年Intel 正式公布将在 x86 平台的 CPU 上支持虚拟化技术 VT。VT-x 为 IA 32 处理器增加了两种操作模式:VMX root operation 和 VMX non-root operation。

2003 年 9 月,Xen第一个版Xen 1.0发布。它最初是剑桥大学Xensource的一个开源研究项目。

2003~2006年,Google发表了三篇著名论文,03年SOSP的GFS,04年OSDI的MapReduce,06年OSDI的BigTable。

2007 年 1 月,Sun发布了开源虚拟化软件 VirtualBox。

2006 年 3 月,AWS发布S3。

2006 年 8 月,AWS发布EC2,云计算大幕正式拉开。

2006 年11月,Sage发表了Ceph的论文, 并在该篇论文的末尾提供了Ceph项目的下载链接。

2006 年10月,以色列Qumranet公司的Avi Kivity(KVM之父)向Linux kernel提交了KVM模块的第一个patch,支持VT-x。

2007 年 2 月,Linux Kernel 2.6.20 版本合入了内核模块 KVM。

2008 年 6 月,Linux Container(LXC) 发布 0.1.0 版本。

2008 年 9 月,Red Hat 收购以色列公司 Qumranet。

2009 年 2 月,阿里云写一下第一行代码,中国开始进场了。

2009 年 9 月,Red Hat发布 RHEL 5.4,在保存Xen 虚拟化基础上,将 KVM 虚拟化添加进来。

2010 年 3 月,Linus Torvalds将Ceph Client合并到Linux内核2.6.34中。

2010 年11月,Red Hat发布 RHEL 6.0,将Xen 虚拟化移除,仅提供 KVM 虚拟化。

2010 年10月,OpenStack第一个版本 Austin发布。

2014 年 6 月,Docker 第一个正式版本 v1.0发布。

2015 年 7 月,Kubernetes 第一个版本v1.0 发布。云原生时代开启。

2017 年11月,AWS推出C5,首次采用了KVM虚拟化。

另外一些商业化的产品在此就不做表述了。例如VMware、Citrix、Microsoft Hyper-V Azure等,当然云计算领域的绝对灯塔AWS还是必不可少的。最后上图System/360:

早期的虚拟化探索

添加微信免费咨询更多云计算信息
微信号:landui07


文章TAG: