所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。
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)
在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导d的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类 *** 作系统——实时 *** 作系统。配置实时 *** 作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。
(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)专用软件
在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。
一般把软件分为两大类:应用软件和系统软件。一、应用软件 :是专门为某一应用目的而编制的软件。常见的应用软件有科学计算程序、图形与图像处理软件、自动控制程序、情报检索系统、工资管理程序、人事管理程序、财务管理程序以及计算机辅助设计与制造、辅助教学等软件。如:信息管理软件(如工资管理软件、人事管理软件等)、科学计算程序、文字与表格处理软件(如WPS、Word、Excel等)、图形与图像处理软件、辅助设计软件(如CAD、CAM、CAI、CAT等)。
二、系统软件 : 系统软件是指负责管理、监控和维护计算机硬件和软件资源的一种软件。系统软件用于发挥和扩大计算机的功能及用途,提高计算机的工作效率,方便用户的使用。系统软件主要包括 *** 作系统、程序设计语言及其处理程序(如汇编程序、编译程序、解释程序等)、数据库管理系统、系统服务程序以及故障诊断程序、调试程序、编辑程序等工具软件。如: *** 作系统(如DOS、Windows、UNIX、OS/2等)、语言编译和解释系统、程序设计语言(如汇编语言、BASIC、C、PASCAL等)、网络软件、数据库管理系统(如FoxBASE、Oracle等)、系统服务程序(如诊断程序等)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)