在介绍AS/400之前,先简单回顾一下AS/400的发展历史。IBM AS/400的创始人Frank G.Soltis博士认为“历史”对设计新型计算机系统的影响力远胜于其他因素。同样,在设计一个新型计算机系统时,开发的场所和先前的产品也有着相当大的影响力。60年代,位于美国东部(the EastCoast)的许多计算机公司,例如Digital,Data General页以及IBM的NewYork Lab.等,占尽地利,不仅分享了诸如MIT等名校和研究所的研究成果,而且雇佣了大批东部高校的高材生。MIT当时曾为美国国防部开发了一个名为MULTICS的项目。东部的公司在设计计算机的结构和操作系统时,大量借鉴了MULTICS的思想。Bell Lab.的UNIX正是这一环境下的产物。
然而AS/400的发展历史却是另一番光景。AS/400的诞生地位于Z美国中西部明尼苏达州(Minnesota)的Rochester,当时要想从发达的东部高校中招聘毕业生到偏远的Rochester工作是相当困难的。因此,AS/400的创始人都是中西部的,他们同东部的计算机公司并没有什么密切的联系,这也使他们设计的AS/400与别的计算机相比在很多方面都显得与众不同。
在这里,我们可以比较一下IBM AS/400和大多数其他计算机系统的寻址结构(Adressing Structure)。60年代中后期,许多计算机被设计成分时共享(time-sharing)的结构。当时time-sharing之所以如此流行,是因为它允许不同的商业用户在同一台中央主机上租用系统时间。当时,许多商业用户负担不起独立拥有一台计算机的开销,time-sharing能为他们提供大型机的资源,而昂贵的费用则由大家分担。在这种环境下,每一个用户都认为他(她)所用的计算机是专用于他(她)的任务的,通常他们并不知道系统中其他用户情况。当初的设计并没有考虑到在用户间直接共享数据的问题。例如,在MUL TICS中即采用了这样一种硬件寻址结构,即隔离每一个用户且不支持共享。随着计算机硬件技术的飞速发展,其价格也不断下降,许多商业用户都拥有自己的计算机,数据共享的要求更为迫切。
AS/400的单级存储结构(Single-Level Store)支持多用户共享数据和程序。在后面的章节中,我们将详细介绍这种结构。值得一提的很重要的一点是,AS/400的体系结构是一个全新的结构,一个崭新的世界,没有背上任何历史包袱。
明尼苏达州(Minnesota)的Rochester Lab.开始时并不生产计算机,而是生产一种打孔机。到了60年代中期,Rochester Lab.有一些人预测商用小型机将会有很大的市场。但IBM的总部并不这样认为,当时IBM公司刚刚发布System/360系列。在这种背景下,Rochester Lab.不敢告诉公司总部它正在研制一种新计算机;相反,Rochester Lab.声称它正在研制一种新型的单元记录机(Unit Record Machine)。
1969年6月,IBM公司发布了System/3.这种新机器是一个批处理机器(Bctch Machine),即每一次只能读入一个作业(Job)到机器中进行处理。IBM的System/3,System/32,System/34,System/36是一个系列的。所有这些系统都是基于System/3的结构,尽管它们不断地有所改进,但底层还是System/3.举例而言,System/3只有16位地址线,这使得程序空间被限定为64KB.
IBM在1970年提出的System/38在设计时克服了System/3技术依赖(Technology Dependencies)的缺点。这种思想旨在创建一种新的结构。另外,为了保护用户的投资,用户自然而然会有这样一种要求,即操作系统内核的改变(升级)不影响用户的应用程序,亦即应用程序独立于操作系统。那么,能不能做到操作系统独立于底层硬件技术呢?如果那些和底层硬件相关的操作系统功能被分离到一个“技术独立的机器界面”TIMI(Technology Independent Machine Interface)的下方,那么操作系统剩余的部分都是与硬件无关的功能,这一部分功能就独立于硬件,使硬件的改变不影响这种功能的实施。关于TIMI的详细介绍见本篇后面的章节。
IBM本来计划在1975年推出技术独立(Technology Independent结构的系统来替代System/3.但System/3在1972年时实在是太成功了,以致IBM决定继续推出该系列的计算机,而暂缓推出技术独立结构的系统。在1975年,IBM推出了一个用于小型商务办公环境的低端System/3,内部称之为System/3 Model 2,但在正式发布时又更名为System/32.1977年发布的System/34则集中了System/3和System/32的优点。在System/34上实现了一种新技术之后,IBM又将其更名为System/36 ,这是在1983年发布的,并取得了很大的成功。所有这些系统都是基于同一结构的。
在IBM决定继续推出System/3系列计算机 同时,一个新的完全独立的开发机构在Rochester成立来研制技术独立结构的计算机。该机构在1978年推出了System/38.System/38和System/3系列的计算机完全不同,它有一点也没有继承System/3的设计思想。因此,System/38并非System/3的改进机型,它们是由位于Rochester的两个完全独立的开发机构开发的,这两个机构相互之间没有一点联系。
在随后的日子里,Rochester Lab.一直都保持着这两个完全独立的开发机构,直到System/36和System/38两个开发机构合并来生产AS/400.这两个机构的合并并非易事,因为他们都对自己的结构情有独钟。System/36开发组不能理解System/38怎么要用那么大的内存才能满足小型客户的需要。他们指出,System?38用了几M(兆)内存而System/36只需用几百K(千)的内存。尽管最后还是决定采用System/38的结构,但System/36开发组还是
认为Rochester Lab.不可能生产出成本低廉的机器来吸引基于SyStem/36的用户。SyStem/36开发组的预测是正确的,在AS/400上支持System/36环境所需的硬件开销是巨大的,远远超过当初的估算。IBM最终不得不另加4M内存来保证System/36环境的性能为用户所接受。这些AS/400早期版本上的System/36环境在许多System/36用户眼中并不成熟,为此也给AS/400带来了一些不好的声誉,许多System/36用户拒绝转移到AS/400平台上工作。
从1988年6月推出AS/400之后的6年中,全世界300 000个System/36的用户中只有不到三分之一的用户转移到AS/400平台。为此,IBM不得不于1994年10月推出了Advanced 36来满足那些固执的System/36用户的需求,尽管Advanced 36采用了与AS/400同样的硬件技术。事实上,System/36对许多商业机构而言仍然是一个极佳的选择。新的Advanced 36保留了System/36A用户从1983年就开始使用的操作系统和应用程序。
另一方面,System/38开发组又看不起System/36.在他们眼中,System/38的结构是唯一能引导Rochester Lab.走向未来的希望之星。此外,他们认为硬件的价格已在下降,即使在个人机PC中也有相当大的内存,几M(兆)内存的开销不应成为问题。Rochester Lab.的机器将来会支持GB(gigabytes)级别的内存,因此,System/38的结构并不庞大。
幸运的是,争吵归争吵,他们还是走到了一起。他们发现了各自的优缺点,对这两种机型进行了优化组合,将各自系统中最好的特性加到了AS/400中。例如,System/36的用户界面较System/38好,而System/38的应用开发环境却优于System/36.此外,System/36采用独立智能处理器来处理I/O操作的设计,要比采用I/O通道的System/38更好。
AS/400最新的一些型号是90年代前期开发的。这些型号的AS/400同早先的AS/400相比是一个全新的结构。历史还在不断地推动这些‘结构的发展。最新的AS/400是采用RISC结构的。