第三节 计算机系统的组成

§1-3-3 计算机软件的概念

计算机软件
   如前所述,计算机是依靠硬件和软件的协同工作来完成某一给定任务的。一个完整的计算机系统包括硬件和软件系统两大部分。
   把为了使计算机实现所预期的一系列执行步骤称为程序。程序可以用机器指令来编写,也可以用程序设计语言来编写。那么什么是计算机软件呢?广义地讲,软件是指系统中的程序以及开发、使用和维护程序所需要的所有文档的集合。
   计算机系统的软件极为丰富,要对软件进行恰当的分类是相当困难的。一种通常的分类方法是将软件分为系统软件和应用软件两大类。
系统软件
   系统软件是计算机系统的一部分,它是支持应用软件而运行的。为用户开发应用系统提供一个平台,用户可以使用它,一般不随意修改它。一般常用的系统软件如下:
 1) 操作系统OS (Operating System)
   为了使计算机系统的所有资源(包括中央处理器、存储器、各种外部设备及各种软件)协调一致,有条不紊地工作,就必须有一个软件来进行统一管理和统一调度,这种软件称为操作系统。它的功能就是管理计算机系统的全部硬件资源、软件资源及数据资源,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
   操作系统是一个庞大的管理控制程序, 它大致包括如下五个管理功能: 进程与处理机调度、作业管理、存储管理、设备管理、文件管理。实际的操作系统是多种多样的 ,根据侧重面不同和设计思想不同,操作系统的结构和内容存在很大差别。 对于功能比较完善的操作系统,应具备上述五个部分。
   操作系统一般可分为:多道批处理系统;分时系统;实时系统;网络操作系统;分布式操作系统;单用户操作系统等。目前在微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows98、NetWare、Windows NT等。
 (1) 实时操作系统是对外来的作用和信号,在限定时间范围内能作出响应的系统。常用的系统有RDOS等。
 (2) 分时操作系统对一台CPU 连接多个终端,CPU 按照优先级分配给各个终端时间片,轮流为各个终端服务,由于计算机高速的运算,使每个用户感觉到自己独占这台计算机。 常用的系统有 UNIX、XENIX、LINUX等。
 (3) 批处理操作系统是以作业为处理对象,连续处理在计算机系统运行的作业流。
 (4) 单用户操作系统按同时管理的作业数可分为单用户单任务操作系统和单用户多任务操作系统。单用户单任务操作系统只能同时管理一个作业运行,CPU运行效率低,如DOS。单用户多任务操作系统允许多个程序或多个作业同时存在和运行。目前常用的操作系统有:Windows 3.x 是基于图形界面的16位单用户多任务的操作系统,近年来广泛用于个人微机。Windows 95或Windows98 是继Windows3.x后对Windows操作系统的一次重大升级,是32位多任务操作系统,具有支持接口板的"即插即用";支持USB;内建的网络功能,可以方便地联网;提供Internet等新功能,可以在Windows中访问的Internet信息服务。
 (5) 网络操作系统(NOS)运行在局域网上的操作系统。目前,常用的网络操作系统有NetWare和Windows NT。  NetWare是Novell公司的产品 ,是一个基于文件服务和Novell目录服务的网络操作系统,它能支持各种智能化网络解决方案。想更多地了解Netwell,请查阅网址:http://www.novell.com.cn。Windows NT是Microsoft公司的产品,是基于图形界面32位多任务的,对等的网络操作系统。Windows NT支持对称多处理器系统。Windows NT有两种产品, Windows NT Workstation作为工作站上使用的操作系统,Windows NT Server是网络服务器操作系统。Windows NT Servers分标准版和企业版, 标准版支持4个以下CPU的对称多处理系统,企业版4个以上CPU的对称多处理系统。想更多地了解Windows NT,请查阅网址:http://www.microsoft.com.
语言处理程序
  编写计算机程序所用的语言是人与计算机之间交换的工具,一般可分为机器语言、汇编语言和高级语言。
 (l)机器语言(Machine Language)
机器语言是计算机系统所能识别的,不需要翻译直接供机器使用的程序设计语言。机器语言中的每一条语句(机器指令)实际是条二进制形式的指令代码,它由操作码的二进制编码和操作数的二进制编码组成。它的指令二进制代码通常随CPU型号的不同而不同(同系列CPU一般向下兼容)。通常不用机器语言直接编写程序。
 (2)汇编语言( Assemble Language)
汇编语言是一种面向机器的程序设计语言,它是为特定的计算机或计算机系列设计的。汇编语言采用一定的助记符号表示机器语言中的指令和数据,即用助记符号代替了二进制形式的机器指令。这种替代使得机器语言“符号化”,所以也称汇编语言是符号语言。每条汇编语言的指令就对应了一条机器语言的代码,不同型号的计算机系统一般有不同的汇编语 言。
    汇编语言的指令可分为硬指令、伪指令和宏指令三类。硬指令是和机器指令—一对应的汇编指令。伪指令是由汇编语言需要而设立的,它不能够像硬指令那样对应机器指令。它的作用是指示汇编程序完成某些特殊的功能。宏指令是用硬指令和伪指令定义的可在程序中使用的指令。一条宏指令相当于若干条机器指令,使用宏指令可以使程序简单明了。
  但是,计算机硬件只能识别机器指令,执行机器指令,对于用助记符表示的汇编指令是不能执行的。汇编语言编写的程序要执行的话,必须用一个程序将汇编语言程序翻译成机器语言程序,用于翻译的程序称为汇编程序(汇编系统)。
  汇编程序是将用符号表示的汇编指令码翻译成为与之对应的机器语言指令码。用汇编语言编写的程序称为源程序,变换后得到的机器语言程序称为目标程序。
 (3)高级语言
    从20世纪50年代中期开始到70年代陆续产生了许多“高级算法语言”,这些高级算法语言中的数据用十进制来表示,语句用较为接近自然语言的英文字来表示。它们比较接近于人们习惯用的自然语言和数学表达式,因此称为高级语言。高级语言具有较大的通用性,尤其是有些标准版本的高级算法语言,在国际上都是通用的。用高级语言编写的程序能使用在不同的计算机系统上。
  但是,对于高级语言编写的程序计算机是不能识别和执行的。要执行高级语言编写的程序,首先要将高级语言编写的程序翻译成计算机能识别和执行的二进制机器指令,然后供计算机执行。
    一般将用高级语言编写成的程序称为“源程序”,而把由源程序翻译成的机器语言程序或汇编语言程序称为“目标程序”。把用来编写源程序的语言(高级语言或汇编语言)称为源语言,而把和目标程序相对应的语言(汇编语言或机器语言)称为目标语言。
    计算机将源程序翻译成机器指令时,通常分两种翻译方式:一种为“编译”方式,另一种为“解释”方式。所谓编译方式是首先把源程序翻译成等价的目标程序,然后再执行此目标程序。而解释方式是把源程序逐句翻译,翻译一句执行一句,边翻译边执行。解释程序不产生将被执行的目标程序,而是借助于解释程序直接执行源程序本身。一般将高级语言程序翻译成汇编语言或机器语言的程序称为编译程序。常用的高级语言有:
 ·FORTRAN语言在1954年提出,1956年实现的。适用于科学和工程计算,目前应用面还较广。
 ·PASCAL语言是结构化程序设计语言,适用于教学、科学计算、数据处理和系统软件开发等,目前逐渐被C语言所取代。
 ·C语言程序简练、功能强,适用于系统软件、数值计算、数据处理等,目前成为高级语言中使用得最多的语言之一。现在较常用的C语言VisualC十+是面向对象的程序设计语言。
 ·BASIC语言是初学者语言,简单易学,人机对话功能强。至今BASIC语言已有许多高级版本,尤其Visual Basic For Windows是面向对象的程序设计语言, 给非计算机专业的广大用户在Windows环境下开发软件带来了福音。
 ·Java语言是一种新型的跨平台分布式程序设计语言。Java以它简单、安全、可移植、面向对象、多线程处理和具有动态等特性引起世界范围的广泛关注。Java语言是基于C++的,其最大特色在于“一次编写,处处运行”。但Java语言编写的程序要依靠一个虚拟机VM(Virtual Machine)才能运行。
联接程序
   联接程序又称为组合编译程序或联接编译程序。它可以把目标程序变为可执行的程序。几个被分割编译的目标程序,通过联接程序可以组成一个可执行的程序。将源程序转换成可执行的目标程序一般分为两个阶段:
 ·翻译阶段。提供汇编程序或编译程序将源程序转换成目标程序。这一阶段的目标模块由于没有分配存储器的绝对地址,仍然是不能执行的。
 ·联接阶段。这一阶段是用联接编译程序把目标程序以及所需的功能库等转换成一个可执行的装入程序。这个装入程序分配有地址,是一可执行程序。从源程序输入到可执行的装入程序的过程如图1.3.4
诊断程序
   诊断程序主要用于对计算机系统硬件的检测。 能对CPU、内存、软硬驱动器、显示器、键盘及I/O接口的性能和故障进行检测。对于微机目前常用的诊断程序有QAPLUS、PCBENCH、WINBENCH、WINTEST、CHECKITPRO等。
数据库系统
   数据库系统是60年代后期才产生并发展起来的,它是计算机科学中发展最快的领域之一。主要是面向解决数据处理的非数值计算问题,目前主要用于档案管理、财务管理、图书资料管理及仓库管理等的数据处理。这类数据的特点是数据量比较大,数据处理的主要内容为数据的存储、查询、修改、排序、分类等。数据库技术是针对这类数据的处理而产生发展起来的,至今仍在不断地发展、完善。
   数据库系统是一个复杂的系统,通常所说的数据库系统并不单指数据库和数据库管理系统本身,而是将它们与计算机系统作为一个总体而构成的系统看作数据库系统。数据库系统通常由硬件、操作系统、数据库管理系统(DataBase Management System,简称DBMS)、数据库及应用程序组成。
   数据库是按一定的方式组织起来的数据的集合,它具有数据冗余度小、可共享等特点。数据库管理系统的作用是管理数据库。一般具有:建立数据库、编辑、修改、增删数据库内容等对数据的维护功能:对数据的检索、排序、统计等使用数据库的功能:友好的交互式输入/输出能力:使用方便、高效的数据库编程语言;允许多用户同时访问数据库;提供数据独立性、完整性、安全性的保障。
   不同的数据库管理系统是以不同方式将数据组织到数据库中,组织数据的方式称为数据模型。数据模型一般有三种形式:层次型——采用树型结构组织数据;网络型——采用网状结构组织数据;关系型——以表格形式组织数据。目前,常用的DBMS有:DB2、SQLServer、
SYBASE、ORACLE等。
数据仓库
   数据仓库是近年来迅速发展起来的一种存储技术,是近两年来计算机领域的一个热门话题,也是今后数据库市场的一个主要增长点。 什么是数据仓库?目前,业界对数据仓库还没有一个统一的定义。但几乎一致的观点是:数据仓库绝不是数据的简单堆积。被誉为数据仓库之父的Bill lnmon对数据仓库是这样定义的:“数据仓库是面向主题的、集成化的、稳定的、随时间变化的数据集合,用以支持决策管理的一个过程”。所以,数据仓库的主要服务对象 是企业或机构中的高层领导或决策人士,是向他们提供分析型战略数据的一种数据存储与管理方式。显然,数据仓库的基础是数据库,但又不同于数据库。它存储大量的、决策分析所必需的、历史的、分散的、详细的操作数据,经过处理能将这些数据转换成集中统一、随时可用的信息。目前,几家主要的数据库厂商和软件厂商都加入到数据仓库产品的开发中来。
应用软件
   应用软件是指计算机用户利用计算机的软、硬件资源为某一专门的应用目的而开发的软件。例如:科学计算、工程设计、数据处理、事务管理、过程控制等方面的程序。
 1)文字处理软件:
    主要用于将文字输入到计算机,存储在外存中,用户能对输入的文字进行修改、编辑、并能将输入的文字以多种字体、多种字型及各种格式打印出来。目前常用的文字处理软件有WPS、Microsoft Word等。
  2)表格处理软件:
    表格处理软件主要处理各式各样的表格。它可以根据用户的要求自动生成各式各样的表格,表格中的数据可以输入也可以从数据库中取出。可根据用户给出的计算公式,完成复杂的表格计算,计算结果自动填入对应栏目里。如果修改了相关的原始数据,计算结果栏目中的结果数据也会自动更新,不需用户重新计算。 一张表格制作完后,可存入外存,方便以后重复使用。也可以通过打印机将表格打印出来。目前常用的表格处理软件有Microsoft公司的Excel等。
  3)辅助设计软件:
  计算机辅助设计(CAD)技术作为近二十年来最具有成效的工程技术之一。 由于计算机有快速的数值计数、较强的数据处理以及模拟的能力,因此目前在汽车、飞机、船舶、超大规模集成电路VLSI等设计、制造过程中,CAD占据着越来越重要的地位。 计算机辅助设计软件能高效率地绘制、修改、输出工程图纸。设计中的常规计算帮助设计人员寻找较好的方案。设计周期大幅度缩短,而设计质量却大为提高。应用该技术能使各行各业的设计人员从繁重的绘图设计中解脱出来,使设计工作计算机化。目前常用的软件有AutoCAD等;
  4)实时控制软件:
    在现代化工厂里,计算机普遍用于生产过程的自动控制,例如,在化工厂中,用计算机控制配料、温度、阀门的开闭;在炼钢车间,用计算机控制加料、炉温、冶炼时间等;在发电厂,用计算机控制发电机组等。
    用于生产过程自动控制的计算机一般都是实时控制,对计算机的速度要求不高,但可靠性要求很高,否则会生产出不合格产品,或造成重大事故。
    用于控制的计算机,其输入信息往往是电压、温度、压力、流量等模拟量,要先将模拟量转换成数字量,然后计算机才能进行处理或计算。处理或计算后,以此为依据根据预定的控制方案对生产过程进行控制。这类软件一般统称为SCADA(Supervisory Control And Data
Acquisition,监察控制和数据采集)软件。目前,比较流行的PC机上的SCADA软件有FIX、
InTouch、Lookout等。
 


7上一页  1 2 3 4 下一页8