计算机软件技术基础知识_第1页
计算机软件技术基础知识_第2页
计算机软件技术基础知识_第3页
计算机软件技术基础知识_第4页
计算机软件技术基础知识_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机软件技术基础知识3.1 3.1 软件技术基础本节内容本节内容: :、基础知识、基础知识、数据结构基础、数据结构基础、 操作系统操作系统、编译基础、编译基础 计算机软件的概念计算机软件的概念 计算机软件就是计算机程序再加上该程计算机软件就是计算机程序再加上该程序所需的各种文档。软件和程序是不同的概序所需的各种文档。软件和程序是不同的概念,程序是使计算机实现所预期的目的而编念,程序是使计算机实现所预期的目的而编写的一系列的计算机语言(或命令)的集合。写的一系列的计算机语言(或命令)的集合。文档是描写程序操作及使用的有关资料。软文档是描写程序操作及使用的有关资料。软件作为一种特殊产品,计算机程

2、序和文档是件作为一种特殊产品,计算机程序和文档是缺一不可的。因此,软件是计算机程序加上缺一不可的。因此,软件是计算机程序加上该程序所需的各种文档。从广义上讲,软件该程序所需的各种文档。从广义上讲,软件应包括程序、相应的数据以及有关的知识和应包括程序、相应的数据以及有关的知识和文档三部分。数据是指程序能正常加工信息文档三部分。数据是指程序能正常加工信息的原料。程序是软件的主体,是可执行部分,的原料。程序是软件的主体,是可执行部分,由算法和语言组成。由算法和语言组成。 、基础知识、基础知识 计算机软件的种类计算机软件的种类 按照不同的原则和标准,可将计算机软件按照不同的原则和标准,可将计算机软件划

3、归不同的种类。一般从应用的角度出发,将划归不同的种类。一般从应用的角度出发,将软件划分为系统软件和应用软件两大类。软件划分为系统软件和应用软件两大类。(1)系统软件)系统软件 系统软件是指对整个计算机系统进行管理、系统软件是指对整个计算机系统进行管理、调度、监控、维护的软件,即为其他程序服务调度、监控、维护的软件,即为其他程序服务的程序的集合。主要包括以下几种:操作系统的程序的集合。主要包括以下几种:操作系统 、语言处理程序语言处理程序 、服务程序、服务程序 、数据库管理系统、数据库管理系统 、网络通讯管理程序网络通讯管理程序 。 (2 2) 应用软件应用软件 应用软件是直接服务于用户的程序系

4、统。应用软件是直接服务于用户的程序系统。它一般包括两类:它一般包括两类:w实用程序:实用程序: 是指为用户特定需要而开发的程是指为用户特定需要而开发的程序。如订票系统、图书情报检索系统、工作序。如订票系统、图书情报检索系统、工作管理系统、辅助教学系统等等。管理系统、辅助教学系统等等。w工具软件:是为了用户使用方便而提供的软工具软件:是为了用户使用方便而提供的软件工具,如文字表格处理软件件工具,如文字表格处理软件EXCELEXCEL、字处理、字处理软件软件WORDWORD、电子演示文稿软件、电子演示文稿软件POWERPOINTPOWERPOINT、计算机辅助制图软件计算机辅助制图软件AUTOCA

5、DAUTOCAD等等等等。 计算机软件技术发展过程计算机软件技术发展过程 计算机软件技术是随着计算机硬件发展而发计算机软件技术是随着计算机硬件发展而发展的。展的。 计算机产生的早期,人们主要进行计算机硬计算机产生的早期,人们主要进行计算机硬件的研制,此时编制的软件作为硬件的附属品件的研制,此时编制的软件作为硬件的附属品存在,软件的效率与功能均受到限制。随着硬存在,软件的效率与功能均受到限制。随着硬件技术的发展,对软件技术提出了更高的要求,件技术的发展,对软件技术提出了更高的要求,要使硬件发挥其效率和功能,必须配备完善的要使硬件发挥其效率和功能,必须配备完善的软件系统,软件技术作为独立的分支得到

6、迅速软件系统,软件技术作为独立的分支得到迅速和充分的发展。和充分的发展。 硬件与软件相互依存,相互推动,缺一不可,硬件与软件相互依存,相互推动,缺一不可,共同构成了一个计算机系统。从共同构成了一个计算机系统。从20世纪世纪60年代年代高级语言出现到今天,软件技术的发展主要经高级语言出现到今天,软件技术的发展主要经历了三个阶段历了三个阶段:w(1 1)6060年代高级语言阶段年代高级语言阶段 2020世纪世纪5050年代末,年代末,John Backus John Backus 首先完成首先完成了了FORTRANFORTRAN的编译系统,此后的十年中,不同的编译系统,此后的十年中,不同的应用领域

7、出现了的应用领域出现了ALGOL60 ALGOL60 、COBOL COBOL 、LISPLISP等等高级语言。直到高级语言。直到6060年代末出现的年代末出现的PL/1PL/1、ALGOL68 ALGOL68 对这一时期的语言作一总结。此阶段,对这一时期的语言作一总结。此阶段,编译技术代表了整个软件技术,软件工作者追编译技术代表了整个软件技术,软件工作者追求的主要目标是设计和实现再控制和数据结构求的主要目标是设计和实现再控制和数据结构方面表现力强的高级语言。这一时期内,编译方面表现力强的高级语言。这一时期内,编译系统主要靠手工编制,自动化程度低。系统主要靠手工编制,自动化程度低。w(2 2)

8、2020世纪世纪7070年代结构化程序设计阶段年代结构化程序设计阶段 2020世纪世纪7070年代是计算机技术高度发展的时代。年代是计算机技术高度发展的时代。这一时期,操作系统软件迅速发展,数据库成为这一时期,操作系统软件迅速发展,数据库成为独立的发展领域,计算机网络技术也得以发展。独立的发展领域,计算机网络技术也得以发展。同时,随着计算机应用领域的不断扩大,计算机同时,随着计算机应用领域的不断扩大,计算机软件的规模增大,复杂性增加,从而造成软件的软件的规模增大,复杂性增加,从而造成软件的可靠性较差,产生了可靠性较差,产生了“软件危机软件危机”。在此种背景。在此种背景下,产生和发展了程序设计方

9、法学和软件工程学。下,产生和发展了程序设计方法学和软件工程学。软件工程是指导软件开发和维护的工程科学,它软件工程是指导软件开发和维护的工程科学,它采用工程的概念、原理、技术和方法来开发和维采用工程的概念、原理、技术和方法来开发和维护软件产品。应用软件工程的方法,目的是提高护软件产品。应用软件工程的方法,目的是提高软件产品的质量和软件生产率,降低软件产生开软件产品的质量和软件生产率,降低软件产生开发成本。发成本。(3 3)2020世纪世纪8080年代至今自动程序设计阶段年代至今自动程序设计阶段 2020世纪世纪8080年代软件设计技术进入成熟期,向集成化、一体化方向发展。年代软件设计技术进入成熟

10、期,向集成化、一体化方向发展。这一时期,集成电路的迅速发展使个人计算机得到了迅速发展,个人计算这一时期,集成电路的迅速发展使个人计算机得到了迅速发展,个人计算机与软件工程相结合出现了软件开发环境,称为软件工程支撑环境,又称机与软件工程相结合出现了软件开发环境,称为软件工程支撑环境,又称为为CASECASE(computer aided software engineeringcomputer aided software engineering)。它支持软件开发和)。它支持软件开发和维护的全过程,即从用户需求定义、功能规格说明、设计规格说明、直到维护的全过程,即从用户需求定义、功能规格说明、设

11、计规格说明、直到可执行代码的全部开发过程,最大程度的借助于计算机系统自动进行,是可执行代码的全部开发过程,最大程度的借助于计算机系统自动进行,是一个计算机自动管理的巨型系统。同时,程序设计的基本方法进一步得到一个计算机自动管理的巨型系统。同时,程序设计的基本方法进一步得到改善,如产生了第四代语言(改善,如产生了第四代语言(4GL4GL)和面向对象的程序设计方法。)和面向对象的程序设计方法。2020世纪世纪8080年代以来出现了好多面向对象的程序设计语言,以年代以来出现了好多面向对象的程序设计语言,以C+C+应用最为广泛。应用最为广泛。C+C+是是C C语言的一个超集,它保留了语言的一个超集,它

12、保留了C C语言中几乎全部优点,并在此基础之语言中几乎全部优点,并在此基础之上加上了面向对象的特点。上加上了面向对象的特点。JAVAJAVA由由C+C+发展而来,可在发展而来,可在Internet Internet 网络上分网络上分布执行的程序设计语言。布执行的程序设计语言。JAVAJAVA语言的重要特点是可在任何一个硬件和软件语言的重要特点是可在任何一个硬件和软件平台上运行,具有分布性、可移植性、稳定性、安全性等特点。平台上运行,具有分布性、可移植性、稳定性、安全性等特点。 (1 1)数据()数据(datadata): : 是客观事物的符号表示,是客观事物的符号表示,它能够被计算机识别、它能

13、够被计算机识别、储存和加工处理。它是储存和加工处理。它是计算机程序加工处理的计算机程序加工处理的原料,不仅指一般的整原料,不仅指一般的整数和实数,而且包括字数和实数,而且包括字符串、声音、图像等可符串、声音、图像等可被计算机接收和处理的被计算机接收和处理的信息。信息。(2 2)数据元素)数据元素 (data data elementelement): : 是数据的是数据的基本单位。有些情况下,基本单位。有些情况下,数据元素又称为元素、数据元素又称为元素、结点(结点(nodenode)、记录)、记录(recordrecord)。有时,一)。有时,一个元素可由若干数据项个元素可由若干数据项(dat

14、a itemdata item)组成。)组成。数据项是数据不可分割数据项是数据不可分割的最小数据单位。的最小数据单位。(3 3)数据对象)数据对象 (data data objectobject):是具有相同):是具有相同性质的数据元素的集合。性质的数据元素的集合。、 数据结构基础数据结构基础基本概念和术语基本概念和术语 (4 4)数据结构)数据结构 (data structuredata structure):是指数):是指数据之间的相互关系,即数据的组织形式。它据之间的相互关系,即数据的组织形式。它一般包括以下三个方面的内容;一般包括以下三个方面的内容; a. a.数据的逻辑结构(数据的逻

15、辑结构(logical structurelogical structure),),即数据元素之间的逻辑关系。即数据元素之间的逻辑关系。 b. b.数据的存储结构数据的存储结构 (storage structure) (storage structure),即数据元素及其关系在计算机存储器内的表即数据元素及其关系在计算机存储器内的表示。示。 c. c.数据的运算,即对数据所作的操作。数据的运算,即对数据所作的操作。 (5 5)数据类型)数据类型 (data typedata type):分为基本数):分为基本数据类型和结构数据类型两种。基本数据类型据类型和结构数据类型两种。基本数据类型如实数型

16、、整数型、布尔型等;而结构类型如实数型、整数型、布尔型等;而结构类型如数组、结构体等。如数组、结构体等。 算法描述和算法分析算法描述和算法分析 数据的运算是通过算法描述的。算法是由数据的运算是通过算法描述的。算法是由若干条指令的有穷序列组成。算法可用自然语若干条指令的有穷序列组成。算法可用自然语言、数学语言、或约定的符号语言来描述。若言、数学语言、或约定的符号语言来描述。若一个算法用机器可执行的语言来编写,则它就一个算法用机器可执行的语言来编写,则它就是一个程序。所以算法都以函数或过程的形式是一个程序。所以算法都以函数或过程的形式表示,即;表示,即; 算法名(参数表)算法名(参数表) 例例 i

17、ns_sqlist(V, i, b) ins_sqlist(V, i, b) /在顺序表在顺序表V V中第中第i i 个数据元素之前插入个数据元素之前插入b/b/ 其中其中/为注释。为注释。 对于同一个问题,可以给出多个不同的对于同一个问题,可以给出多个不同的算法,在这些算法中进行优劣取舍是一个很重算法,在这些算法中进行优劣取舍是一个很重要的问题,也就是对算法进行分析的过程。一要的问题,也就是对算法进行分析的过程。一个算法除了个算法除了“正确正确”以外,主要还考虑计算机以外,主要还考虑计算机在执行该算法时所耗费的时间及所占有的存储在执行该算法时所耗费的时间及所占有的存储空间,即时间复杂度和空间

18、复杂度。空间,即时间复杂度和空间复杂度。 线性表线性表(1 1)线性表的定义)线性表的定义 线性表是一种最简单的和最常用的数据线性表是一种最简单的和最常用的数据结构。线性表的逻辑结构是由一组数据元素结构。线性表的逻辑结构是由一组数据元素序列构成,其中每一数据元素含有一个或多序列构成,其中每一数据元素含有一个或多个数据项,各个数据元素之间存在着线性的个数据项,各个数据元素之间存在着线性的逻辑关系。例如英文字母表(逻辑关系。例如英文字母表(A A,B B,C C,D D,ZZ)是一个线性表,表中的每一个英)是一个线性表,表中的每一个英文字母是一个数据元素。文字母是一个数据元素。(2 2)线性表的运

19、算)线性表的运算 数据的运算是定义在逻辑结构上的,而数据的运算是定义在逻辑结构上的,而运算是在存储结构上进行的。对于线性表,运算是在存储结构上进行的。对于线性表,常见的基本运算有以下几种:常见的基本运算有以下几种: a.a.存取操作:存取第存取操作:存取第i i 个数据元素,以便检个数据元素,以便检查或更新其中的数据项。查或更新其中的数据项。 b. b.插入操作:在表中的指定位置上,插入一插入操作:在表中的指定位置上,插入一个新的数据元素。个新的数据元素。 c. c.删除操作:删除表中第删除操作:删除表中第i i 个元素。个元素。 d. d.查找操作:按某个关键字的值,查找表中查找操作:按某个

20、关键字的值,查找表中相应的元素。相应的元素。 e. e.排序操作:按给定要求对表中元素重新排排序操作:按给定要求对表中元素重新排列。列。 并非任何时候都需要同时执行以上运算,对并非任何时候都需要同时执行以上运算,对于不同问题中的线性表,所需要执行的运算可能于不同问题中的线性表,所需要执行的运算可能不同。一般给出一组基本的运算,对于实际问题不同。一般给出一组基本的运算,对于实际问题中所涉及的更为复杂的运算,可以用基本运算的中所涉及的更为复杂的运算,可以用基本运算的组合来实现。组合来实现。(3 3)线性表的存储结构)线性表的存储结构 线性表的存储结构有两种:顺序存储结构和链式存线性表的存储结构有两

21、种:顺序存储结构和链式存储结构。储结构。 顺序存储结构顺序存储结构 将一个线性表存储将一个线性表存储到计算机,可以采用许到计算机,可以采用许多不同的方法,其中即多不同的方法,其中即简单又自然的是顺序存简单又自然的是顺序存储方法:即把线性表的储方法:即把线性表的结点按逻辑次序放在一结点按逻辑次序放在一组地址连续的存储单元组地址连续的存储单元里。用这种方法存储的里。用这种方法存储的线性表简称为顺序表。线性表简称为顺序表。顺序表的存储示意如图顺序表的存储示意如图3-13-1所示。所示。 链式存储结构链式存储结构 为了克服顺序表的为了克服顺序表的缺点,可以采用链接缺点,可以采用链接方式存储线性表,通方

22、式存储线性表,通常我们把链接方式存常我们把链接方式存储的线性表称为链表。储的线性表称为链表。如图如图3-23-2所示。所示。 由图由图3-13-1可知顺序结可知顺序结构存储有以下特点:构存储有以下特点: A A存储结构的存储存储结构的存储密度大,存储空间利用密度大,存储空间利用率高。率高。 B B能够快速、随时能够快速、随时访问其中任意元素。访问其中任意元素。 C C对该表进行插入对该表进行插入或删除操作时,为保证或删除操作时,为保证线性表的连续性,则会线性表的连续性,则会引起大量数据元素的移引起大量数据元素的移动。动。 D D存储容量不宜扩存储容量不宜扩充。充。图图3-1 顺序存储结构示意图

23、顺序存储结构示意图元素元素1元素元素2元素元素3元素元素i元素元素nL1L2=L1+LL3=L1+2LLi=Li+(i-1)LLn=L1+(n-1)L元素地址元素地址 内存状态内存状态图图3-2 链式存储结构示意图链式存储结构示意图元素元素1元素元素2L3L21元素元素4L23元素元素3L10元素元素5L1L2L3L4L10L11L21L22L23L24元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针结点结点1结点结点2结点结点3结点结点4结点结点5 由图由图3-23-2可见,数据元素之间的逻辑关系可见,数据元素之间的逻辑关系是用指针来链接的

24、。对于每个数据元素,除是用指针来链接的。对于每个数据元素,除了元素值以外,还有一个指针(或链)用来了元素值以外,还有一个指针(或链)用来指示另一个数据元素的地址。我们将这个由指示另一个数据元素的地址。我们将这个由数据元素的值和指针组成的总体称为结点,数据元素的值和指针组成的总体称为结点,表示一个数据元素。链表中各结点的位置在表示一个数据元素。链表中各结点的位置在内存中是任意的,通过指针将它们联系起来。内存中是任意的,通过指针将它们联系起来。逻辑上最后的结点指针不指向任何地方,常逻辑上最后的结点指针不指向任何地方,常用用“”表示。表示。、 操作系统操作系统w操作系统用来管理和控制计算机硬件和操作

25、系统用来管理和控制计算机硬件和软件资源,并用以方便用户使用并提高系统软件资源,并用以方便用户使用并提高系统资源利用率的一组程序(软件)。资源利用率的一组程序(软件)。w操作系统的功能是管理和控制计算机所操作系统的功能是管理和控制计算机所有软硬件资源,使系统各部分协调一致的工有软硬件资源,使系统各部分协调一致的工作,从而达到提高系统资源利用率的目的。作,从而达到提高系统资源利用率的目的。计算机系统资源通常有四种:处理机、存储计算机系统资源通常有四种:处理机、存储器、外部设备、以及各种程序和数据。相应器、外部设备、以及各种程序和数据。相应的操作系统的功能也具有四大功能:处理机的操作系统的功能也具有

26、四大功能:处理机管理功能、存储器管理功能、外部设备管理管理功能、存储器管理功能、外部设备管理功能、文件管理功能。功能、文件管理功能。进程调度进程调度阻塞阻塞阻塞阻塞阻塞阻塞I/O 请求请求I/O完成完成图图3-3 进程状态转换示意图进程状态转换示意图 操作系统的功能操作系统的功能wa.处理机管理处理机管理w 在多道程序系统中,多个程在多道程序系统中,多个程序同时执行,需要对序同时执行,需要对CPU的时间的时间进行合理分配。处理机管理也称进行合理分配。处理机管理也称为进程管理,通过引入为进程管理,通过引入“进程进程”的概念使的概念使CPU有条不紊的工作,有条不紊的工作,使资源得到最充分的利用,主

27、要使资源得到最充分的利用,主要包括处理中断事件和处理机调度。包括处理中断事件和处理机调度。所谓进程,是指程序的一次执行。所谓进程,是指程序的一次执行。进程有三个基本状态:就绪状态、进程有三个基本状态:就绪状态、运行状态、阻塞状态,如图运行状态、阻塞状态,如图3-3 所示;所示;b.b.存储管理存储管理 内存是除内存是除CPUCPU之外之外最宝贵的资源。而计最宝贵的资源。而计算机的内存资源是有算机的内存资源是有限的。存储管理主要限的。存储管理主要解决多道程序在内存解决多道程序在内存中的分配,合理利用中的分配,合理利用内存空间,并通过内内存空间,并通过内外存的管理来扩大存外存的管理来扩大存储空间。

28、其主要包括:储空间。其主要包括:内存的分配、存储扩内存的分配、存储扩充、存储保护三个方充、存储保护三个方面。面。c. c. 设备管理设备管理 计算机支持多种设备,计算机支持多种设备,该管理利用操作系统提供该管理利用操作系统提供的设备驱动程序,实现对的设备驱动程序,实现对外部设备进行有效管理。外部设备进行有效管理。负责把外部设备合理地分负责把外部设备合理地分配给进程,消除各设备忙配给进程,消除各设备忙闲不均的现象,使之有效闲不均的现象,使之有效地工作。其主要功能体现地工作。其主要功能体现在:分配和驱动外部设备、在:分配和驱动外部设备、利用中断、通道、缓冲技利用中断、通道、缓冲技术,提高外部设备的

29、使用术,提高外部设备的使用效率。效率。d. d. 文件管理文件管理 文件管理是对各文件管理是对各类文件进行有序的管类文件进行有序的管理,支持对文件的存理,支持对文件的存储、检索和修改及文储、检索和修改及文件保护,方便用户安件保护,方便用户安全地访问它们。其主全地访问它们。其主要功能为:按名存取要功能为:按名存取文件、有效分配存储文件、有效分配存储空间、文件的共享和空间、文件的共享和保护、用户可通过命保护、用户可通过命令访问各种文件。令访问各种文件。 通常按照操作系通常按照操作系统的使用环境,可将其统的使用环境,可将其分为三大类:分为三大类:w多道批处理系统多道批处理系统w分时系统、分时系统、w

30、实时系统。实时系统。(2 2)操作系统的分类)操作系统的分类a.a.多道批处理系统多道批处理系统w 多道批处理系统实质上是多道批处理系统实质上是“多道程序多道程序”和和“批批处理处理”的结合。的结合。“任务任务”和和“作业作业”是指用户一次上是指用户一次上机要求计算机系统完成的工作的总称;机要求计算机系统完成的工作的总称;“多道程序多道程序”是指在计算机内存中同时可以存放若干道作业,允许是指在计算机内存中同时可以存放若干道作业,允许交替地由处理机运行;交替地由处理机运行;“批处理批处理”是指用户与作业之是指用户与作业之间没有交互作用,用户不能直接控制作业的运行,即间没有交互作用,用户不能直接控

31、制作业的运行,即一批经过合理组织的作业一旦提交给计算机系统,其一批经过合理组织的作业一旦提交给计算机系统,其执行由计算机系统控制。执行由计算机系统控制。w多道批处理系统具有自动化程度高,资源多道批处理系统具有自动化程度高,资源利用率高,作业吞吐量大等特点,多应用在大利用率高,作业吞吐量大等特点,多应用在大中型计算机系统中。其缺点是交互性差。中型计算机系统中。其缺点是交互性差。b. b. 分时系统分时系统w分时系统是一种多用户操作系统,它是将中分时系统是一种多用户操作系统,它是将中央处理机(央处理机(CPUCPU)的处理时间进行分割,即把工)的处理时间进行分割,即把工作时间分割成一个个时间片,每

32、个用户轮流使用作时间分割成一个个时间片,每个用户轮流使用时间片。一台计算机为一组终端用户服务,每个时间片。一台计算机为一组终端用户服务,每个用户通过终端控制程序的运行。由于时间片分割用户通过终端控制程序的运行。由于时间片分割很小,每个用户感觉不到时间上的等待或滞留,很小,每个用户感觉不到时间上的等待或滞留,如同自己独立占用一台计算机一样。如同自己独立占用一台计算机一样。w分时系统具有良好的人机交互性,用户使用方便,分时系统具有良好的人机交互性,用户使用方便,其主要应用于中小型系统。其主要应用于中小型系统。c. c. 实时系统实时系统 实时系统是指要求系实时系统是指要求系统及时响应外部事件的请统

33、及时响应外部事件的请求,在规定的时间内完成求,在规定的时间内完成对该事件的处理并控制所对该事件的处理并控制所有实时设备和实时任务协有实时设备和实时任务协调一致地工作。实时系统调一致地工作。实时系统包括实时过程控制和实时包括实时过程控制和实时信息处理两种,前者主要信息处理两种,前者主要应用于工业生产的过程控应用于工业生产的过程控制,而后者主要应用于信制,而后者主要应用于信息处理系统,如查询系统、息处理系统,如查询系统、订票系统等。订票系统等。 w以上三类操作系以上三类操作系统可以根据实际需要统可以根据实际需要组合使用,实现最佳组合使用,实现最佳功能。随着计算机系功能。随着计算机系统结构的变化,操

34、作统结构的变化,操作系统技术也有了进一系统技术也有了进一步的发展,产生了一步的发展,产生了一些具有特点的操作系些具有特点的操作系统,如个人计算机操统,如个人计算机操作系统、分布式操作作系统、分布式操作系统和网络操作系统。系统和网络操作系统。w个人计算机操作系统是一个单用户交互式的操个人计算机操作系统是一个单用户交互式的操作系统,它以文件管理为主,具有简单的设备管理作系统,它以文件管理为主,具有简单的设备管理功能,并向用户提供了一组功能丰富的键盘操作命功能,并向用户提供了一组功能丰富的键盘操作命令。令。w分布式操作系统是指由多台计算机组成的一个分布式操作系统是指由多台计算机组成的一个系统,相互协

35、作地完成一个任务。任意两台计算机系统,相互协作地完成一个任务。任意两台计算机之间可以交换信息,无主次之分,系统资源为所有之间可以交换信息,无主次之分,系统资源为所有用户共享。用户共享。w网络操作系统是为网络中各台计算机之间网络操作系统是为网络中各台计算机之间提供通信和资源共享。除了具有常规操作系统提供通信和资源共享。除了具有常规操作系统功能外,还具有网络管理功能。功能外,还具有网络管理功能。 (3 3) 常用操作系统简介常用操作系统简介 Windows Windows Windows Windows以其灵活方便的窗口操作、弹出式菜单以及以其灵活方便的窗口操作、弹出式菜单以及命令对话框,为用户使

36、用计算机提供了方便,并为人们命令对话框,为用户使用计算机提供了方便,并为人们广泛接受。它从广泛接受。它从19901990年由年由Microsoft Microsoft 公司推出公司推出Windows Windows 3.03.0,先后进行了多次改版。如,先后进行了多次改版。如Windows3.1Windows3.1、Windows 98Windows 98、Windows NTWindows NT、Windows2000Windows2000、Windows XP Windows XP 等。其中等。其中Windows95Windows95以上版本具有网络管理功能。还具有友好的人以上版本具有网络

37、管理功能。还具有友好的人机界面、功能强大的应用程序、多任务并行处理的功能机界面、功能强大的应用程序、多任务并行处理的功能等诸多优点,所以深受用户欢迎。等诸多优点,所以深受用户欢迎。 UNIX UNIX UNIXUNIX操作系统是一个通用的、操作系统是一个通用的、交互的分时系统,适用于小型机交互的分时系统,适用于小型机和微型机。它由美国贝尔实验室和微型机。它由美国贝尔实验室19691969年研制的,其特点是结构紧年研制的,其特点是结构紧凑、功能强大、使用方便、易于凑、功能强大、使用方便、易于扩充、修改维护和移植。它主要扩充、修改维护和移植。它主要由两部分组成:内核和外壳由两部分组成:内核和外壳(

38、shellshell语言)。其内核部分负语言)。其内核部分负责进程管理、文件管理、存储管责进程管理、文件管理、存储管理、设备管理等,而外壳语言是理、设备管理等,而外壳语言是用来控制、使用内核以及语言处用来控制、使用内核以及语言处理程序和软件工具。理程序和软件工具。 Linux Linux LinuxLinux是目前最流行的操作是目前最流行的操作系统之一,是系统之一,是UNIXUNIX的的PCPC版。它版。它从从19911991年芬兰人年芬兰人Linux Linux Torvalds Torvalds 创建至今发展迅速。创建至今发展迅速。它具有占用空间小、高效、健它具有占用空间小、高效、健壮和功

39、能强大等特性,特别是壮和功能强大等特性,特别是可以免费使用和源代码开放,可以免费使用和源代码开放,为用户广泛接受。其中的为用户广泛接受。其中的Red Red Hat Linux Hat Linux 版是一个杰出的代版是一个杰出的代表,它在表,它在Linux Linux 基础上开发了基础上开发了许多优秀的软件和工具,并提许多优秀的软件和工具,并提供了最新软硬件的技术支持。供了最新软硬件的技术支持。、编译基础、编译基础(1) 编译程序的作用编译程序的作用编译编译连接连接运行运行源程序源程序目标程序目标程序可执行程序可执行程序结果程序库程序库数据数据图图3-4 程序的编译与运行示意图程序的编译与运行

40、示意图w人们利用计算机可以进行复杂的科学计算、工人们利用计算机可以进行复杂的科学计算、工业过程控制、企业管理和办公自动化等工作。计算业过程控制、企业管理和办公自动化等工作。计算机在上述各领域的应用都是在计算机硬件和系统软机在上述各领域的应用都是在计算机硬件和系统软件支持下,运用某种高级语言编制出程序并在该环件支持下,运用某种高级语言编制出程序并在该环境下运行来实现的。在计算机上执行一个高级语言境下运行来实现的。在计算机上执行一个高级语言程序,一般要分为两步:程序,一般要分为两步:w第一步,用一个编译程序将高级语言程序翻译成机器第一步,用一个编译程序将高级语言程序翻译成机器语言程序;语言程序;w

41、第二步,运行所得的机器语言程序并求得计算结果。第二步,运行所得的机器语言程序并求得计算结果。w编译程序就是将某一种语言(源语言)程序翻编译程序就是将某一种语言(源语言)程序翻译成另一种语言(目标语言)程序,即进行符号转译成另一种语言(目标语言)程序,即进行符号转换。程序的编译与运行如图换。程序的编译与运行如图 3-4 所示。所示。(2)编译编译程序程序的组的组成与成与结构结构目标程序词法分析语法分析中间代码生成代码优化目标代码生成表 格 管 理出 错 管 理源程序图图3-5 编译程序的基本结构编译程序的基本结构虽然各高级语言的特点不同,其编译程序也有差别,但各编虽然各高级语言的特点不同,其编译

42、程序也有差别,但各编译程序的基本结构均相似。编译程序的结构可按编译的五个阶段译程序的基本结构均相似。编译程序的结构可按编译的五个阶段分模块进行设计,如图分模块进行设计,如图3-5所示。图所示。图3-5中编译过程源程序的各种中编译过程源程序的各种信息被保留在各种不同的表格里,编译各阶段的工作都涉及到构信息被保留在各种不同的表格里,编译各阶段的工作都涉及到构造、查找、更新各种有关表格。造、查找、更新各种有关表格。w编译程序的工作,编译程序的工作,从输入源程序到输出目从输入源程序到输出目标程序的整个过程,是标程序的整个过程,是很复杂的。这个过程一很复杂的。这个过程一般可分为五个阶段:词般可分为五个阶

43、段:词法分析、语法分析、中法分析、语法分析、中间代码生成、代码优化、间代码生成、代码优化、目标代码生成。目标代码生成。w上述编译程序工作上述编译程序工作过程的五个阶段不是每过程的五个阶段不是每个阶段都必不可少的,个阶段都必不可少的,在实际应用中有些阶段在实际应用中有些阶段可以省去。若编译程序可以省去。若编译程序对优化没有要求,可省对优化没有要求,可省去代码优化;若要加快去代码优化;若要加快编译速度,可将中间代编译速度,可将中间代码生成阶段省去。码生成阶段省去。3.2 3.2 数据库技术基础数据库技术基础 数据库技术产生于数据库技术产生于2020世纪世纪6060年代中期,是年代中期,是数据管理的

44、最新技术,是计算机科学的重要数据管理的最新技术,是计算机科学的重要分支,它的出现极大地促进了计算机应用向分支,它的出现极大地促进了计算机应用向各行业渗透。从而不难看出数据库技术的重各行业渗透。从而不难看出数据库技术的重要性所在。要性所在。 1 数据库系统概述数据库系统概述数据库技术的新发展数据库技术的新发展1 1 数据库系统概述数据库系统概述(1 1)数据库技术的基本概念)数据库技术的基本概念w数据(数据(DataData):): 通常是指用符号记录下来的,可以识别的信息。信息是关于现实世界事物存在的方式或运动状态的客观反映。w数据库(数据库(Data BaseData Base):):简称D

45、B,是指按一定方式组织起来的相互关联的数据集合。如人事档案数据库、图书资料数据库、药品管理数据库等。w数据库管理系统(数据库管理系统(Data Base Management SystemData Base Management System):):简称DBMS,是用户与操作系统之间的一层管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及对各种数据的控制。w数据库系统(数据库系统(Data Base SystemData Base System):):简称DBS,是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统,即它是采

46、用了数据库技术的计算机系统。w数据库技术:数据库技术:是在操作系统的文件系统的基础上发展起来的,它是研究数据库的结构、存储、设计、管理和使用的一门软件学科。(2 2)数据描述和数据模型)数据描述和数据模型数据描述:是数据处理中的一个重要环节。从事物数据描述:是数据处理中的一个重要环节。从事物的特征到计算机中的具体表示,实际上经历了三个的特征到计算机中的具体表示,实际上经历了三个领域:现实世界、信息世界、机器世界。领域:现实世界、信息世界、机器世界。w现实世界的数据描述主要是对原始数据进行综合现实世界的数据描述主要是对原始数据进行综合工作,取出数据库系统所需要研究的数据,如各种报工作,取出数据库

47、系统所需要研究的数据,如各种报表、单据、查询格式等。表、单据、查询格式等。w信息世界的数据描述,是人们将现实世界在信息世界的数据描述,是人们将现实世界在人脑中的反映用文字或符号表示出来,它需要用人脑中的反映用文字或符号表示出来,它需要用以下一些基本术语来实现:以下一些基本术语来实现: 实体实体(entity)(entity):实体是指客观存在并相互区别的事物。 实体集(实体集(entity setentity set):):具有相同性质的同类实体的集合。 属性(属性(attributeattribute):):实体具有许多特性,每一个特性称为属性。每一个属性有一个取值范围,即值域。 主键(主键

48、(keykey):唯一标识实体的属性集为主键。 w机器世界中的信息是以数据形式存储机器世界中的信息是以数据形式存储的,其数据描述需要用以下术语表示。的,其数据描述需要用以下术语表示。 字段(字段(fieldfield):标记实体属性的命名):标记实体属性的命名单位称为字段(或数据项)。它是可命名单位称为字段(或数据项)。它是可命名的最小数据单位。的最小数据单位。 记录(记录(recordrecord):字段的有序集合称为):字段的有序集合称为记录。一般用一个记录描述一个实体。记录。一般用一个记录描述一个实体。 文件(文件(filefile):同一类记录的汇集称为):同一类记录的汇集称为文件。文

49、件是描述实体集的。文件。文件是描述实体集的。 主键(主键(keykey):能唯一标识文件中每个):能唯一标识文件中每个记录的字段或字段集,称为文件的主键。记录的字段或字段集,称为文件的主键。 w现实世界中,事物是相互联系的。这种联系必然在信息世界现实世界中,事物是相互联系的。这种联系必然在信息世界中体现出来,即实体是相互有联系的。实体的联系有两类:中体现出来,即实体是相互有联系的。实体的联系有两类:一类是实体内部的联系,即同一记录内部各个字段之间的一类是实体内部的联系,即同一记录内部各个字段之间的联系;联系;另一类是实体与实体之间的联系,即实体中记录之间的联另一类是实体与实体之间的联系,即实体

50、中记录之间的联系。系。而实体之间的联系比较复杂,其相应的数据结构也比较复杂,而实体之间的联系比较复杂,其相应的数据结构也比较复杂,这类联系在数据库技术中应用较多。实体间的联系有两种:这类联系在数据库技术中应用较多。实体间的联系有两种:一是同一实体集中实体之间的联系(记录之间的联系),一是同一实体集中实体之间的联系(记录之间的联系),二是不同实体集间的实体联系(文件之间的记录与记录二是不同实体集间的实体联系(文件之间的记录与记录的联系)。的联系)。 w它有以下三种情况:它有以下三种情况: 一对一联系:记作一对一联系:记作 1 1:1 1。例如学校与校长之间,。例如学校与校长之间,火车的座位与乘客

51、之间的联系都是一对一联系。火车的座位与乘客之间的联系都是一对一联系。 一对多联系:记作一对多联系:记作1 1:N N。例如一个学校有多名。例如一个学校有多名学生,而每个学生均在同一所学校学习,学校与学学生,而每个学生均在同一所学校学习,学校与学生之间就是一对多的联系。生之间就是一对多的联系。 多对多联系:记作多对多联系:记作M M:N N。例如课程与学生之间,一个。例如课程与学生之间,一个学生可选多门课程,而每一门课程有多名学生选修,课学生可选多门课程,而每一门课程有多名学生选修,课程与学生之间是多对多的联系。程与学生之间是多对多的联系。 数据模型数据模型数据模型是现实世界数据特征的抽象。数据

52、模型是现实世界数据特征的抽象。由于计算机不可能直接处理现实世界中的由于计算机不可能直接处理现实世界中的事物,人们必须先把具体事物转换成计算事物,人们必须先把具体事物转换成计算机能够处理的数据。在数据库中音乐数据机能够处理的数据。在数据库中音乐数据模型来抽象、表示和处理现实世界中的信模型来抽象、表示和处理现实世界中的信息。数据库系统均是基于某种数据模型的,息。数据库系统均是基于某种数据模型的,不同的数据模型,实际上是提供给我们模不同的数据模型,实际上是提供给我们模型化信息的不同工具。数据模型是数据库型化信息的不同工具。数据模型是数据库系统的核心和基础。根据模型应用的不同系统的核心和基础。根据模型

53、应用的不同目的,可将模型划分为两类:概念模型和目的,可将模型划分为两类:概念模型和数据模型。数据模型。 概念模型概念模型 概念模型又称信息模型,它是按照用户的观点来对信息概念模型又称信息模型,它是按照用户的观点来对信息建模,主要用于数据库设计。建模,主要用于数据库设计。 概念模型的表示方法很多,其中最常用的是概念模型的表示方法很多,其中最常用的是P.P.ChenP.P.Chen于于19761976年提出的实体联系方法。该方法用年提出的实体联系方法。该方法用ERER图来描述现实世图来描述现实世界的概念模型。界的概念模型。ERER方法也称为方法也称为ERER模型。模型。ERER方法提供以下四方法提

54、供以下四种基本工具来实现种基本工具来实现ERER图:图: A. A.矩形框,表示实体类型。矩形框,表示实体类型。 B. B.菱形框,表示联系类型。菱形框,表示联系类型。 C. C.椭圆型框,表示实体类型和联系类型的属性。对于键的椭圆型框,表示实体类型和联系类型的属性。对于键的属性,在属性名下画一横线。属性,在属性名下画一横线。 D. D.直线,表示联系类型和相关实体类型之间的联系,并直线,表示联系类型和相关实体类型之间的联系,并在直线端部标注其种类(在直线端部标注其种类(1 1:1 1,1 1:N N,M M:N N)。例如一个具)。例如一个具体的体的ERER图,图图,图3-63-6所示。所示

55、。项目项目代号代号日期日期项目项目名称名称项目项目项目项目-零件零件零件零件零件零件代号代号零件零件名名颜色颜色重量重量零件零件数量数量MN图3-6 ER图实例 数据模型数据模型 数据模型是按计算机系统的观点对数据建模,主要数据模型是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现,它主要包括;层次模用于数据库管理系统的实现,它主要包括;层次模型、关系模型、网状模型和面向对象模型等。型、关系模型、网状模型和面向对象模型等。 层次模型:用树型结构表示实体类型和实体间联系的数层次模型:用树型结构表示实体类型和实体间联系的数据模型,据模型,如图如图3-73-7所示所示。 关系模型:用表格结

56、构表达集与实体间联系的数据模关系模型:用表格结构表达集与实体间联系的数据模型,型,如表如表3-13-1所示。所示。 网状模型:网状模型: 用有向图结构表示实体类型及实体间联系的用有向图结构表示实体类型及实体间联系的数据模型。数据模型。如图如图3-8 3-8 所示所示。 面向对象模型:用对象和类来表示实体类型和实体间联面向对象模型:用对象和类来表示实体类型和实体间联系的数据模型。系的数据模型。如图如图3-93-9所示所示 M1M2M3M4M5M6图3-7 层次模型示例学号姓名年龄性别系别9921108李明21男信息系9921126王妍22女信息系9921208马凯22男信息系9922210刘青青

57、21男物理系9918109方芳20女数学系表关系模型示意图表关系模型示意图姓名性别年龄姓名性别年龄系别专业姓名性别年龄班级特长类 学生类 大学生类 小学生图3-9 面向对象模型示意S1S2SP1SP2SP3SP4SP5P1P2P3图3-8 网状模型示意(3 3) 数据库的体系结构数据库的体系结构 数据库的体系结构分为三级,内部级、概念级、数据库的体系结构分为三级,内部级、概念级、外部级。如图外部级。如图3-103-10所示。所示。 用户A用户B用户C外模式外模式外模式概念模式内模式数据库外部级概念级内部级图3-10数据库系统的体系结构w外部级是最接近用户的一级,外部级是最接近用户的一级,是每个

58、用户所能看到的数据库内容,是每个用户所能看到的数据库内容,它是整个数据库的一部分,称为用它是整个数据库的一部分,称为用户视图或外部视图。每个外视图的户视图或外部视图。每个外视图的具体表示称为外模式,又称子模式。具体表示称为外模式,又称子模式。w概念级观察到的是整个数概念级观察到的是整个数据库的全部信息,称为全局视据库的全部信息,称为全局视图。全局视图的具体表示称为图。全局视图的具体表示称为概念模式、简称模式。概念模式、简称模式。w内部级是最接近存储设备内部级是最接近存储设备的一级,从这一级观察到的数的一级,从这一级观察到的数据库就是被存储的数据库,称据库就是被存储的数据库,称为内视图。内视图的

59、具体表示为内视图。内视图的具体表示称为内模式,又称为物理模式。称为内模式,又称为物理模式。w用户用户A用户用户B用户用户C外外模式外模式外模式概念模式模式外模式外模式概念模式内模式数据库外部级概念级内模式数据库外部级概念级内部级图内部级图3-10数据库系统的数据库系统的体系结构体系结构w数据库的三级体系结构数据库的三级体系结构是数据库的三个抽象级别,是数据库的三个抽象级别,它将数据的具体组织留给它将数据的具体组织留给DBMS去做,用户只抽象地去做,用户只抽象地处理数据,而不必关心数据处理数据,而不必关心数据在计算机中的表示和存储。在计算机中的表示和存储。为了实现三个级别的转换,为了实现三个级别

60、的转换,DBMS在三个级别之间提供在三个级别之间提供了两个层次的映像,即外模了两个层次的映像,即外模式式/概念模式映像和概念模概念模式映像和概念模式式/内模式映像。内模式映像。2. 2.数据库技术的新发展数据库技术的新发展 数据库技术是计算机软件领域的一数据库技术是计算机软件领域的一个重要分支,经过三十多年的发展经历个重要分支,经过三十多年的发展经历了第一代(层次和网状数据库)和第二了第一代(层次和网状数据库)和第二代(关系数据库),已形成了相当规模代(关系数据库),已形成了相当规模的理论体系和应用技术。随着相关学科的理论体系和应用技术。随着相关学科的不断发展和应用领域的不断延伸,数的不断发展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论