计算机科学的迅猛发展离不开软件的支撑,而软件性能的量化测量则是保障系统稳定、高效运转的核心环节。在早期软件发展的历史进程中,测量不仅仅是简单地记录系统运行数据,更成为推动操作系统创新和资源优化的重要动力。本文通过回顾关键技术突破和实践案例,揭示了早期软件测量的方方面面及其深远影响。 20世纪40年代末,随着卡片编程计算机(Card Programmed Calculator)的广泛应用,计算效率的瓶颈日益显现。该设备以每分钟处理约100张穿孔卡片的速度著称,但遇到如超越函数迭代等复杂计算时,处理速度明显下降。为了突破硬件限制,1949年兰德公司(Rand Corporation)的塞西尔·哈斯廷斯(Cecil Hastings)发明了针对常用数学函数的多项式曲线拟合方法,这种软性调整避免了硬件处理的中断,实现了更流畅的计算过程。
这可谓软件软性变革第一次成功突破硬件瓶颈的典范。 进入1950年代,IBM推出了701型号主机,尽管硬件性能有大幅提升,但计算资源仍极度稀缺,计算机使用是按时段预约且效率低下。大型企业如康维尔公司和通用汽车研究所(GMR)开始重视对软件操作过程的严格测量管理。通过运用亨利·甘特的计时和动作研究方法,对程序员的工作流程和作业效率进行了深入分析,提炼出一系列解决方案来提升计算机利用率和生产效率。 这些问题主要集中在程序员自由发挥带来的操作混乱、缺乏统一的操作指导文档、单任务运行引起的资源浪费、作业失败后的重启难题以及反馈信息缺失等方面。为了应对这些挑战,设计团队开发了多项操作标准,包括标准化编程规范、操作文档编制、作业批处理及自动重启流程。
最具创新性的贡献莫过于通用汽车和北美航空联合开发的IBM 704操作系统,使得每小时运行的作业数量提升了十倍,极大地扩展了系统的生产力。 这一时代的操作系统远非单纯的软件产品,更是一整套规范的集合,涵盖编程指导、操作流程、工作安排及管理报告等方面。在硬件方面,由于IBM 704存在无缓冲输入输出限制,大量读卡和打印操作需线下进行,系统吞吐量受到明显制约。对此,制造商推出不同速度和容量的磁带驱动器以满足不同需求。系统性能的提升也离不开对输入输出操作的仔细测量,通过观察控制台指示灯的闪烁频率与持续时间,技术人员能够判断计算单元是否因等待IO操作而停顿,对系统瓶颈进行精准定位。 随后IBM 709、7090型号的推出,客户获得了更多选择,如更快的打印机、磁带设备和更大容量的内存。
虽然硬件升级可以简单替换,但软件程序往往需做相应调整以利用新增资源。系统的安装和优化高度依赖经验丰富的系统程序员,他们通过调试软件和硬件设置,确保达到最佳工作状态。 70年代初期,批处理系统虽然高效,却无法满足某些对响应时间极端敏感的用户需求。批处理在设定输入优先级后,会冻结调度策略,这对需优先保障执行任务的环境造成困扰。IBM 1963年推出的可靠磁盘驱动器彻底改变了这一现状,为非顺序作业访问提供了技术基础,使系统能够根据优先级随时调整执行顺序。 航天公司(Aerospace Corporation)在其7090系统上创新性地引入了辅助处理器——一个较慢但经济的7040机型,负责编排输入输出,极大释放主机资源。
通过软件“Direct Couple”实现两机联动,为用户在保持传统操作体验的同时,实现了输入作业排队、输出打印统一管理及远程作业提交,使得系统对高优先级任务实现快速响应。这套系统还能根据白天和非工作时段灵活切换调度策略,保障设备维护和生产效率两者平衡。 为了提高系统效率,人工干预的环节被逐一削减。在高速链式打印机旁设立传输带和分拣架极大减轻了操作员的体力负担,同时通过打印任务管理降低输出任务的积压。操作人员的轮换制度也防止了过度疲劳,保证了长时间稳定运行。 该辅助处理系统后的替代型号,如7094和7044,继承并强化了技术优势。
该技术逐渐推广至航天工业界,软件包的灵活性允许根据客户需求定制改造。IBM公司将这套软件商业化,分别命名为HASP和ASP,持续支持主机系统的输入输出调度和资源优化。 跨入1960年代中期,IBM通过OS/360项目整合了众多最佳实践。OS/360的设计团队注重统计分析,依据实地数据调整软件性能,确保系统上线即具备良好稳定性。担当性能数据收集的开发者如汤姆·阿普尔(Tom Apple),通过收集和分析数据协助研发团队提前解决潜在性能瓶颈,确保系统在正式投产中减少故障。 在软件发布后,尽管经验丰厚,仍不可避免地出现漏洞与错误。
为了保障严苛生产环境下的稳定运行,客户大规模部署测试套件,每次配置调整后自动执行验证流程,确保作业执行完整且性能指标达标。输出数据对比系统会自动匹配既定标准,极大提高了维护效率,降低了人为失误。 1968年洛克韦尔航天公司的IMS/360系统开发阶段,面对全新数据库网络的巨大挑战,团队设计了复杂的测量实验。通过双机系统互联,真实数据驱动模拟网络运行,该实验首次为设计者提供了可量化的事务处理能力指标,证明系统在满负载状态下可实现每小时4000事务处理,为后续系统扩展及资源规划提供宝贵依据。 纵观早期软件测量的发展历程,我们看到测量不仅仅是性能监控的工具,更是推动计算机系统向前发展的引擎。从数学函数快速近似算法的提出,到操作系统批处理机制的完善,再到复杂系统吞吐能力的量化测试,测量技术贯穿了软件生命周期的各个环节。
它使得软件能够精准适配硬件性能,同时满足日益复杂的用户需求。 今天,虽然计算机运算速度和存储容量均已成倍提升,软件测量的基本理念依然未变。继承自早期经验的系统设计理念、性能数据采集与分析模式,依然是现代软件工程体系的重要组成部分。透过回顾早期软件测量的奠基史,我们不仅能够更好地理解技术演进,还能汲取经验为未来软件优化和创新提供借鉴。 软件测量的历史提醒我们,技术进步从不只是技术本身的积累,更是通过科学的测量、分析和管理,将复杂资源合理调度、优化利用的过程。早期软件测量以其系统化和工程化的视角,为后来的软件工程奠定了坚实基础,也为现代计算的发展写下了不可磨灭的篇章。
。