- 陶小凡
-
所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。
1系统软件
系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。下面分别介绍它们的功能。
1)操作系统(Operating System, OS)
操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算机发展中的产物,它的主要目的有两个:一是方便用户使用计算机,是用户和计算机的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算机系统的全部资源,合理组织计算机工作流程,以便充分、合理地发挥计算机的效率。操作系统通常应包括下列五大功能模块:
(1)处理器管理。当多个程序同时运行时,解决处理器(CPU)时间的分配问题。
(2)作业管理。完成某个独立任务的程序及其所需的数据组成一个作业。作业管理的任务主要是为用户提供一个使用计算机的界面使其方便地运行自己的作业,并对所有进入系统的作业进行调度和控制,尽可能高效地利用整个系统的资源。
(3)存储器管理。为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。
(4)设备管理。根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。
(5)文件管理。主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便。
操作系统的种类繁多,依其功能和特性分为批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。按其发展前后过程,通常分成以下六类:
(1)单用户操作系统(Single User Operating System)
单用户操作系统的主要特征是计算机系统内一次只能支持运行一个用户程序。这类系统的最大缺点是计算机系统的资源不能充分利用。微型机的DOS、Windows操作系统属于这一类。
(2)批处理操作系统(Batch Processing Operating System)
批处理操作系统是20世纪70年代运行于大、中型计算机上的操作系统。当时由于单用户单任务操作系统的CPU使用效率低,I/O设备资源未充分利用,因而产生了多道批处理系统,它主要运行在大中型机上。多道是指多个程序或多个作业(Multi-Programs or Multi Jobs)同时存在和运行,故也称为多任务操作系统。IBM的DOS/VSE就是这类系统。
(3)分时操作系统(Time-Sharing Operating System)
分时系统是一种具有如下特征的操作系统:在一台计算机周围挂上若干台近程或远程终端,每个用户可以在各自的终端上以交互的方式控制作业运行。
在分时系统管理下,虽然各用户使用的是同一台计算机,但却能给用户一种“独占计算机”的感觉。实际上是分时操作系统将CPU时间资源划分成极小的时间片(毫秒量级),轮流分给每个终端用户使用,当一个用户的时间片用完后,CPU就转给另一个用户,前一个用户只能等待下一次轮到。由于人的思考、反应和键入的速度通常比cpu的速度慢得多,所以只要同时上机的用户不超过一定数量,人们不会有延迟的感觉,好像每个用户都独占着计算机。分时系统的优点是:第一,经济实惠,可充分利用计算机资源;第二,由于采用交互会话方式控制作业,用户可以坐在终端前边思考、边调整、边修改,从而大大缩短了解题周期;第三,分时系统的多个用户间可以通过文件系统彼此交流数据和共享各种文件,在各自的终端上协同完成共同的任务。分时操作系统是多用户多任务操作系统,UNIX是国际上最流行的分时操作系统。此外,UNIX具有网络通信与网络服务的功能,也是广泛使用的网络操作系统。
(4)实时操作系统(Real-Time Operating System)
在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导弹的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类操作系统——实时操作系统。配置实时操作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。
(5)网络操作系统(Network Operating System)
计算机网络是通过通信线路将地理上分散且独立的计算机联结起来的一种网络,有了计算机网络之后,用户可以突破地理条件的限制,方便地使用远处的计算机资源。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。
(6)微机操作系统
微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一单用户多任务系统,经过十几年的发展,已从Windows 3.1发展到目前的Windows NT、Windows 2000和Windows XP,它是当前微机中广泛使用的操作系统之一。Linux是一个原码公开的操作系统,目前已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。
2)语言处理系统(翻译程序)
如前所述,机器语言是计算机唯一能直接识别和执行的程序语言。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。
对于高级语言来说,翻译的方法有两种:
一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。
另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。
对源程序进行解释和编译任务的程序,分别叫做编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。
3)服务程序
服务程序能够提供一些常用的服务性功能,它们为用户开发程序和使用计算机提供了方便,像微机上经常使用的诊断程序、调试程序、编辑程序均属此类。
4)数据库管理系统
在信息社会里,社会和生产活动产生的信息很多,使人工管理难以应付,人们希望借助计算机对信息进行搜集、存储、处理和使用。数据库系统(Data Base System, DBS)就是在这种需求背景下产生和发展的。
数据库是指按照一定联系存储的数据集合,可为多种应用共享。数据库管理系统(Data Base Management System, DBMS)则是能够对数据库进行加工、管理的系统软件。其主要功能是建立、消除、维护数据库及对库中数据进行各种操作。数据库系统主要由数据库(DB)、数据库管理系统(DBMS)以及相应的应用程序组成。数据库系统不但能够存放大量的数据,更重要的是能迅速、自动地对数据进行检索、修改、统计、排序、合并等操作,以得到所需的信息。这一点是传统的文件柜无法做到的。
数据库技术是计算机技术中发展最快、应用最广的一个分支。可以说,在今后的计算机应用开发中大都离不开数据库。因此,了解数据库技术尤其是微机环境下的数据库应用是非常必要的。
2应用软件
为解决各类实际问题而设计的程序系统称为应用软件。从其服务对象的角度,又可分为通用软件和专用软件两类。
1)通用软件
这类软件通常是为解决某一类问题而设计的,而这类问题是很多人都要遇到和解决的。例如:文字处理、表格处理、电子演示等。
2)专用软件
在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。
- 桃桃
-
1.3 计算机软件系统的组成
计算机软件由程序和有关的文档组成。程序是指令序列的符号表示,文档是软件开发过程中建立的技术资料。程序是软件的主体,一般保存在存储介质(如软盘、硬盘和光盘)中,以便在计算机上使用。文档对于使用和维护软件尤其重要,随着软件产品发布的文档主要是使用手册,其中包含了该软件产品的功能介绍、运行环境要求、安装方法、操作说明和错误信息说明等。某个软件要求的运行环境是指运行它至少应有的硬件和其他软件的配置,也就是说,在计算机系统层次结构中,它是该软件的下层(内层)至少应有的配置(包括对硬件的设备和指标要求、软件的版本要求等)。计算机软件按用途可分为系统软件和应用软件。
1.3.1 系统软件
系统软件是管理、监控和维护计算机资源的软件,是用来扩大计算机的功能、提高计算机的工作效率、方便用户使用计算机的软件,人们借助于软件来使用计算机。系统软件是计算机正常运转不可缺少的,一般由计算机生产厂家或专门的软件开发公司研制,出厂时写入ROM芯片或存入磁盘(供用户选购)。任何用户都要用到系统软件,其他程序都要在系统的软件支持下运行。
系统软件主要分为操作系统软件(软件的核心)、各种语言处理程序和各种数据库管理系统3类。
1. 操作系统
系统软件的核心是操作系统。操作系统是由指挥与管理计算机系统运行的程序模板和数据结构组成的一种大型软件系统,其功能是管理计算机的软硬件资源和数据资源,为用户提供高效、全面的服务。正是由于操作系统的飞速发展,才使计算机的使用变得简单而普及。
操作系统是管理计算机软硬件资源的一个平台,没有它,任何计算机都无法正常运行。在个人计算机发展史上曾出现过许多不同的操作系统,其中最为常用的有5种:DOS,Windows,Linux,Unix和OS/2,如图1-31所示为DOS操作系统和Windows操作系统的主界面。
2. 语言处理系统
语言处理系统包括机器语言、汇编语言和高级语言。这些语言处理程序除个别常驻在ROM中可以独立运行外,都必须在操作系统的支持下运行。
● 机器语言
机器语言是指机器能直接识别的语言,它是由“1”和“0”组成的一组代码指令。例如,01001001,作为机器语言指令,可能表示将某两个数相加。由于机器语言比较难记,所以基本上不能用来编写程序。
● 汇编语言
汇编语言是由一组与机器语言指令一一对应的符号指令和简单语法组成的。例如,“ADD A,B”可能表示将A与B相加后存入B中,它可能与上例机器语言指令01001001直接对应。汇编语言程序要由一种“翻译”程序来将它翻译为机器语言程序,这种翻译程序称为汇编程序。任何一种计算机都配有只适用于自己的汇编程序。汇编语言适用于编写直接控制机器操作的低层程序,它与机器密切相关,一般人也很难使用。
● 高级语言
高级语言比较接近日常用语,对机器依赖性低,是适用于各种机器的计算机语言。目前,高级语言已发明出数十种,下面介绍常用的几种,如表1-2所示。
表 1-2 常用的几种高级语言
名 称
功 能
BASIC语言
一种最简单易学的计算机高级语言,许多人学习基本的程序设计就是从它开始的。新开发的Visual Basic具有很强的可视化设计功能,是重要的多媒体编程工具语言
FORTRAN语言
一种非常适合于工程设计计算的语言,它已经具有相当完善的工程设计计算程序库和工程应用软件
C语言
一种具有很高灵活性的高级语言,它适合于各种应用场合,所以应用非常广泛
Java语言
这是近几年才发展起来的一种新的高级语言。它适应了当前高速发展的网络环境,非常适合用作交互式多媒体应用的编程。它简单、性能高、安全性好、可移植性强
有两种翻译程序可以将高级语言所写的程序翻译为机器语言程序,一种叫“编译程序”,一种叫“解释程序”。
编译程序把高级语言所写的程序作为一个整体进行处理,编译后与子程序库链接,形成一个完整的可执行程序。这种方法的缺点是编译、链接较费时,但可执行程序运行速度很快。FORTRAN,C语言等都采用这种编译方法。
解释程序则对高级语言程序逐句解释执行。这种方法的特点是程序设计的灵活性大,但程序的运行效率较低。BASIC语言本来属于解释型语言,但现在已发展为也可以编译成高效的可执行程序,兼有两种方法的优点。Java语言则先编译为Java字节码,在网络上传送到任何一种机器上之后,再用该机所配置的Java解释器对Java字节码进行解释执行。
3. 数据库管理系统
数据库是以一定的组织方式存储起来的、具有相关性的数据的集合。数据库管理系统就是在具体计算机上实现数据库技术的系统软件,由它来实现用户对数据库的建立、管理、维护和使用等功能。目前在计算机上流行的数据库管理系统软件有Oracle 8i和SQL Server 2000等。
1.3.2 应用软件
为解决计算机各类问题而编写的程序称为应用软件。它又可分为应用软件包与用户程序。应用软件随着计算机应用领域的不断扩展而与日俱增。
1. 用户程序
用户程序是用户为了解决特定的具体问题而开发的软件。编制用户程序应充分利用计算机系统的种种现成软件,在系统软件和应用软件包的支持下可以更加方便、有效地研制用户专用程序。例如:火车站或汽车站的票务管理系统、人事管理部门的人事管理系统和财务部门的财务管理系统等。
2. 应用软件包
应用软件包是为实现某种特殊功能而经过精心设计的、结构严密的独立系统,是一套满足同类应用的许多用户所需要的软件。例如:Microsoft公司发布的Office XP应用软件包,包含Word 2002(字处理)、Excel 2002(电子表格)、PowerPoint 2002(幻灯片)、Access 2002(数据库管理)等应用软件,是实现办公自动化的很好的应用软件包,还有日常使用的杀毒软件(KV3000、瑞星、金山毒霸等),以及各种游戏软件等。如图1-32所示为金山毒霸软件和Excel软件的主界面。