相比硬件决定未来,软件定义未来更值得探讨。近年IT业界逐渐涌现出一股软件定义网络(SDN)、软件定义数据中心、软件定义存储(SDS)和软件定义服务器(MoonShot)等浪潮,大有软件定义未来一切IT基础设施的趋势。不过也的确,构建在硬件基础设施平台上的操作系统和应用软件,更多的是在承担着母亲大数据、云计算等服务交付和用户体验的重任。对此,我们将以此为引子,为大家介绍历史上具有里程碑意义的商用操作系统。
商用操作系统是整个操作系统发展中的重要组成部分,比如多任务、多线程和网络协议的支持就是最早出现在大型机平台上,远远早于普通消费者个人OS的发展。另外更多的创新社区和新技术也在多种开源商用OS上得到体现,其中包括400多个基于Linux和10种不同的树形UNIX。
本文,将从商用操作系统的角度来阐述具有里程碑意义的OS发展,这些商用操作系统涵盖单机、集群和云(数据中心)等层面。
一、GM-NAA I/O(1956年)
GM-NAA I/O在百度百科中形容为“有记录以来历史上最早的计算机操作系统”。它是由两家公司—— 通用汽车公司和北美航空公司共同参与而推出的一款实际应用的操作系统。该操作系统主要跑在IBM 704型机上面。
基于IBM 704大型机的GM OS & GM-NAA I/O
该系统由通用汽车公司研究机构Robert L. Patrick和北美航空公司Owen Mock于1955年设计开发,起初,它是基于IBM 701的 监视系统而而存在,它的主要功能是在某个程序运行完毕后能自动执行下一个程序(批处理)。
随后出现的BYSYS(1957年贝尔实验室开发)——早期分时操作系统(Time-Sharing Operating System) ,和UMES(1958年密 歇根大学开发出的批处理操作系统)也都不是IBM直接进行设计开发。直到1960年,IBM推出附属IBM 7090和IBM 7094大型机的IBSYS基于磁带的操作系统,该系统基于FORTRAN监视系统(FMS)和SOS系统。
二、SHARE,FMS,IBSYS(1958年)
上世纪50年代,SHARE成为IBM 709数据处理系统上的标准化操作系统。在1959年,IBM推出了基于FMS(Fortran Monitor System)的生产系统IBSYS和SHARE。
IBSYS是用于IBM7094上基于磁带的监控系统,属于第二代操作系统,它对后来的其他操作系统都有广泛影响。它基于8个磁带驱动器和一个基于卡工作控制语言的用户界面,采用FORTRAN和COBOL编译。
IBM 709 Data Processing System
三、MCP(1961年)
Burroughs在1916年引入了MCP(Master Control Program)大型机操作系统,它主要是该公司B5000大型机的专有操作系统。在众多商用操作系统中,这是一款为数不多且仍然沿用至今的操作系统。在2010年的时候还被升级到13.0版本,不过目前主要应用在Unisys ClearPath/MCP。
这款操作系统是首个支持多CPU的操作系统,也是首个商业化使用虚拟内存的操作系统,是首个采用高级编程语言编写的操作系统。
采用MCP操作系统的B5000大型机
MCP采用分区技术,对首个CPU进行任务编排实现最大化可用性,第二个CPU则通过使用“分时系统”— —也就是首个采用并行处理的计算机所具备的特点。这种任务编排采用自动化实现,不需要为多任务处理对程序进行专门指派。
四、OS/360, DOS/360(1964年和1966年)
OS/360和DOS/360是专为IBM大型机System/360量身定做的两款操作系统。前者在1964年发布,是基于IBM输入输出控制系统(IOCS)和IBSYS的批处理操作系统。它能智能执行单道程序,当程序等待I/O处理时,CPU也只能处于等待状态,因此造成了CPU资源的浪费。OS/360也包含另一个优点:永久贮存设备—硬盘驱动器的面世(IBM称为DASD(Direct access storage device))。另一个关键是分时概念的建立:将大型电脑珍贵的时间资源适当分配到所有使用者身上。
OS/360操作系统框架图
DOS/360也简称为DOS,在1966年6月由IBM发布。后来进一步获得发展,并在1972年得到更新,并应用在新S/370系列产品上,可以模拟虚拟内存。由于硬件技术更新较快,而当时的OS/360的研发进度又落后于预定计划,于是IBM被迫加快研发并推出了以下四种系统:
BPS/360:适合于配备至少8 KB核心内存和打孔机读写器的主机;
OBS/360:适合于配备至少8 KB内存和1个磁盘驱动器的主机;
DOS/360:适合于配备至少16 KB内存和1个磁盘驱动器的主机;
TOS/360:适合于配备至少16 KB内存和1个磁带驱动器的主机。
支持OS/360和DOS/360操作系统的System/360大型机
OS/360最终推出的时候比预定时间晚了一年,配置方面它要求有至少64KB内存。DOS并不会占用很多内存资源,它甚至可以运行在16KB主机上,可以支持低端的S/360 30型机。不同于OS/360,DOS/360是一个单作业系统。它采用3个内存分区,它不能为程序覆盖其他分区提供保护。
五、UNIX(1969年)
UNIX操作系统是美国AT&T公司于1971年在PDP-11上运行的操作系统。具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)于1969年在AT&T的贝尔实验室开发。
首个UNIX操作系统跑在DEC迷你电脑PDP-7上面。到1970年的时候,UNIX拥有了自己官方的名称,并且运行在PDP-11/20计算机上。在1972年,UNIX采用了C语言进行了集中编写,以方便用户更好地对其进行修改和采用。也就是从那时候开始,UNIX开始可以部署在多个系统上。1972年汤普逊在UNIX编程者手册中引用,“UNIX安装的数量已经可支持到10台,”
汤普逊和里奇在DEC PDP-7计算机旁工作
到了1980年,有两个最主要的Unix的版本线,一个是Berkeley的BSD UNIX,另一个是AT&T的Unix。随后还出现了更多的UNIX版本。不过目前最为有影响力的当属IBM的AIX和HP的HP-UX。
六、BSD(1978年)
BSD(Berkeley Software Distribution)字面意思是“伯克利软件发行版”。但它并不不仅仅是操作系统,而是整套软件发行版的统称。
OpenBSD操作系统
Berkeley是加州一所学校的名称。之前介绍的UNIX,其实在加州大学伯克利分校得到很多改进,增加了很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等。他们将这些Unix组成一个完整的Unix系统——BSD Unix(Berkeley Software Distribution)对外发行。
UNIX和类UNIX操作系统分类
BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础,BSD Unix中最先实现了TCP/IP,使Internet和Unix进行结合。
七、VMS(1978年)
VMS是虚拟内存系统(Virtual Memory System)的简称,最先是Dave Cutler和Dick Hustvedt研究员从1976年开始在DEC公司设计开发。当初创建这一系统的初衷是想充分利用DEC的32位虚拟内存,也就是著名的VAX(虚拟地址扩展)和后来的RSX-11M(为PDP-11计算机而开发)。
VMS X0.5是其面向用户在1977年推出基于VAX-11/780测试版的首个版本,官方正式版则是在1978年推出(1.0版)。1992年随着DEC Alpha平台的推出,VMS被重命名为OpenVMS(1996年才开始支持64位),而且在2005年获得了英特尔安腾的支持(2006年支持双核安腾)。
DEC VAX-11/780(32位宽,256KB-2MB内存)
OpenVMS是DEC被康柏公司收购(康柏又被惠普收购)而目前又被HP所持有的系统。目前的版本是8.4( 700),发布时间是在2012年,包括800个升级以更好地支持2012年底推出的英特尔安腾9500系列处理器。
八、HP/UX(1986年)
HP/UX全称为Hewlett Packard UniX,是惠普9000系列服务器的操作系统,可以在HP的PA-RISC处理器 、Intel的Itanium处理器的电脑上运行。基于System V,是Unix的一个变种。
HP/UX系统界面
HP/UX之前是SGI于1982年推出的IRIX,1983年SCO发布了其首个被称之为XENIX System V的UNIX软件包 。1989年惠普才将HP/UX与其他四大系统整合推出。它是一种多用户操作系统,允许多个用户同时使用该系统。主要应用在对高可靠性、高安全和业务管理和分区等功能诉求的场景。
另外,惠普还通过收购康柏获得Tru64 UNIX for Alpha Server系统。该系统曾经在2007年被中断,但随后延续至今。目前的版本为HP/UX 11i v3,去年3月发布。
九、AIX(1986年)
AIX(Advanced Interactive Executive)是IBM推出的UNIX操作系统,起初它是为IBM 6150 RISC工作 站而设,最开始出现的时间是在1986年。目前,AIX可以支持多种硬件平台,包括IBM RS/6000系列和 之后的IBM POWER、基于PowerPC系统、IBM System i、System/370大型机,甚至还支持PS/2个人电脑 、苹果网络服务器。
之后在1990年,AIX因支持RS/6000(即pSeries)系列产品而开始成为标准操作系统,因此也受到了IBM Power Systems和IBM i、Linux的支持。AIS是首个利用日志记录文件系统的OS,而且IBM持续不断地增强软件的处理器、磁盘和网络虚拟化、动态硬件资源分配的功能,充分移植了大型机所具有的可靠出色设计元素。
AIX操作系统界面
2001年,IBM曾表示将增加对英特尔安腾的支持,但事后并未发布AIX 5L之后的其他版本。基于UNIX System V和4.3 BSD,AIX成为首个采用日志文件系统的操作系统。
整个系统的设计从网络、主机硬件系统,到操作系统完全遵守开放系统的原则。AIX包含了许多IBM大型机传统受欢迎的特征,如系统完整性,系统可管理性和系统可用性。在AIX 操作系统上,有许多的数据库和开发工具,用户除了选用已有的应用软件外,还可以根据各自的需要进行开发。AIX通常用来运行Oracle、Sybase、DB2等大型数据库系统。
十、Linux(1991年)
Linux也是类UNIX操作系统。1991年,Linus Benedict Torvalds宣布能够在这种免费的操作系统上自由工作。起初它是作为类UNIX操作系统的免费版。截止目前,已经拥有480种不同的Linux发行版。
和前面介绍的HP/UX一样,Linux也是多用户操作系统,而且它还支持多任务、多线程和多CPU架构。它能运行主要的UNIX工具软件、应用程序和网络协议,支持32位和64位硬件。
Linux二十年发展(来源:the Linux foundation)
Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性。
它不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件,也有多个窗口管理器的X-Windows图形用户界面,支持用户使用窗口、图标和菜单对系统进行操作。
十一、Solaris(1993年)
Solaris 是Sun Microsystems研发的操作系统,也是UNIX的衍生版。目前的Solaris属于混合开源软件 ,开放版本就是OpenSolaris。
其实该操作系统之前名叫SunOS,它基于BSD UNIX。从5.0版本开始,SunOS开始转向System V Release 4,并从此改名为Solaris(2.0)。现在Solaris一般认为是由SunOS,图形化的桌面计算环境,以及它 网络增强部分组成。
Solaris操作系统界面
Solaris支持多种系统架构:SPARC, x86 and x64。与Linux相比,Solaris可以更有效地支持对称多处 理器,允许Linux二进制程序直接在Solaris x86和x64系统上运行。
十二、Windows NT(1993年)
Windows NT想必大家都比较熟悉。它是微软推出的首个服务器操作系统。具体来说,就是在1993年推 出面向工作站、网络服务器和大型计算机的网络操作系统,当然也支持PC。Windows NT指的是New Technology的Windows。
Windows NT操作系统界面
从上面的介绍也可以得出,Windows NT的两个版本分别是Windows NT Workstation 和Windows NT Server 。它采用了新型文件系统。可提供安全存取控制及容错能力,在大容量磁盘上,它的效率比FAT高。另外,在网络共享、用户账号、域管理、工作组等方面有所创新,强化了安全管理和用户权限的概念。
十三、OS/2 Warp Server(1996年)
1996年,IBM推出了服务器版本的OS/2操作系统——OS/2 Warp Server。该系统其实有两个版本(3和4 )结合了Warp 3和IBM LAN Server 4.0的特性。
IBM还创建了整合其他服务器操作系统的特性,比如备份、灾备、远程访问等等。在市场上,OS/2从未赢得与Windows和Windows NT对抗的战争,最终IBM选择在2005年退出市场。
OS/2 Warp Server操作系统界面
十四、Mac OS X Server(1999年)
Mac OS X Server 1.0是苹果首个服务器操作系统。该操作系统融入了其收购的NeXT(OpenStep)以及Mac OS 8.5.1技术特性。1998年宣布其代号为Rhapsody,后来最终成为苹果Mac OS 桌面版操作系统,并于2001年推出了Mac OS X 10.0。
Mac OS X Server操作系统界面
随着2011年推出Mac OS X 10,苹果中止了其服务器版本专属操作系统的发售,但仍可通过单独的Server App或者Server Admin工具来出售具体服务器应用套件。
十五、z/OS(2000年)
z/OS也就是目前IBM大型机操作系统,其目前的版本为13,是IBM于1995年推出的OS/390、MVS(1974年推出)、OS/360(1964年)的后续版本。配合z/Architecture系列大型机开发出来的64位操作系统,
该操作系统也支持最新的zEC12大型机,拥有极高的安全性和扩展性,常被部署在关键业务领域。z/OS支持所有大型机的特性,比如64位Java、C、C++、UNIX API等等。
z/OS操作系统命令行界面
十六、Windows Server 2012(2012年)
Windows Server 2012是微软最新的服务器操作系统,当然也是最早一批Windows NT的后继者。该软是 Widnows服务器版操作系统的分水岭,加入了很多新的功能和特性,尤其是基于云应用的存储、扩展性 、Hyper-V和支持IPv6的IPAM等等。也加入了全新优化的用户界面和体验,支持用户在服务器核心(命令行环境)和图形界面之间自由切换。
Windows Server 2012界面
Windows Server 2012总共有四个版本,涵盖入门级、通用服务器和虚拟化环境数据中心等环境应用。解决了私有云和混合云环境下的计算资源调配需求。