VM/CMS

三月 5, 2009 留下评论 Go to comments

VM/CMS是IBM另一个大型机操作系统。从历史来说,这是Unix的伯父;它们共同的祖先是CTSS——由MIT于1963年间开发出来并在 IBM 7094大型机上运行的一个系统。CTSS开发组后来又去开发了Multics,也就是Unix的直系祖先。IBM在剑桥大学组建了一个开发团队,为 IBM 360/40——开发分时系统拥有分页MMU[20](在IBM系统上第一次)的改进型360系列机器。此后很多年,MIT和IBM程序员一直保持交流。新系统拥有一个与CTSS非常类似的用户界面,备有名为EXEC的shell和大量的实用程序,与Multics及后来Unix使用的实用程序非常类似。

从另一层意义看来,VM/CMS和Unix之间就像是游乐宫里的镜像。VM/CMS系统的统一性理念是虚拟机,由VM组件提供,每台虚拟机看起来就和运行其上的物理机是一样的。它们都是抢先式多任务处理,要么运行单用户的操作系统CMS,要么运行一个完整的多任务处理操作系统(如MVS,Linux 或者VM自己)。虚拟机对应Unix的进程、后台程序和仿真器,它们之间的通信通过连接一个虚拟机的虚拟穿孔机和另一个虚拟机的虚拟读卡机来完成。另外, CMS内提供了一个叫作“CMS管道”的分层工具环境,直接取自Unix的管道模型,但在结构上已经扩展到可以支持多道输入和输出。

当虚拟机之间的通讯还没明确建立时,它们是完全隔绝的。操作系统具有和MVS一样的高可靠性、伸缩性和安全性,而且灵活性和易用性比MVS要好得多。另外,CMS中类似内核的部分不需要得到VM组件的信任,对它的操控是完全隔离的。

尽管CMS是面向记录的,但这些记录实际上等价于Unix文本工具所用的行。CMS的数据库更好地集成到CMS管道中,而Unix中的大多数数据库都独立于操作系统。近年来,CMS已经扩展到完全支持单一Unix规范。

CMS采用交互式和会话式UI风格,和MVS相差很远、但和VMS、Unix近似,大量使用一个叫XEDIT的全屏幕编辑器。

VM/CMS出现在客户端/服务器的区分之前,现今和IBM模拟终端一起几乎完全作为服务器操作系统使用。在Windows主宰桌面市场之前, VM/CMS不仅在IBM内部、而且也为大型机客户站点提供字处理服务和电子邮件服务——实际上,由于VM早就有提供成千上万用户的伸缩性,许多机器专门安装VM系统,只用它运行这些应用程序。

Rexx脚本语言支持编程的风格和shell、awk、perl或python有几分相似。因此,轻松编程(特别是系统管理员的轻松编程)在 VM/CMS上非常重要。由于允许自由流通,管理员通常更愿意在虚拟机上而不是直接在裸机上运行产品级MVS,因此,人们很容易获得CMS并充分利用其灵活性(有一些CMS工具可允许访问MVS文件系统)。

VM/CMS在IBM中的历史同Unix在数字设备公司(DEC,他们生产了首次运行Unix的硬件)中的历史惊人地相似。IBM花了数年时间才明白自己的非正式分时系统的战略意义,与早期Unix社区行为非常类似的VM/CMS编程者社区就在那时兴起了。这些编程者分享想法和对系统的发现,最重要的是他们分享实用工具的源码。尽管IBM多次试图宣布VM/CMS结束,但这个社区——包括IBM自己的MVS 系统开发者——坚持维持这个系统的存活。VM/CMS甚至也经过和Unix同样的循环,从事实上的开源到闭源,再回到开源——只不过没有Unix开源那样彻底罢了。

然而,VM/CMS所缺乏的是一个像C语言那样的东西。VM和CMS都用汇编语言编写,而且一直如此。和C最像的是PL/I的各种删节版,IBM用其进行系统编程,但从来没提供给客户。因此,尽管360系列已经升级到370系列、XA系列,最后到现在的z系列,这个操作系统却仍然截止在最初架构的框框中。

自2000年以来,IBM以前所未有的力度在大型机上推广VM/CMS系统——作为能同时容纳成千上万虚拟Linux机的手段。

Advertisements
  1. 还没有评论。
  1. No trackbacks yet.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: