1
计算机应用基础
1.4.2.2 二、软件系统
二、软件系统

软件是指计算机系统中使用的各种程序,而软件系统是指控制整个计算机硬件系统工作的程序集合。软件系统的主要作用为:使计算机的性能得到充分发挥,人们通过软件系统可以实现不同的功能,软件系统的开发是根据人们的需求进行的。

计算机软件系统一般可分为系统软件和应用软件两大类。

1.系统软件 系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无须用户干预的各种程序的集合,主要功能是调度、监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及底层每个硬件是如何工作的。在计算机软件中,最重要且最基本的就是操作系统(operating system,OS),它是最底层的软件,它控制所有计算机运行的程序并管理整台计算机的资源,是计算机裸机与应用程序及用户之间的桥梁。没有操作系统,用户就无法使用某种软件或程序。操作系统是计算机系统的控制和管理中心,从资源角度来看,它具有处理机、存储器管理、设备管理、文件管理四项功能。

常用的操作系统有DOS操作系统、Windows操作系统、UNIX操作系统和Linux、Netware等。

2.应用软件 应用软件(application software)是用户可以使用的各种程序设计语言以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。如通过Word可以编辑一篇文章,通过PhotoShop可以绘制和处理图片,通过Windows Media Player可以播放VCD影碟等。

3.指令、程序与计算机语言 指令是计算机执行某种操作的命令,由操作码和地址码组成。其中操作码规定操作的性质,地址码表示操作数和操作结果存放的地址。

程序是为解决某一问题而设计的一系列有序的指令或语句的集合。

使用计算机就必须和其交换信息,为解决人机交互的语言问题,就产生了计算机语言(computer language)。计算机语言是随着计算机技术的发展,根据解决问题的需要而衍生出来,并不断优化、改进、升级和发展的。其中包括以下几种语言。

(1)机器语言:电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。

因此,程序就是一个个的二进制文件。一条机器语言称为一条指令,指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言是第一代计算机语言。

(2)汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进,即用一些简洁的英文字母、符号串来替代一个特定指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等。这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。

汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精练且质量高,所以至今仍是一种常用而强有力的软件开发工具。

(3)高级语言:在最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言——FORTRAN问世了,60年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、PL/1、Pascal、C、C++、C#、VC、VB、JAVA等。高级语言的下一个发展目标是面向应用,也就是说,只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。

综上所述,计算机系统由硬件系统和软件系统两部分组成,软件系统的运行需要建立在硬件系统都正常工作的基础下。