热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

IBM小型机AS400之-AS_400产生的历史背景

文章标题:IBM小型机AS400之-AS_400产生的历史背景。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  在介绍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结构的。
  
推荐阅读
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 工作8年后薪资从1万跃升至7万,网友惊叹:本科学历实属难得
    一位本科毕业生在工作8年后,凭借扎实的技术能力和不断的学习提升,成功将月薪从1万元提高到7万元,引发了网友们的广泛赞叹。这一成就不仅体现了个人的努力与坚持,也反映了当前技术领域对高素质人才的迫切需求。 ... [详细]
  • Git应用技巧与实战经验分享
    在使用 Git 进行代码管理时,有时会遇到无法访问 `https://github.com` 仓库的问题,具体表现为 OpenSSL SSL_read 错误,连接被重置(errno 10054)。本文将深入探讨这一问题的成因,并分享多种解决方法,包括检查网络配置、更新 Git 版本以及调整 SSL 设置等,帮助开发者有效应对类似问题。此外,文章还将介绍一些实用的 Git 技巧和实战经验,提升代码管理和协作效率。 ... [详细]
  • 在更换电脑后,使用 Git Bash 运行 Python 时可能会遇到找不到 Python 解释器的问题。本文详细介绍了如何在 Windows 环境下通过 Bash Shell 调用不同版本的 Python,并成功运行 SRSPlayer HTTP 服务器。具体步骤包括配置环境变量、验证 Python 版本以及启动服务器的方法。 ... [详细]
  • 本文全面解析了 Python 中字符串处理的常用操作与技巧。首先介绍了如何通过 `s.strip()`, `s.lstrip()` 和 `s.rstrip()` 方法去除字符串中的空格和特殊符号。接着,详细讲解了字符串复制的方法,包括使用 `sStr1 = sStr2` 进行简单的赋值复制。此外,还探讨了字符串连接、分割、替换等高级操作,并提供了丰富的示例代码,帮助读者深入理解和掌握这些实用技巧。 ... [详细]
  • 如何使用 `org.apache.poi.openxml4j.opc.PackagePart` 类中的 `loadRelationships()` 方法及其代码示例详解 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 在本篇学习指南中,我们将探讨 Spring Cloud 2020 版本中的技术选型和版本选择策略。具体来说,我们将详细介绍如何在项目中选用 Spring Boot 和 Spring Cloud 的最佳组合。本文以 Spring Boot 2.2.2 为例,结合实际应用场景,提供详细的配置和使用建议,帮助开发者更好地理解和应用这些框架。此外,我们还将讨论不同版本之间的兼容性和升级路径,确保项目能够平稳过渡到最新版本。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • SIoU Loss 的原理详解及代码实现分析
    本文详细解析了 SIoU Loss 的原理及其在边界框回归任务中的优势,并通过代码实现对其性能进行了深入分析。SIoU Loss 作为一种改进的损失函数,能够更有效地优化目标检测模型的边界框回归效果,提升模型的准确性和鲁棒性。文中还提供了具体的代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Milvus 获邀参加 2020 开源软件供应链峰会,探讨大数据领域的创新应用与实践
    2020年11月14日至15日,由中国科学软件研究所和openEuler社区联合主办的开源软件供应链峰会在南京玄武苏宁诺富特酒店隆重召开。作为开源社区的重要成员,Milvus受邀参加了此次盛会,与业界专家共同探讨了大数据领域的创新应用与实践经验。会上,Milvus分享了其在高性能向量搜索引擎方面的最新进展和技术突破,为大数据处理和分析提供了新的解决方案。 ... [详细]
  • Flutter 屏幕适配解决方案与最佳实践
    Flutter 屏幕适配解决方案与最佳实践 ... [详细]
  • 在Mac系统中安装Hexo时,如果遇到“Error: Cannot find module './build/Release/DTraceProviderBindings’”错误,可以通过以下步骤解决:首先确保已正确安装Node.js和npm,然后尝试运行`npm install hexo --no-optional`。若问题依然存在,建议检查环境变量配置,并参考Hexo官方文档进行进一步排查。 ... [详细]
author-avatar
荒原绿树fy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有