第1章 概 述
教学提示:本章主要讲授计算机的发展概况;计算机软件发展的几个阶段;计算机系统的组成;计算机软件的分类以及常用的系统软件和应用软件的介绍。
教学要求:了解计算机的发展过程;掌握计算机软件发展经历的几个阶段;了解常用的高级语言;了解计算机网络软件及数据库软件;掌握软件的分类;简单介绍常用的工具软件。
1.1 计算机软件的发展
计算机是由一系列电子元件组成的、具有处理信息能力的机器。世界上第一台计算机是1946年在美国的宾西法尼亚大学研制成功的。计算机诞生60多年来,发展极为迅速,更新换代非常快。计算机先后以电子管、晶体管、集成电路、大规模和超大规模集成电路为主要元器件,共经历了四代变革,现在已进入第五代的研制时期。每一代的变革在技术上都是一次新的突破,在性能上都是一次质的飞跃。
第一代为电子管时代(1946年—1957年)。在这个阶段计算机的逻辑器件采用电子管,通常称为电子管计算机。它的内存容量很小,仅有几千字节,运算速度低,且成本很高。
第二代为晶体管时代(1958年—1964年)。与第一代相比,该阶段计算机的主要逻辑器件采用晶体管,即晶体管计算机。存储器由磁心构造,内存容量扩大到几十千字节。
第三代为集成电路时代(1965年—1972年)。在这个阶段计算机的主要逻辑器件采用集成电路。不仅使计算机体积大大减小,耗电显著降低,而且使运算速度大大提高。
第四代为大规模和超大规模集成电路时代(1972 年至今)。在这个阶段计算机的逻辑器件采用大规模集成电路(LSI)。这一代计算机的性能较前三代有较大提高,主要依靠器件的变革和系统结构的改进,而新一代计算机总是朝着体积小、耗电少、速度快、最优性价比及使用方便等方向发展。
第五代为超大规模集成电路和人工智能计算机时代,目前尚处于研制阶段。第五代计算机是超大规模集成电路、高级软件工程、人工智能、新型计算机系列的综合产物。它是一种更接近人的人工智能计算机,它能理解人的语言、文字和图形,无须编写程序,靠讲话就能对计算机下达命令,驱使它工作。它能将一种知识信息与相关的知识信息连贯起来,作为对某一知识领域具有渊博知识的专家系统,成为人们从事某方面工作的得力助手和参谋。第五代计算机是能“思考”的计算机,能够帮助人们进行推理和判断,具有逻辑思维能力。第五代计算机的工作原理与前四代计算机的工作原理有根本区别,它与近年来发展的“人工智能”密切相关。当第五代计算机问世以后,它提供的先进功能必将为人类进入信息化的社会以及摆脱掉传统计算机的技术限制,提供一种强有力的工具。
在整个计算机的发展过程中,随着计算机硬件技术的不断发展及广泛应用,其计算机软件也正逐步丰富与完善,而软件的发展又大大促进了硬件的发展,最终成为一个完整、
计算机软件技术基础
·2·
统一的整体。
从1955年世界上第一家独立软件公司CUC(计算机惯用法)公司在美国成立到今天计算机软件经历了60多年的发展,计算机软件正逐步走向成熟。其发展由最先的汇编语言发展到如今的C++、Java等高级语言,形成了UNIX、Windows等操作系统,随着网络技术的快速发展和人们逐渐步入信息时代,出现了许多网络软件和数据库软件。
1.1.1 汇编语言的出现
计算机能够直接识别的数据是由二进制数“0”和“1”组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作,用机器指令或称机器语言编写的程序是计算机唯一能够直接识别并执行的程序。这种程序的设计相当麻烦,要求程序设计人员熟记计算机的全部指令,工作量很大而且容易出错又不易于修改。编制和调试一个稍大一点的程序常常要花费很长时间,培养一个熟练的程序员更需要经过长期的训练和实习,这种局面严重地影响了计算机的普及和应用。而且由于各种计算机的机器指令不尽相同,所编制的程序只适用于某一特定的机器,因此局限性很大。为了摆脱这种机器
指令编码的困难,出现了用助记符来编制程序的办法。人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。汇编语言助记符通常使用指令功能英文单词的缩写,以便记忆。例如,用ADD表示加法,用MOV 表示传送等。用助记符和符号地址来表示指令,既容易辨认,又缩短了冗长的书写,给程序的编写带来了极大的方便。
汇编语言比较直观、易懂、易用,而且容易记忆。用汇编语言编写的程序质量高、执行速度快,占用内存空间少,因此常用于编写系统软件、实时控制程序和用于直接控制计算机的外部设备或接口数据输入/输出(I/O)程序等。
汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。然而计算机只能识别和理解用二进制代码表示的机器指令,不能识别和理解指令助记符。因此,用汇编语言编写的程序必须翻译成为计算机可以读懂的机器语言,称为目标程序,机器才能执行并计算出结果。这个翻译工作是由预先装入计算机中的“汇编程序”完成的。汇编程序是一种“编译”程序,计算机有了它,才能允许用户在该计算机上使用汇编语言编写程序。用汇编语言编写的程序称为汇编源程序。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。汇编程序是计算机必不可少的软件。
由于汇编语言和机器语言一样也是依赖于机器的,因此也被称为面向机器的语言。它通用性差,使用也不方便。机器语言和汇编语言一般都被称为低级语言。
1.1.2 高级语言的出现
使用汇编语言编写程序,虽然比用机器语言方便得多,但它仍没有摆脱计机器指令的束缚,这对于发挥人们的抽象思维和学术交流十分不便。人们需要有更接近思维逻辑习惯,容易读、写和理解,且有很强描述解题方法的程序设计语言。为了解决这些问题,出现了高级语言程序。
·2·
第1章概述 ·3·
用高级语言编写程序是用一系列的语句(或函数)组成的。每条语句常常可以对应几条、十几条,甚至几十、上百条机器指令,所以用高级语言编写计算机程序大大提高了编程效率。高级语言的出现大大简化了程序设计,缩短了解题周期,因此显示出强大的生命力。它使得程序编制工作可以从专职程序设计人员手中解放出来。此后,编制程序已不再只是软件专业人员才能做的事了,一般工程技术人员花上较短的时间学习,也可以使用计算机解题。
计算机只能执行机器语言程序,用汇编语言或高级语言编写的程序称为源程序,计算机是不能识别和执行的。因此必须配备一种工具,它的任务就是把用汇编语言或高级语言编写的源程序“翻译”成机器可执行的机器语言程序。这个工具就是编译程序。
编译程序的主要功能是把用高级语言编写的源程序加工成机器语言写的目标程序,并通过连接程序将目标程序连接成可立即执行的程序,如图1.1所示。
图1.1 编译程序的过程
随着计算机的应用日益广泛地渗透到各学科和技术领域,发展了一系列不同风格的、为不同目标服务的程序设计语言。其中较为著名的有FORTRAN、COBOL、ALGOL、LISP、C、PASCAL、FoxPro、BASIC、LOGO、FoxBASE+等十几种语言。在不断设计出新的高级语言的同时,这些程序设计语言本身也在不断地发展。如BASIC发展为Visual BASIC,FoxPro发展为Visual FoxPro,C发展为Visual C++。下面对几种常用的程序设计语言的功能和特点作简单介绍。
FoxBASE+是一种较早的数据库开发系统。现在随着FoxPro、PB等在功能和易用性上更出的数据库开发系统的问世和不断发展,FoxBASE+的应用已经日趋减少。FoxPro 提供了一个优秀的可视化集成开发环境,可以有效地提高程序的开发效率。另外,Visual FoxPro3.0及其后续版本还支持面向对象的编程方法,使程序中可以引入封装和继承等机制。
C语言是一种通用的程序设计语言。C语言的表达能力较强,支持较丰富的数据类型,具有结构化的控制
语句。C语言生成的代码质量较高,编写的程序可移植性好,而其效率降低不大,所以C语言成为编写系统软件和应用软件比较理想的工具。C++是在C语言的基础上融入了面向对象的编程思想而发展起来的。利用面向对象中的封装、继承、多态等机制,可以提高程序的正确性、易维护性、可读性和可重用性,有利于程序开发的分工合作。
Visual C++是Microsoft公司推出的C++可视化开发工具,用于开发基于Windows平台的应用程序。由于使用Visual C++及其附带的MFC(Microsoft Foundation Classes,一套Windows程序开发类库)可以开发功能强大的32位应用程序,使其在同类产品中占据了主导地位。
Visual BASIC是Microsoft公司推出的BASIC语言的可视化开发工具。Visual BASIC 可以通过可视化开发工具,使编程人员方便地创建应用程序,并提供了相当丰富的各种功能的控件,可直接提供程序调用。
·3·
计算机软件技术基础
·4·
Java是Sun公司1995年5月推出的一种面向对象的解释执行的编程语言。它具有和C++类似的语法,且具有完全面向对象、与平台无关及多线性等特点。随着Internet的迅速普及,Java在编制Applet(小应用
程序)中越来越受到Internet用户的欢迎。
1.1.3 操作系统的形成
为了要促使计算机所有资源,包括各种软硬件资源能够统一协调的工作,就要有一个功能强大的管理软件进行统一调度和管理。这个软件称为操作系统。
操作系统就是在人们不断地改善计算机性能和提高资源利用率的过程中,逐步地形成和发展起来的,先后经历了手工操作阶段、早期批处理阶段、执行系统阶段和操作系统的形成与发展阶段。在手工操作阶段,计算机没有操作系统,甚至没有任何软件。早期计算机的工作基本采用人工操作方式。由操作员将纸带或卡片装入纸带输入机,以把程序和数据输入计算机,当程序运行完毕,由用户取走纸带和计算结果后,才让下一个用户使用计算机。在使用方式上是单用户独占,即每次只能是一个用户使用计算机,全部资源由该用户占有。并且在一个作业运行过程中,以及在作业完成后转换到另一个作业都需要很多人工的干预。随着计算机运算速度的大幅度提高,规模的扩大,这种手工操作方式严重损害了资源的利用率。
早期批处理系统是把若干个作业合成一批,用一台或多台小型卫星机把这批作业输入到磁带上,然后再把这盘磁带装到主机的磁带机上,由主机的监督程序——最早的操作系统雏形——把磁带上的作业依次调入主存中执行。
到了20世纪60年代,通道技术的引进和中断技术的发展,使得操作系统进入了执行系统阶段。所谓通道是专门用来控制I/O设备的处理器,称之为I/O处理器。它可以与CPU 并行工作。这样当需要传输数据时,CPU只要命令通道去完成就行了。当通道完成传输工作后,用中断机构向CPU报告完成情况,这样就可以把原来由CPU直接控制的I/O工作转移给通道,使得CPU的资源可及时地全部用来进行主要的数据处理工作。
但是如果在内存中仍然只存放一个用户作业在其中运行,那么在CPU等待通道传输数据过程中,CPU仍然因无工作可作而处于空闲状态。若是在内存中存放多个作业,那么在CPU等待一个作业传输数据时,就可转去执行内存中的其他作业,从而保证CPU以及系统中的其他设备得到尽可能充分的利用。
在内存中同时存放有多个作业,使之处于运行状态的系统称之为多道批处理系统。多道批处理系统是指在内存中存放多道用户的作业,使之同时处于运行状态,这些作业共享处理器时间和外部设备等系统资源。当一道程序因I/O请求而暂停执行时,CPU便立即转去执行另一道程序。引入多道批处理技术的根本目的是提高CPU的利用率,充分发挥其并行性。
多道批处理系统缺少人机交互能力,因此用户使用不便。为解决这一问题,人们开发了分时系统。所谓分时系统,就是在一台计算机上,连接若干个终端,用户通过这些联机终端设备采用交互方式把他的程序和数据输入到计算机中,并同时控制程序的执行。一台主机可以连接几台以至上百台终端,每个用户可以通过终端与主机进行交互作用。
为了满足某些应用领域内对实时(表示“及时”或“即时”)处理的需求,人们开发出实时系统。所谓实时系统是指能使计算机系统接收到外部信号后及时进行处理,并且在严·4·
第1章概述 ·5·
格的规定时间内完成处理,再给出反馈信号的操作系统。实时系统具有专用性,不同的实时系统用于不同的应用领域。它有3种典型的应用形式,即过程控制系统(如工业生产自动控制、卫星发射自动控制)、信息查询系统(如仓库管理系统、图书资料查询系统)和事务处理系统(如飞机订票系统、银行管理系统)。与分时系统相比,实时系统要求有更高的可靠性和更严格的及时性。
多道批处理和分时系统的出现,标志着操作系统的正式形成。随着计算机技术的不断进步随后又出现了网络操作系统和分布式操作系统。
1.1.4 计算机网络软件和数据库软件的出现
1. 计算机网络软件
随着计算机应用的深入,特别是家用计算机的普及,越来越多的用户希望能共享信息资源,更希望各计算机之间能互相传递信息,进行通信。这就促使计算机向网络化发展,将分散的计算机联网,组成计算机网络系统。
计算机网络软件是现代通信技术和计算机技术相结合的产物。它利用通信线路把地理位置不同的多个独立的计算机系统进行互联,实现网络资源(包括硬件、软件和数据信息)共享的系统。
计算机网络通常按照其规模大小和延伸距离远近(网络的地理位置)可划分为局域网、城域网和广域网。局域网(LAN)的覆盖范围一般在方圆几十米到几千米。典型的范例是一个办公室、一个办公楼及一个园区范围内的网络。当网络的覆盖范围达到一个城市的大小时,就称为城域网(MAN)。网络覆盖到多个城市甚至全球的时候,就属于广域网(WAN)的范畴了。我国著名的公共广域网是ChinaNet、ChinaPAC、ChinaFrame、ChinaDDN等。大型企业、院校、政府机关通过租用公共广域网的线路,可以构成自己的广域网。
网络操作系统是管理网络软件和硬件资源的灵魂,其性能直接影响着网络系统的功能。网络操作系统除了具有通常操作系统应具有的处理器管理、存储器管理、设备管理、作业管理和文件管理的功能外,还应具有以下两大功能:一是提供高效、可靠的网络通信能力;二是提供多种网络服务功能,如远程作业录入并进行处理的服务功能、文件传输服务功能、服务功能、远程打印服务功能等。
目前,在局域网中使用的网络操作系统有UNIX网络操作系统、NetWare操作系统和Windows操作系统。
2. 数据库管理软件
随着信息管理水平的不断提高,应用范围的日益广泛,信息已成为企业的重要财富和资源,因此管理信息的数据库技术也得到了很大的发展,其应用领域也越来越广泛。
数据库是存储数据的仓库。数据管理历经从人工管理阶段、文件管理阶段到数据库系统阶段的变迁。
计算机软件的组成下面一段话概括出数据库具备的一些特征,也可作为数据库的定义。
数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完
·5·
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论