- 计算机系统:从应用程序到底层实现
- 赵欢 杨科华编著
- 1185字
- 2025-05-07 10:52:29
1.1.3 计算机软件
计算机的工作由存储在其内部的程序控制,这是冯·诺依曼结构计算机“存储程序”工作方式的重要特征,因此程序或者软件质量的好坏将大大影响计算机性能。
软件的发展受计算机硬件和计算机应用的推动和制约,其发展过程大致分三个阶段。
从第一台计算机上的第一个机器代码程序出现到实用的高级语言出现为第一阶段(1946—1956年)。这一时期的计算机应用以科学计算为主,计算量较大,但输入/输出量不大;机器以CPU为中心,存储器较小;直接采用机器语言编程,因而程序设计与编写工作复杂、烦琐、易出错。这时尚未出现“软件”一词。
从实用的高级语言出现到软件工程概念出现之前的这段时间为第二阶段(1956—1968年)。这一时期除了科学计算外,还出现了大量数据处理问题,计算量不大,但输入/输出量较大。机器结构转向以存储器为中心,出现了大容量存储器,输入/输出设备增多,“软件”概念也开始出现。为了充分利用处理器、存储器和输入/输出等计算机资源,出现了操作系统;为了提高编程工作效率,出现了高级语言;为了满足大量的数据处理需求,出现了数据库及其管理系统。随着软件规模和复杂性的不断提高,软件开发过程中的问题越来越多,甚至出现了人们难以控制的局面,即所谓软件危机。为了克服这种危机,人们研究和采用了很多技术方法,这就催生了“软件工程”的概念和方法。
“软件工程”概念和方法出现后至今为第三阶段。对于一些复杂的大型软件,采用基于个人和简单团队分工的传统开发方式进行开发不仅效率低、可靠性差,而且很难完成,必须采用工程方法才能实现。为此,从20世纪60年代末开始,软件工程技术得到了迅速发展,出现了“计算机辅助软件设计”“软件自动化”等技术方法和实验系统。目前,人们除了研究和改进软件开发技术外,还着重研究具有智能化、自动化、集成化、并行化以及自然化特征的软件新技术。
根据软件的用途,一般将软件分成系统软件和应用软件两大类。
• 系统软件(System Software)包括为有效、安全地使用和管理计算机以及为开发和运行应用软件而提供的各种软件,介于计算机硬件与应用程序之间,它与具体应用关系不大。系统软件包括操作系统(如Windows、UNIX、Linux)、语言处理系统(如Visual Studio、GCC)、数据库管理系统(如Oracle)和各类实用程序(如磁盘碎片整理程序、备份程序)。操作系统(Operating System,OS)主要用来管理整个计算机系统的资源,包括对它们进行调度、管理、监视和服务等,操作系统还提供计算机用户和硬件之间的人机交互界面,并提供对应用软件的支持。语言处理系统主要用于提供一个用高级语言进行编程的环境,包括源程序的编辑、翻译、调试、链接、运行等功能。
• 应用软件(Application Software)是指专门为数据处理、科学计算、事务管理、多媒体处理、工程设计以及过程控制等应用所编写的各类程序。例如,人们平时经常使用的电子邮件收发软件、多媒体播放软件、游戏软件、炒股软件、文字处理软件、电子表格软件、演示文稿制作软件等都是应用软件。