《第三章计算机软件.ppt》由会员分享,可在线阅读,更多相关《第三章计算机软件.ppt(57页珍藏版)》请在三一办公上搜索。
1、第三章 计算机软件,学习目标与要求,1.了解什么是计算机软件和计算机软件技术2.理解操作系统的作用、功能、理解多任务处理和文件管理的基本原理。3.了解计算机程序设计语言的作用、基本结构及它们的执行过程4.了解算法和数据结构的概念,3.1 概述,重点:计算机软件的定义 计算机软件的特性 计算机软件的分类,1、程序,目前的主流计算机都是按冯诺依曼“存储程序”的思想设计的。程序是告诉计算机做什么和如何做的一组指令。程序的特点有:,完成某一确定的信息处理任务;使用某种计算机语言描述如何完成该任务;存储在计算机中,并在启动运行后才能起作用。,3.1.1 什么是计算机软件,2、软件,程序、与程序相关的数据
2、和文档称为软件。,计算机软件示意图,3.1.1 什么是计算机软件,程序:指示计算机如何去解决问题或完成任务的一组详细的、逐步执行的语句(或指令),是软件的主体。数据:程序运行过程中需要处理的对象和必须使用的一些参数。文档:与程序开发、维护及操作有关的资料。,3.1.1 什么是计算机软件,3.1.2 计算机软件的特性,不可见性适用性依附性复杂性无磨损性,易复制性不断演变性有限责任脆弱性,3.1.3 软件的分类,从应用的角度出发,将软件分为:系统软件应用软件,1、系统软件和应用软件,(1)系统软件泛指为有效运行计算机系统、给应用软件开发与运行提供支持或能为用户管理与使用计算机提供方便的一类软件 系
3、统软件有一定的通用性,并不是专为解决某个具体应用而开发的。,3.1.3 软件的分类,(2)应用软件 专门用于解决各种具体应用问题的软件。按照应用软件的开发方式和适用范围,应用软件可再分为:通用应用软件可在许多行业和部门共同使用定制应用软件按不同领域用户的特定应用要求而专门设计的,3.1.3 软件的分类,通用应用软件类别和功能:,3.1.3 软件的分类,2、商品软件、共享软件和自由软件(按照软件权益如何处置进行分类)商品软件共享软件自由软件,3.1.3 软件的分类,用户需要付费才能得到其使用权。它受版权和软件许可证的保护。,是一种“买前免费试用”的具有版权的软件,它通常允许用户试用一段时间,也允
4、许用户进行拷贝和散发,但过了试用期若还想继续试用,就得交一笔注册费,成为注册用户。,用户可共享自由软件,允许随意拷贝、修改其源代码,允许销售和自由传播。但是,对软件源代码的任何修改都必须向所有用户公开,还必须允许此后的用户享有进一步拷贝和修改的自由。,3.2 操作系统,重点:操作系统的作用、启动 多任务处理方式 文件的基本概念 常用操作系统难点:虚拟存储技术,3.2 操作系统,操作系统(Operating System,简称OS):是计算机中最重要的一种系统软件,它是一些程序模块的集合,能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理地安排计算机的工作流程,控制和支持应用程序的运行,
5、并向用户提供各种服务,使用户能灵活、方便、有效地使用计算机,也使整个计算机系统高效率地运行。,3.2.1 概述,1、操作系统的作用为计算机中运行的程序管理和分配各种软硬件资源为用户提供友善的人机界面为应用程序的开发和运行提供一个高效率的平台,计算机硬件,用户,操作系统的地位,3.2.1 概述,2、操作系统的启动,加电启动计算机工作,CPU首先执行BIOS中自检程序 无异常时,CPU将继续执行BIOS中自举程序,它从硬盘中读出引导程序,把它装入内存。然后就将控制权交给引导程序,由引导程序继续装入OS。OS装入成功后,整个计算机就在OS控制下了,用户可正常使用计算机了。,3.2.1 概述,为了提高
6、CPU的利用率,操作系统一般都支持若干个程序同时运行,这称为“多任务处理器”。任务指的是装入内存并启动执行的一个应用程序。Windows操作系统采用的是并发多任务方式支持系统中多个任务的执行。“并发多任务”,指的是不管前台还是后台任务,它们都能分配到CPU的使用权,因而可以同时运行。,3.2.2 多任务处理与处理器管理,为支持多任务处理,操作系统中有一个处理器调度程序。这个调度程序,采用时间片轮转的策略。即每个任务都能轮流得到一个时间片的CPU时间,在时间片用完之后,调度程序再把CPU交给下一个任务,就这样一遍遍地循环下去。只要时间片结束,不管任务有多重要,也不管它执行到什么地方,正在执行的任
7、务就会被强行终止。(抢占式多任务方式),3.2.2 多任务处理与处理器管理,3.2.3 存储管理,存储管理:管理内存资源的高效、合理使用。主要内容包括内存的分配和回收、内存的共享和保护、内存自动扩充。存储管理采取虚拟存储技术 组成:物理内存和硬盘上的虚拟内存 页面大小:4KB 例:页面调度算法 LRU 最近最少使用算法 即选择最近一段时间内很长时间没有被访问的页面予以淘汰。若M=3时 要访问页面 4 3 2 1 4 3 5 4 3 2 1 5 其缺页情况如何?,虚拟存储器的效果,操作系统通过在物理内存和虚拟内存之间来回地自动交换程序和数据页面,达到了两个效果:开发应用程序时,每个程序都在各自独
8、立的容量很大的地址空间里进行编程,几乎不用考虑物理内存大小的限制;程序运行时,用户可以启动许多应用程序运行,其数目不受内存容量的限制,也不必担心它们相互之间会不会发生冲突。,3.2.3 存储管理,3.2.4 文件管理,1、文件的基本概念 文件是一组相关信息的集合。计算机中的程序、数据、文档通常都组织为文件,存放在外存储器中,用户(或程序)必须以文件为单位对外存储器中的信息进行访问和操作。文件中除了它所包含的程序或数据之外,为了管理的需要,还包含了一些关于该文件的说明信息。注:为便于区别,每个文件都有自己的名字(称为文件名),用户(或程序)可以通过文件名来使用文件。在WINDOWS中,文件名可以
9、长达255个字符。,文件的组成,文件说明信息 存放在该文件的目录中,其中的文件属性很重要,用于将文件标注为系统文件、隐藏文件、存档文件和只读文件。文件的具体内容 全部保存在磁盘的数据区中。,3.2.4 文件管理,2、文件目录(文件夹),WINDOWS中文件目录也称为文件夹,它采用多级层次式结构。多级文件夹既可以帮助用户把不同类型和不同用途的文件分类存储,又方便了文件的查找,还允许不同文件夹中的文件使用相同的名字。使用文件夹最大的优点是它为文件的共享和保护提供了方便。例:“文件共享”问题,3.2.4 文件管理,3、文件管理,主要职责之一是:如何在外存储器中为创建(或保存)文件而分配空间,为删除文
10、件而回收空间,并对空闲空间进行管理。,3.2.4 文件管理,3.2.5 设备管理(自学),1、Windows操作系统 Windows操作系统是一种在微型计算机上运行的系统软件。由(美)微软公司开发,最初作为DOS的图形化扩充而推出的。Windows提供了多任务图形界面以及统一的应用程序接口,使得在Windows环境下运行应用程序的操作大为简化。提供了多任务和图形用户界面。,3.2.6 常用操作系统介绍,Windows 9x的三个产品Windows 95Windows 98Windows Me 在Windows 98基础上推出的版本,还有一种Windows 98 SE,它实质上一个16位与32位
11、的处理混和系统 缺点是稳定性比较差。,3.2.6 常用操作系统介绍,Windows NT能主动的保护自身免受内部异常和外部有意或无意破坏的影响,并且必须对软件和硬件的错误做出可预测的响应,具有高性能。Windows NT 4.0 Windows NT 5.0,3.2.6 常用操作系统介绍,Windows 2000 在即插即用方面,它支持USB设备,支持功率的调节和各种硬件编程接口等。在实用性、安全性和稳定性方面都有所超越Windows 2000有以下几种不同的版本:Windows 2000 ProfessionalWindows 2000 Server/Advanced ServerWindo
12、ws 2000 Datacenter ServerWindows XP是第一个既适合家庭用户,也适合商业用户的Windows操作系统。,3.2.6 常用操作系统介绍,2、UNIX和Linux操作系统(自学),3.3 程序设计语言及其处理程序,重点:程序设计语言的分类 常用程序设计语言 程序设计语言的成分,3.3.1 程序设计语言分类,程序设计语言按其级别可以划分为 机器语言、汇编语言和高级语言三大类,1、机器语言,机器语言:使用计算机指令系统的程序语言。用机器语言编写的程序,全部都是二进制代码形式,可以被计算机直接执行。机器语言直接依赖机器的指令系统,不同类型甚至不同型号的计算机,其机器语言是
13、不同的。机器语言不易记忆和理解,所编写的程序也难于修改和维护。,3.3.1 程序设计语言分类,2、汇编语言,汇编语言:用助记符来代替机器指令的操作码和操作数,如用表示加法,用表示减法等。用汇编语言编写程序与编写机器语言程序相比,比较直观和易记忆,但汇编语言仍然是面向机器指令系统的,还保留了机器语言的各项缺点。例:MOV BX 545 MOV AX 383 ADD BX AX,3.3.1 程序设计语言分类,3、高级语言,高级语言:在一定程度上与机器无关,是一种接近人们自然语言(主要是英语)的程序设计语言。特点:易学、易用,易维护,人们可以更有效、更方便地用它来编制各种用途的计算机程序。高级语言虽
14、然接近自然语言,但和自然语言仍有很大差距。主要表现在语法规则极为严格。其主要原因是高级语言处理系统是执行程序的计算机,而自然语言的处理系统则是人。,3.3.1 程序设计语言分类,程序语言基本成分,高级语言种类千差万别,但是其基本成份都可归纳为四种:数据成分:描述程序所处理的数据对象。运算成分:描述程序所包含的运算控制成分:用以表达程序中的控制构造传输成分:用以表达程序中的数据的传输,3.3.2 程序语言中的数据分和控制成分,1、数据成分,数据作为程序操作的对象,具有名称、类型、作用域等特征。使用前要对数据的这些特征加以说明。数据名称由用户通过标识符命名,类型说明数据需占用存储单元的多少和存放形
15、式,作用域说明数据可以使用的范围。以C语言为例,其数据构造方式可分为基本类型和派生类型:,3.3.2 程序语言中的数据分和控制成分,2、控制成分,程序语言中控制成分的作用:提供一种基本框架,在此基本框架支持下,可以将数据和对数据的运算组合成程序。()顺序结构用来表示一个计算操作(或语句)的序列。从操作序列的第一个操作开始,顺序执行序列后续的操作,直至序列的最后一个操作。,3.3.2 程序语言中的数据分和控制成分,(2)条件选择结构条件选择结构由一个条件(P)和两个供选择的操作A和B组成。在执行中,先计算条件表达式P的值,如果P的值为真,则执行操作A;否则执行操作B。当条件选择结构中的A或B又由
16、条件选择结构组成时,就呈现嵌套的条件选择结构形式。(3)重复结构重复结构为程序描述重复计算过程提供控制手段,重复结构有多种形式,最基本的形式为 while型重复结构。,3.3.2 程序语言中的数据分和控制成分,控制成分,顺序控制结构,条件选择结构,While型重复结构,3.3.2 程序语言中的数据分和控制成分,3.3.3 程序设计语言处理系统,语言处理系统的作用:把用程序语言(包括汇编语言和高级语言)编写的程序变换成可在计算机上执行的程序,或进而直接执行得到计算结果。程序设计语言处理系统包括:编译程序解释程序汇编程序,3.3.4 主要程序语言介绍,1、FORTRAN语言 FORTRAN:FOR
17、mula TRANslation(公式翻译)的缩写,一种主要用于数值计算的面向过程的程序设计语言。特点:接近数学公式、简单易用。,2、BASIC和VB语言,BASIC语言的特点是简单易学。VB是基于BASIC基础上开发的一种程序设计语言,是图形用户界面。,3.3.4 主要程序语言介绍,3、Java语言,Java语言:一种面向对象的、用于网络环境的程序设计语言。特点:适用于网络分布环境,具有一定的平台独立性、安全性和稳定性。,3.3.4 主要程序语言介绍,4、C语言和C+语言,著名的UNIX操作系统就是用C语言编写的。特点:兼有高级程序设计语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、
18、可移植性和高效性之间的矛盾,语句表达能力强,还具有丰富的数据类型和灵活多样的运算符。,3.3.4 主要程序语言介绍,C+语言:以C语言为基础发展起来的通用程序设计语言。C+语言是对C语言的扩充。由于C+语言既有数据抽象和面向对象能力,运行性能高,又能与C语言相兼容,使得数量巨大的C语言程序能方便地在C+语言环境中重用。因而近年来C+语言迅速流行,成为当前面向对象程序设计的主流语言。,3.3.4 主要程序语言介绍,其他语言,除了以上介绍的几种程序语言外,有影响的程序语言还有:LISP语言:适用于符号操作和表处理,主要用于人工智能领域PROLOG语言:一种逻辑式编程语言,主要用于人工智能领域Ada
19、语言:类似于PASCAL语言,且易于控制并行任务和处理异常情况。MATLAB:一种面向向量和矩阵运算的提供数据可视化等功能的数值计算语言。,3.3.4 主要程序语言介绍,3.4 算法和数据结构,重点:算法和数据结构的基本概念 难点:常见的数据结构,3.4.1 算法,算法和数据结构 要使计算机完成某一问题的解题任务,首先必须针对该问题设计一个解题步骤,然后再据此编写程序。这里所说的解题步骤就是“算法”,而程序则是对解题对象和解题步骤用程序语言进行的一种描述。程序中用具有一定结构的变量来表示问题的对象,用函数和语句来实现解题的操作。因此“算法”和“数据结构”是编写程序所要首先考虑的两个重要方面。,
20、算法就是解决问题的方法与步骤。它是问题求解规则的一种过程描述。在算法中要精确定义一系列规则,这些规则指定了相应的操作顺序,以便在有限的步骤内得到所求问题的解答。算法的设计一般采用由粗到细,由抽象到具体的逐步求精的方法。,1、什么是算法,3.4.1 算法,算法的性质确定性:每一步运算应执行何种操作必须是最清楚明确、无二义性的有穷性:一个算法总是在执行了有穷步的运算后终止能行性:在计算机能力范围内且在有限时间内能完成输出:至少产生一个输出算法与程序的区别:一个程序不一定满足有穷性程序中的指令必须是机器可执行的,而算法中的运算语句则无此限制,3.4.1 算法,2、算法分析 分析一个算法的好坏,除其正
21、确性外,还应考虑以下因素:执行算法所要占用的计算机资源时间资源空间资源算法是否容易理解、是否易调试和测试等,3.4.1 算法,3.4.2 数据结构,1、什么是数据结构数据结构:程序设计中由若干数据单元按照一定方式构成的复合数据以及作用于其上的函数或运算。数据结构一般包括三个方面的内容:数据的逻辑结构数据的存储结构在数据上定义的运算的集合,2、数据的逻辑结构 数据的逻辑结构只抽象地反映数据的成分及其约束关系,而不管其在计算机中的存储方式。,例:线性表结构 树形结构,3.4.2 数据结构,3、数据的存储结构数据的存储结构实质上是它的逻辑结构在计算机存储器上的实现。为全面地反映一个数据元素的逻辑结构,它在存储器中的映象应包括两方面的内容:数据元素自身数据元素之间关系链接表是以指针方式表示的“线性表结构”,infolink,infolink,infolink,第1个学生,第2个学生,第n个学生,学生表的链接结构,3.4.2 数据结构,4、数据的运算对各种数据逻辑结构有相应的各类运算,每种逻辑结构都有一个运算的集合,常用的运算有:检索、插入、删除、更改、排序等。实质上,数据的运算定义在数据逻辑结构上,而其运算的具体实现要在存储结构上进行。,数据结构算法程序,3.4.2 数据结构,
链接地址:https://www.31ppt.com/p-5943509.html