您的位置: 网站首页 > 公共课 > 新编计算机文化基础 > 第2章 计算机系统 > 【2.3 计算机软件系统】

2.3 计算机软件系统

 

2.3  计算机软件系统

计算机软件及其相关技术是随着计算机科学技术的发展而发展的。从广义的角度上来讲,计算机软件不仅包括程序、数据和文档,还包含了软件基础理论、软件方法、软件开发技术与软件开发工具。计算机软件及其相关技术在整个计算机科学技术中占据着非常重要的地位,对计算机的应用也起着举足轻重的作用。因此,学习和掌握一些软件技术基础是十分必要的。

2.3.1  计算机软件的基本组成

1.软件系统的作用

计算机软件是指为运行、维护、管理和应用计算机所需要的以电子格式存在的所有程序和数据,以及说明这些程序的相关资料和文档的总和。所谓程序,就是指示计算机完成特定处理任务的一组详细指令,程序的每一条语句都是用计算机所能够理解并执行的语言来描述的。在软件系统中,程序是主体,数据是程序处理的对象及程序运行所需要的参数,文档则是程序设计、运行、维护所需要的资料。

软件的主要作用是实现和扩充计算机系统的功能、提高计算机的工作效率、方便用户使用计算机。对于计算机系统来说,软件和硬件是同样重要的。没有软件的计算机被称之为“裸机”,不能发挥任何作用;失去了硬件,软件也没有了运行的物质基础。

现代计算机系统中所使用的软件,基本都是以软件产品的形式提供的。软件产品通常由软件生产商开发供应,以光盘或磁盘作为载体,包含安装和使用手册等。

2.软件系统的组成

从计算机应用的角度出发,通常将软件系统分为系统软件和应用软件两大类。系统软件是为计算机系统本身的运行而研制和开发的,它包括操作系统、语言处理程序、数据库管理系统、驱动程序以及用于诊断和维护计算机的工具软件;应用软件是为用户使用计算机的具体应用目的而研制和开发的,它包括办公软件、管理软件、设计制造软件等多个类别

3.软件的知识产权

计算机软件的价值并不体现在有形物质上,主要体现在使用价值上,它为用户使用计算机系统提供可能。软件是一种知识产品,是大量知识劳动的结果,它与电影、歌曲、书籍等出版物一样拥有著作权,受版权法保护。版权法授予软件著作权人唯一享有本软件的出售、发布、署名、修改、复制的权力。用户购买了一个软件后,只拥有该软件的安装和使用权,未经许可随意复制分发属于侵权行为。

软件具有开发工作量大、开发投资高,易复制且复制费用极低的特点。为了保护软件开发者的合理权益,鼓励软件的开发与流通,广泛持久地推动计算机的应用,需要对软件实施法律保护,禁止未经软件著作权人的许可而擅自复制、销售其软件的行为。许多国家都制定有保护计算机软件著作权的法规。我国1990年颁布的《著作权法》规定,计算机软件是受法律保护的作品形式之一。199164日,国务院颁布了《计算机软件保护条例》,对软件实施著作权法律保护并做了具体规定。

按照《计算机软件保护条例》的规定,计算机软件是指计算机程序及有关文档。受保护的软件必须由开发者独立开发,即必须具备原创性,同时,必须是已固定在某种有形物体上而非存在于开发者的头脑中。软件著作权人享有的权利包括:发表权、开发者身份权、使用权、使用许可和获酬权及转让权。软件著作权人有两类,即原始的著作权人和后继著作权人。原始著作权人是软件开发完成时的权利享有者,后继著作权人是从原始著作权人处依法继承或受让软件著作权的单位或公民。条例还规定,因课堂教学、科学研究、国家机关执行公务等非商业性目的的需要对软件进行少量复制,可以不经软件著作权人同意,不向其支付报酬。

在因特网上还常常提供一些不需要付费的软件,它们分为两类:自由软件和共享软件。自由软件(Freeware)完全免费提供使用户使用,而共享软件则允许用户试用一段时间后再付费。

2.3.2  系统软件

1.系统软件概述

系统软件泛指那些为了有效地运行计算机系统、为软件开发以及运行提供支持、给用户管理和使用计算机提供帮助的各种软件。在PC机中常用的系统软件有:操作系统(如Windows),语言处理及软件开发程序(如Visual Basic),数据库管理系统(如SQL Server)等。系统软件不是为了某个具体应用而设计的,它的目的是对系统资源统一进行调度和管理,与计算机硬件结合得比较紧密。系统软件是计算机软件的基础,离开它们,计算机系统将无法运行。用户在购买计算机时,商家通常随机提供一些系统软件,以使计算机能够运行。

2.操作系统

操作系统是一种系统软件,它统一管理和控制计算机系统中的软件、硬件资源,合理地组织计算机的工作流程,为用户提供一个良好的便于使用的操作环境,以使用户能够高效、方便、灵活地使用计算机系统。

操作系统是整个计算机软件系统的核心,对于计算机系统的运行起着举足轻重的作用。从计算机用户的角度来看,操作系统提供一个工作平台,用户在操作系统构造的环境下与计算机进行各种交互,安全有效地使用计算机。对于软件工程师来讲,操作系统是一个功能强大的系统资源管理者,它所设计的软件在操作系统的支持下,可以进行各种软硬件资源的使用和调度,使程序完成相应的操作。

3.语言处理系统

计算机语言是人与计算机交换信息的工具。由于软件程序都是用计算机语言来编写的,所以也叫程序设计语言。语言处理系统的功能就是对各种计算机语言的源程序进行翻译,生成CPU可以直接识别并执行的目标程序。按照计算机语言的发展使用情况,人们将它分为三大类:机器语言、汇编语言和高级语言。

1)机器语言:是直接用二进制形式的指令代码作为语句的语言,程序使用的数据也由二进制表示。机器语言表示的程序完全由“0”和“1”两种代码组成,它是计算机唯一能直接识别并执行的语言。用这种语言编写的程序执行速度快、效率高,但是与指令系统关系密切、移植性差,程序难以编写、难以修改、容易出错。目前已经很少直接使用。

2汇编语言:汇编语言是一种符号语言,它将难以记忆的二进制指令代码用相应的英语缩写(称为助记符)来代替,以改善机器语言难以编写、难以修改、容易出错的缺点。用这种语言编写的程序称为汇编语言源程序,它必须经过计算机中的汇编程序汇编为机器语言目标程序,才能被正常执行。汇编语言的执行效率高,但与机器语言一样与指令系统关系密切,所以移植性差,目前常用来编写一些自动控制程序、游戏程序、接口和驱动程序。

3)高级语言:由于机器语言和汇编语言的移植性差、难以记忆和使用,人们又创造了许多种与具体计算机指令无关、表达方式更接近于日常使用的自然语言的程序设计语言,称之为高级语言。所以也有人将机器语言和汇编语言称为低级语言。相对于低级语言,高级语言更易于掌握和使用,程序设计的效率也相对较高。常用的高级语言有Java语言、CC++语言、BASIC语言等。高级语言编写的程序同样也不能被计算机直接识别并执行,也需要转换为机器语言目标代码。转换的方式有两种:编译和解释。担负转换任务的编译程序或解释程序与汇编程序一样属于语言处理程序。在编译方式下,源程序首先由编译程序翻译为目标代码,然后经过连接生成目标程序并且存储,在需要运行时,只要运行目标程序即可。在解释方式下,由解释程序对源程序按语句执行的动态顺序进行逐句翻译,生成目标代码,边翻译边执行,不生成目标程序。转换的过程如图2-27所示。

2-27  高级语言源程序的转换过程

程序设计语言与其他语言一样,也有语法、语义、语用三个要素。语法是指构成语言必须遵循的规则,语义是语言所要表达的含义,语用则为语言的使用场合。我们平常所使用的自然语言是在生产生活中逐步发展起来的,所以语法比较灵活,语义可以有差异,语用也不很严格。与人类自然语言相比,计算机语言是为了设计程序而由人们创造发明的,所以语法严谨,语义明确,语用单一。这是程序设计语言的初学者应注意的问题。

程序设计语言经历了由低级到高级、由简单到复杂的发展阶段,目前人们正在研究开发和发展第四代计算机语言,其主要特征为智能化、面向对象、模块化和软件集成开发平台

4.实用程序

系统软件中还有一些工具软件以及设备驱动程序,它们是为用户使用、维护和诊断测试计算机系统而编制的。计算机系统中的各个输入/输出设备都必须有相应的设备驱动程序,在设备驱动程序的支持下,操作系统才能有效地使用和管理这些输入/输出设备。计算机系统在使用的过程中,某些设备也需要经常进行维护,例如磁盘的清理和碎片整理、喷墨打印机打印头的清洗等,在程序的支持下,这些工作才能得以完成。另外,计算机系统的性能测试、发生故障后的诊断工作也需要有相关的程序。

2.3.3  应用软件

1.应用软件概述

应用软件是在硬件和系统软件的支持下,面向具体应用领域和具体用户的软件。由于计算机系统的通用性和应用的广泛性,应用软件种类繁多、用途广泛,不同的软件对系统运行环境的要求不同,为用户提供的各种功能也不同。按照应用软件的开发和供应方式,可将应用软件分为通用应用软件和定制应用软件两类。通用应用软件是基于某个应用领域的共同要求而开发的,它可以在许多行业和部门中使用。由于用户众多,软件价格相对较低。定制应用软件是专门针对某个客户的具体要求而量身定做的,这类软件专用性强,运行效率高,但价格也高。

随着计算机应用的日益广泛深入,各种应用软件的数量不断增加,质量日趋完善,使用更加方便灵活,通用性也越来越强。不少软件已经逐步标准化、模块化,形成某个领域或某类问题的常用软件,我们将其称为应用软件包(Software Package)。

2.办公自动化软件

办公自动化软件是应用在办公领域的软件包,它通常包括文字处理、电子表格、演示软件、工作组管理、电子邮件处理等功能模块,能够完成诸如文本输入、编辑排版、表格计算、统计分析、简报制作、文件传输、邮件收发等许多功能。比较著名的办公自动化软件有MicrosoftOfficeIBMLotus Notes/Domino

3.数据处理软件

对各种数据的存储、组织、检索、处理是计算机系统的强项,数据处理软件就是对数据进行存储、组织、检索、处理的应用软件。数据处理软件在金融、商业、会计、统计等领域有着广泛的应用。这类软件通常需要数据库管理系统(Database Management SystemDBMS)的支持。高档的数据处理软件不仅能够对数据进行各种处理,并且能够在统计分析的基础上提供决策依据。

4.网络应用服务软件

随着计算机网络的逐渐普及,尤其是Internet的迅速发展,有关网络应用的各种软件也得到较快的发展。这类软件的种类繁多,有提供给普通用户使用的浏览器软件、电子邮件软件等,也有提供给厂商的网络管理软件和网站开发软件等。如Microsoft Internet ExplorerMicrosoft Outlook ExpressMacromedia Dreamweaver等都是这类软件中比较著名的软件。

5.图形图像软件

图形图像软件在计算机系统中的广泛应用是与多媒体技术的发展密切相关的。图形图像软件用来创建、编辑、修改、浏览、打印各种图形和图像,其中既有针对出版、广告、设计等单位用户的软件,也有供给家庭、个人用户的软件。图形图像软件分为两大类:处理“矢量图”的软件和处理“位图”的软件,如Adobe公司的PhotoshopAutodesk公司的3ds max

6.娱乐学习软件

计算机除了在工作场所的应用外,休闲娱乐和教育学习也是非常重要的应用方面。随着多媒体技术和网络技术的发展以及出版业的兴旺,这类软件也迅速发展。娱乐学习软件通常以网络或光盘为载体,价格便宜、使用方便,通常不需要安装,对使用者的计算机水平要求不高。游戏软件是休闲娱乐软件的主要组成部分,包括各种动作、冒险、益智、运动、棋牌等游戏。此外,用于音乐欣赏和媒体播放的软件也是休闲娱乐的组成部分。随着计算机辅助教学(Computer Assisted InstructionCAI)在现代教学中的地位日益上升,教育学习软件得到快速发展。教育学习软件集讲解演示、操作练习、辅导讨论、考核测试于一身,学生可以在交互式的环境下进行个性化学习,具有传统课堂教学所不具备的优点