计算机导论第三讲纯理论_第1页
计算机导论第三讲纯理论_第2页
计算机导论第三讲纯理论_第3页
计算机导论第三讲纯理论_第4页
计算机导论第三讲纯理论_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

计算机导论第三讲纯理论第一页,共四十页,编辑于2023年,星期五第3章计算机系统的软件3.1 计算机软件概述3.2 程序设计语言3.3 操作系统3.4软件工程第二页,共四十页,编辑于2023年,星期五3.1计算机软件概述(P100)1.什么是软件?

为运行、维护、管理及应用计算机所编制的所有程序及其文档资料的总和,称为计算机软件。简而言之,软件就是程序及其相关的文档。2.软件的分类操作系统

编辑、连接装配程序

系统软件

语言处理程序

汇编程序

数据库系统

编译程序

计算机软件

解释程序

应用软件

软件开发工具与环境

实用软件

用户程序第三页,共四十页,编辑于2023年,星期五也有将软件分为三大类,即系统软件、支撑软件和应用软件。这种分法将软件开发工具和环境从应用软件中分出来,将支持其它软件开发与维护的软件,称之为支撑软件。

3.计算机系统的组成计算机系统由硬件与软件组成,其层次结构如图3-2所示

硬件与软件的关系:(1)硬件是基础,但它只能执行二进制代码表示的机器语言程序。(2)软件加硬件构成了功能更完善,使用更方便的虚拟机(3)硬件与软件在逻辑功能上是等效的,它们之间没有固定不变的分界面(即硬件可软化,软件可硬化)

第四页,共四十页,编辑于2023年,星期五

3.2程序设计语言(P103)3.2.1算法与程序什么是算法定义:算法是精确定义的一系列规则,这些规则指出如何从给定问题的输入信息经过有限步骤产生出所求问题的输出信息。不同算法必须遵循的共性(1)确定性:算法的每一种运算必须有确切的定义(2)能行性:算法中有待实现的运算都可在有限时间内完成。(3)输入:一个算法有零个以上的输入。(4)输出:一个算法产生一个或多个输出。(5)有穹性:一个算法总是在执行了有穹步的运算后终止。

评价算法优劣的标准(1)空间复杂性S(n):按算法所编制的程序在计算机中所占用的存储单元的总数。n是问题的规模,显然S(n)是随n的增长而增加。(2)时间复杂性f(n):按算法所编制的程序在计算机执行时所耗费的时间。显然f(n)随n的增长而增加。

第五页,共四十页,编辑于2023年,星期五2.算法与程序的关系

求解问题的程序必须根据算法去编制,如同作战方案必须贯彻作战策略一样。算法是编制程序的依据。当一个算法在指明了所处理的数据及其相互之间的结构关系之后,即可形成解决某类特定问题的可执行的程序。

程序==算法+数据结构

第六页,共四十页,编辑于2023年,星期五3.2.2程序设计语言的发展过程

程序设计语言的发展已经历了四代,第五代语言尚处于萌芽状态。

1.第一代语言:机器语言组成:由二进制指令代码组成,也称二进制语言。特点:(1)机器语言可由计算机硬件直接识别和执行,故用机器语言编制的程序效率较高。(2)人工编写机器语言程序很繁琐,容易出错。(3)通用性差,不同计算机有不同的机器语言。

第七页,共四十页,编辑于2023年,星期五第二代语言:汇编语言组成:由指令的助记符(指令的英文名称的缩写)及相关语法规则组成举例:

表中列出了两条汇编语言中的伪指令ORG:起始地址定位伪指令END:汇编结束伪指令且指令地址和操作数地址用“符号”START,CON01~CON03表示。它们在“汇编”过程中将由“汇编程序”赋于真正的存储地址。这些都由汇编语言的语法规则所规定。

地址标号指令助记符注解

START:

d1d2d3ORG05HMOVR1,d1MOVR2,d2ADDR1,R2MOVd3,R1OUTPORT,d3HLT05H04H

END定义程序首地址为05H寄存器R1←(d1)寄存器R2←(d2)R1←(R1)+(R2)d3←(R1)端口PORT←(d3)停机存储单元(d1)=05H存储单元(d2)=04H存储单元d3用来存放结果汇编结束第八页,共四十页,编辑于2023年,星期五特点:

(1)用汇编语言编制的程序称为汇编语言程序,它不能为计算机硬件直接识别和执行。必须通过汇编程序(一种系统软件),将汇编语言程序(源程序)“翻译”为机器语言程序(目标程序)后,才能执行。

(2)汇编语言指令与机器语言指令一一对应,仍然依赖于计算机的硬件,称它们为低级语言。

(3)不同计算机有不同的汇编语言,彼此不能通用。

(4)与机器语言相比,记忆指令助记符较记忆指令代码容易,但仍然很繁琐。

第九页,共四十页,编辑于2023年,星期五3.第三代语言:高级语言组成:由表达各种意义的“词”、“数学公式”及特定的语法规则组成。由于它比较接近自然语言,并与机器的指令系统没有直接关系,故称它为高级程序设计语言,或算法语言。举例:

常用的高级语言有BASIC,FORTRAN,ALGOL,COBOL,C,PASCAL,PL/I等语句标号语句注解1015202530DATA5,4READA,BLETS=A+BPRINTSEND数据语句,说明5,4为原始数据读语句,令A=5,B=4赋值语句,求A+B之和S输出语句,打印S的值结束语句,本程序结束第十页,共四十页,编辑于2023年,星期五特点:

(1)可在不同的计算机上运行,通用性强。

(2)编程方便、简单、直观,不容易出错。

(3)用高级语言编写的源程序必须通过编译“或解释”生成机器语言程序(目标程序),才能在计算机上运行。如下图所示:

第十一页,共四十页,编辑于2023年,星期五4.第四代语言:在高级语言基础上集成的模块化语言。第四代语言实质上是可以快速开发应用软件的各种高生产率的软件工具的统称,它具有更强的编程功能。例如:面向过程的第四代语言:SQL,PowerBuilder和Delphi等。面向对象的编程语言和网络语言:VB(VisualBasic)VC,C++,HTML和Java等。各种软件开发工具。如CASE(计算机辅助软件工程),它已超出语言的范围,集语言、数据库于一体,形成了所谓信息系统应用生成工具。5.第五代语言第五代语言将是智能化语言,到目前为止,还没有公认的第五代语言出现。PROLOG语言可能成为第五代语言最著名的雏形。

第十二页,共四十页,编辑于2023年,星期五3.2.3高级语言的基本结构每种高级语言都有其自身的特点及特殊的用途,但它们的语法成份、层次结构却是相似的。研究它们的共性,有助于更好地学习高级语言。高级语言的层次结构,一般由基本元素,表达式及语句组成。基本元素:由基本符号组成,可分为数、逻辑值、名字、标号及字符串等五大类。基本符号包括单字符基本符号(字母、数字、特殊字符)及多字符基本符号。表达式:由基本符号和基本元素组成,可分为算术表达式,逻辑表达式和字符串表达式。语句:由基本元素、表达式等组成,通常包括下列语句:赋值语句:实现计算或存储转移语句:实现程序的转移条件语句:实现条件的测试和判断输入/输出语句:完成输入/输出任务循环语句:实现循环运算其它语句:实现其它特殊功能第十三页,共四十页,编辑于2023年,星期五用上述的基本元素、表达式、语句、按一定语法规则,便可编制高级语言程序,如下例所示:

例:编写一个求解一元二次方程的程序。

PROGRAMeq(input,output);VARa,b,c,d,t1,t2,:real:BEGINread(a,b,c);d:=b*b-4*a*c;t1:=-b/(2*a);t2:=sqrt(abs(d)/(2*a);IFd>=0THENwriteln(’x1=’,t1+t2,’x2=’,t1-t2)ELSEwriteln(’re=’,t1,’im=’,t2)END.

第十四页,共四十页,编辑于2023年,星期五2.面向过程的程序设计

高级语言是一种过程性语言,因为用该语言编写程序必须详细准确地描述解题过程,称为面向过程的程序设计。这种程序的功能隐含在程序代码中,其主要缺陷是:阅读理解现有程序的功能较难。开发应用系统耗时耗力,只有专业人员才能胜任。维护(修改)软件较难。为提高开发效率、增加系统的可理解性和可维护性,在进行面向过程程序设计时,采用了下列技术。

第十五页,共四十页,编辑于2023年,星期五

3.3操作系统(P144)对大多数使用过计算机的人来说,操作系统既熟悉又陌生。熟悉的是一打开机器,首先运行的就是操作系统,我们所有的工作都是在操作系统上运行的。但大多数人却又说不清什么是操作系统。

3.5.1操作系统概述

1.什么是操作系统关于操作系统的定义至今尚无权威性的说明。一般都从功能、用户、软件等多个角度来对操作系统作出解释,如下所示:操作系统是由程序和数据结构组成的大型系统软件,它负责计算机的全部软硬件资源分配、调度与管理,控制各类程序的正常执行,并为用户使用计算机提供良好的环境。前已指出,在硬件上加载操作系统之后,就变成一台与“裸机”大相径庭的“虚拟”计算机。其他的所有软件如编译软件、数据库系统、软件开发工具等系统软件以及浏览器、字处理软件、办公软件等应用软件都是以操作系统为基础,运行于“虚拟”机上的。该虚拟机为用户提供了两种不同级别的接口:最终用户接口和程序员接口,使用户能方便、灵活地使用计算机。

第十六页,共四十页,编辑于2023年,星期五(1)最终用户接口命令行式用户接口,如:DOS,UNIX—shell命令图形用户接口,如:Windows95/98,WindowsNTUNIX-XWindows(2)程序员接口(系统调用)

用户在程序中像调用子程序一样调用操作系统所提供的子功能。如:DOC中的INT21H,WindowsAPI(Windows应用编程接口)。

第十七页,共四十页,编辑于2023年,星期五2.操作系统的种类按系统功能,可将操作系统分为下列几类:(1)批处理操作系统特点:多个作业批量输入计算机,进行批量处理,无需人工干预。分类:①单道批处理系统。②多道批处理系统。优缺点:①多道批处理系统可使CPU与外设、各外设之间并行操作,提高CPU的利用率。②在处理过程中,无交互性,对运行中出现的问题不能及时处理。

第十八页,共四十页,编辑于2023年,星期五

(2)分时操作系统(分时系统)

特点:用户通过与计算机相连的终端,按时间片(如100ms)轮流使用计算机系统,直接与计算机交互,如同各用户都独占有自己的机器。

示例:

优缺点:①交互性好,能及时修改程序运行中所出现的错误,②要求CPU速度高,参与“分时”的用户数目有一定限制。

第十九页,共四十页,编辑于2023年,星期五(3)实时操作系统

特点:对于特定的输入,系统能够不失时宜地作出响应,并完成对该输入请求的处理。其及时性较分时系统要求更高(一般为毫秒级,甚至微妙级)其交互性较分时系统差。

分类:①实时控制系统,如生产过程控制系统,导弹控制系统等。②实时信息处理系统,如机票订购系统、联机情报检索系统等。

第二十页,共四十页,编辑于2023年,星期五

(4)网络操作系统

特点:是在单机操作系统基础上发展起来的,能对网络上的共享资源进行管理的操作系统,如:WindowsNTServer,Netware,UNIX等。

基本功能:①网络通信功能②网络资源的管理和使用(5)操作系统的其它分类方法①单用户操作系统(如MS—DOS)与多用户操作系统(如UNIX)②单任务操作系统(如MS—DOS)与多任务操作系统(如Windows95/98,WindowsNT)③嵌入式操作系统、掌上电脑操作系统及微机操作系统、主机操作系统等。

第二十一页,共四十页,编辑于2023年,星期五

3.操作系统的功能从资源管理的角度来看,操作系统对计算机硬软件资源的管理包括:(1)处理器(CPU)管理:在多道程序运行下,对于单处理器的计算机,操作系统要按一定策略实施CPU的分配调度,使CPU为多个程序交替服务,提高CPU的利用率。或者说,从“宏观”上看,将一个CPU虚拟化为多个CPU,供多个程序单独使用。(2)存储器管理:指对计算机的主存进行管理,包括:主存分配与回收:按一定策略为申请主存空间的作业分配主存,当作业运行完毕后,回收该作业所占据的主存空间,使它变为空闲区。主存的保护:为多个用户程序共享主存提供保护措施,使各自的程序与数据不被破坏。主存的扩充:为用户提供比实际主存容量大得多的虚拟存储空间。

第二十二页,共四十页,编辑于2023年,星期五(3)设备管理:指对计算机的各类外部设备(输入输出设备及外存储器)的管理,包括设备的分配与回收,启动外设工作,进行故障处理等。为提高设备的利用率,采用虚拟设备技术。为使用户方便、高效地使用设备,采用“屏蔽”技术,使用户使用设备时不必关心设备的物理特性。(4)文件管理:计算机中的所有信息(程序、数据及文档等)都是以文件形式保存在外存中。文件管理面向用户实现按名(文件名)存取;支持对文件的存取、检索、插入、修改和删除;解决文件的共享、保护和保密等问题。

第二十三页,共四十页,编辑于2023年,星期五(5)作业管理:作业是指用户提交任务,它包括用户程序、数据及作业控制说明。作业控制说明表达了用户对作业运行要求,可通过作业控制语言(JCL)或操作控制命令(最终用户接口提供)实现。作业管理一般包括:向用户提供实现作业控制的手段(即两类接口)按一定策略实现作业调度:从外存中选择若干作业装入主存,准备运行;作业完成后,进行资源回收。使各作业有效地共享系统资源,并尽可能满足用户要求。还需指出的是:(1)现代操作系统,除了应具备上述五大管理功能外,还应具有网络功能,即能够提供网络通信、网络服务、网络接口和网络资源管理等功能。(2)随着计算机技术的不断发展,向操作系统提出了许多更新更高的要求。但是,无论怎么变,目标是一致的:操作系统必须实现对计算机系统软硬件资源的高效管理,并向用户提供一个越来越易于使用的高效、安全的操作环境。

第二十四页,共四十页,编辑于2023年,星期五4.操作系统的特性为实现操作系统的目标,采用了三项技术:并发、共享和虚拟。正是这三种技术,使操作系统具有了区别于其它软件的几个最基本特征:程序的并发执行、资源共享及虚拟性。

第二十五页,共四十页,编辑于2023年,星期五3.5.3存储管理

1.存储管理概述存储管理是指主存管理,辅存管理将在设备管理及文件管理中讲述。主存管理的基本任务:分配与回收,保护,扩充。主存管理的常用方法。

(1)实主存管理(分区管理)

单一连续分区法

固定分区法

可变分区法

可重定位分区法

(2)虚存管理

页式存储管理

段式存储管理

段页式存储管理

第二十六页,共四十页,编辑于2023年,星期五3.5.5文件管理计算机系统中的软件资源,如源程序、目标程序、数据、编译程序等,都是以文件形式组织的。对这些文件的高效管理,并为用户提供方便、安全地使用这些文件的手段,是操作系统的另一个重要任务。1.文件及文件系统(1)文件:指逻辑上具有完整意义的一组相关信息的有序集合,它由文件体及文件控制块(FCB)所组成。其中,文件体是文件信息的本体,文件控制块则是文件的说明,包含有:文件名、用户名、文件类型、文件所在物理位置、文件建立日期等。(2)文件类型:按照不同观点,可将文件分成多类。(3)文件系统:操作系统中对文件进行组织、存取和管理的机构(软件集合),称之文件管理系统,简称文件系统。

第二十七页,共四十页,编辑于2023年,星期五2.文件系统的功能

文件系统的主要功能是实现“按名存取”,具体包括:(1)实现从逻辑文件到物理文件的转换逻辑文件:按用户使用要求构造的文件。它是面向用户的。·

物理文件:按存储介质(如磁盘、磁带)的物理特性构造的文件。它是面向设备的。为使用户方便地按名存取文件,文件系统为用户“屏蔽”了复杂的辅存特性及文件在辅存上的具体操作,实现逻辑文件到物理件的转换。(2)有效地分配文件的存储空间。(3)建立文件目录,提供合适的存取方法。(4)实现文件的共享、保护和保密。

第二十八页,共四十页,编辑于2023年,星期五3.文件的组织文件系统提供了上述的两种文件结构:逻辑结构,物理结构。(1)文件的逻辑结构(逻辑文件)流式文件:将文件信息作为一个整体来管理和使用的文件。如由系统程序、源程序、标准子程序等信息组成的文件。记录式文件:由若干个相关记录所组成的文件。文件系统以记录为单位对文件进行管理,用户则按文件名和记录号以记录为单位使用文件中的信息。如下表所示:

记录号学号姓名班级各科成绩政治外语操作系统…1911001李方一班858075

2911002张海燕一班908492

3911003王石磊一班879181

4911004赵卫三班707580

表中,每个记录是一个学生的各科成绩,它由多个数据项组成,其中至少有一个数据项能用来唯一标识该记录,称为记录的主键(关键字),如表中的“学号”、“记录号”。逻辑文件中的记录称为逻辑记录,它要存放在外存空间(如磁盘)的“物理块”中,或称“物理记录”。逻辑记录与物理记录的大小一般是不相等的。

第二十九页,共四十页,编辑于2023年,星期五5.文件的共享、保护和保密(1)文件的共享:文件作为软件资源可供多个用户共同使用,称之文件共享。实现文件共享的方法有:连访法(用指针链指向同一信息文件)采用基本文件目录和符号文件目录的多级目录结构。(2)文件保护:防止文件因硬件故障或共享文件时遭受破坏,称之文件保护。实现文件保护的方法有:建立存取控制权限表,定期转储,建立多个副本等。(3)文件的保密:防止他人窃取文件,称之文件保密。实现文件保密的方法有:设置口令,对文件进行加密等。

第三十页,共四十页,编辑于2023年,星期五6.文件的使用(1)文件的存取方式文件的存取方法不仅与文件的性质有关,而且与用户怎样使用文件有关,如下表所示:

(2)文件的操作文件系统为用户提供下列文件操作命令

·建立文件(CREATE

文件名,文件属性,设备号)

·打开文件(OPEN文件名)

·关闭文件(CLOSE文件名)

·读文件(READ文件名,记录号,外存地址)

·撤消文件(DELETE文件名)

.写文件(WRITE文件名,记录号,外存地址)

存存取方取结构 式介质类型顺序存取随机存取磁盘顺序文件,链接文件,索引文件索引文件磁带顺序文件

第三十一页,共四十页,编辑于2023年,星期五3.4软件工程(P169)3.6.1软件工程概述(P169)1.软件的发展及软件“危机”

(1)计算机软件是随着计算机硬件的发展及计算机的广泛应用而不断发展的。早在计算机发展的初期,除了程序清单之外,没有其他任何文档资料。在这段时期内,只有程序的概念,而没有计算机软件的概念。

(2)在20世纪60年代中期,形成了计算机软件的概念:软件不仅仅是可运行的程序系统,它必须有全套完整的文档,即“软件=程序+文档”。

(3)20世纪70年代中期以后,软件的规模越来越大开发周期越来越长,使原先的手工作坊方式开发软件的成本急骤上升。“软件作坊”开发的软件不仅效率低,而且质量差(不可靠、难以维护和修改、难于移植),无法适应硬件的不断升级。出现了旧的软件没有修改好,新技术又要求软件做新的修改,开发的软件半途而废的例子屡见不鲜,出现了所谓的“软件危机”。

(4)为了解决“软件危机”,软件业界提出了软件工程(SoftwareEngineering)的思想。第三十二页,共四十页,编辑于2023年,星期五2.软件工程学的主要内容(1)软件工程的定义软件工程是以系统的、规范的、定量的方法应用于软件的开发、运营和维护,以及对这些方法的研究。(2)软件工程的主要内容是软件开发技术和软件工程管理。软件开发方法研究软件开发方法(SoftwareDevelopmentMethods)的目的是使开发过程规范化,使开发有计划、按步骤地进行。常用的软件开发方法有:面向数据流设计方法SD、面向数据结构设计方法JDM和面向对象设计方法OOD。第三十三页,共四十页,编辑于2023年,星期五软件工具软件工具(SoftwereTools)是指帮助开发和维护软件的软件,也称软件自动工具(SoftwareAutomatedTools)。软件工程环境软件工程环境正是软件方法和工具的结合,其定义是:软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。软件工程管理学软件工程管理就是对软件工程生存期内的各阶段的活动进行管理,实现按预定的时间和费用成功地完成软件的开发和维护。第三十四页,共四十页,编辑于2023年,星期五

3.6.2软件开发模型(P171)软件开发模

温馨提示

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

评论

0/150

提交评论