1、1 计算机软件计算机软件 21计算机软件分类计算机软件分类n一个完整的计算机系统有两个基本组成一个完整的计算机系统有两个基本组成部分:部分:硬件和软件硬件和软件n计算机硬件:组成计算机各种物理设备的总:组成计算机各种物理设备的总称称n计算机软件(Computer Software):能):能指示计算机完成特定任务的、以电子格式存指示计算机完成特定任务的、以电子格式存储的储的程序、数据和相关的文档。31计算机软件分类计算机软件分类n软件的软件的版权版权n授于授于软件作者软件作者的某种独占权利的一种合法保护形式,版权所的某种独占权利的一种合法保护形式,版权所有者惟一地享有该软件的拷贝、发布、修改、
2、署名、出售的有者惟一地享有该软件的拷贝、发布、修改、署名、出售的诸多权利。诸多权利。n软件软件许可证许可证n是一种法律合同,它是一种法律合同,它确定了用户对软件的使用方式确定了用户对软件的使用方式,扩大了,扩大了版权法给予用户的权利。(版权法给予用户的权利。(50用户、用户、100用户)用户)n从应用的角度出发,将软件分为:从应用的角度出发,将软件分为:系统软件,应用软系统软件,应用软件件。41计算机软件分类计算机软件分类n1.1系统软件系统软件n1.2应用软件应用软件n1.3层次结构层次结构51计算机软件分类计算机软件分类61.1系统软件系统软件n概念概念n用来有效地运行计算机系统、给应用用
3、来有效地运行计算机系统、给应用软件开发与运行提供支持、为用户管软件开发与运行提供支持、为用户管理与使用计算机提供方便的一类软件。理与使用计算机提供方便的一类软件。71.1系统软件系统软件n系统软件的主要特征:系统软件的主要特征:n(1)与具体的应用领域无关,而与计算机)与具体的应用领域无关,而与计算机硬件系统有很强的交互性,要对硬件共享资硬件系统有很强的交互性,要对硬件共享资源进行调度管理。源进行调度管理。n(2)系统软件中的数据结构复杂,外部接)系统软件中的数据结构复杂,外部接口多样化,用户能够对它反复使用。口多样化,用户能够对它反复使用。81.2应用软件应用软件n概念:概念:n针对多种应用
4、需求出现的用于解决各种不同针对多种应用需求出现的用于解决各种不同具体应用问题具体应用问题的专门软件的专门软件 n应用软件按照开发方式和适用范围分为:应用软件按照开发方式和适用范围分为:n(1)通用应用软件通用应用软件:可以在许多行业和部:可以在许多行业和部门中共同使用。门中共同使用。n(2)定制应用软件定制应用软件:为不同领域的用户的:为不同领域的用户的特定应用要求而专门设计的软件特定应用要求而专门设计的软件91.2应用软件应用软件类类 别别功功 能能流行的通用应用软件名称流行的通用应用软件名称文字处理文字处理文本编辑、文字处理、桌面排版等WPS、Word、Wordperfect、page M
5、aker等电子表格电子表格表格定义、计算和处理等Excel、Lotus1-2-3 等图形、图象图形、图象图象处理、几何图形绘制等AutoCAD、Photoshop等网络通信网络通信电子邮件、网络文件管理、远程计算、浏览等Outlook Express、Mail、CC-mail等简报软件简报软件幻灯片、演讲报告制作等PowerPoint、show partner等统计软件统计软件统计、汇总、分析等SPSS、SAS、BMDP等101.2应用软件应用软件n【2007真题真题】应用软件分为通用应用软应用软件分为通用应用软件和定制应用软件两类,下列软件中全件和定制应用软件两类,下列软件中全部属于部属于通
6、用应用软件通用应用软件的是。的是。nAWPS、Windows、WordnBPowerPoint、MSN、UNIXnCALGOL、Photoshop、FORTRANnDPowerPoint、Photoshop、Word111.3层次结构层次结构应用软件应用软件语言语言处理处理程序程序数据库数据库管理系管理系统统服务程序与服务程序与工具软件工具软件操作系统操作系统裸机裸机12计算机软件的发展计算机软件的发展阶段时间描述第一阶段上世纪40年代到50年代中期科学与工程计算;使用低级语言编制程序第二阶段上世纪50年代到60年代后期第一个高级语言FORTRAN及其翻译程序出现。产生了操作系统。60年代初期
7、,出现“软件”术语。60年代中期发生“软件危机”第三阶段上世纪70年代至今出现了“软件工程”的概念,用以满足高质高效编制软件的需求132操作系统操作系统n2.1操作系统的作用操作系统的作用n2.2操作系统的功能操作系统的功能n2.3操作系统的介绍操作系统的介绍142.1操作系统的作用操作系统的作用n(1)管理系统中的各种软硬件资源)管理系统中的各种软硬件资源n(2)为用户提供各种友善的服务界面)为用户提供各种友善的服务界面n用户界面用户界面:也称:也称用户接口或人机界面用户接口或人机界面,是计算机系,是计算机系统实现用户与计算机通信的软、硬件部分的总称。统实现用户与计算机通信的软、硬件部分的总
8、称。n图形用户界面图形用户界面(GUI):采用窗口、图符、菜单及):采用窗口、图符、菜单及指点设备技术和多窗口系统等软件,并以指点设备技术和多窗口系统等软件,并以直接操纵直接操纵为主要使用方法,使得用户能够灵活、方便、有效为主要使用方法,使得用户能够灵活、方便、有效地使用计算。地使用计算。n(3)为应用程序的开发和运行提供一个高效)为应用程序的开发和运行提供一个高效率的平台率的平台152.1操作系统的作用操作系统的作用n裸机裸机n没有软件支持的计算机。没有软件支持的计算机。n操作系统是最接近计算机硬件的系统软件操作系统是最接近计算机硬件的系统软件,通过它,通过它管理计算机资源并在用户(或应用程
9、序)与硬件之管理计算机资源并在用户(或应用程序)与硬件之间提供一个接口。间提供一个接口。n自举自举n装载操作系统软件并启动执行的过程。计算机的装载操作系统软件并启动执行的过程。计算机的ROM中固化了一小部分操作系统指令(基本中固化了一小部分操作系统指令(基本I/O系系统,又称统,又称BIOS),计算机加电后,自动执行),计算机加电后,自动执行BIOS, BIOS先把一部分程序从磁盘读入内存,然后再由先把一部分程序从磁盘读入内存,然后再由读入的这部分程序装载其他所需的操作系统软件。读入的这部分程序装载其他所需的操作系统软件。这个过程称作为这个过程称作为“自举自举”或或“引导引导” 162.2操作
10、系统的功能操作系统的功能n1. 任务管理任务管理n2. 存储管理存储管理n3. 文件管理文件管理n4. 设备管理设备管理n5. 作业管理作业管理171. 任务管理任务管理n进程进程n操作系统调度的操作系统调度的基本单位基本单位,反映程序的一次,反映程序的一次执行过程(包括启动、运行并在一定条件下执行过程(包括启动、运行并在一定条件下中止或结束)。中止或结束)。n进程管理进程管理n对处理机资源进行管理。对处理机资源进行管理。n多进程技术多进程技术n解决解决CPU资源的分配和回收等问题,以资源的分配和回收等问题,以使使CPU资源得到最充分利用资源得到最充分利用。181. 任务管理任务管理n多任务处
11、理(多任务处理(multitaskingmultitasking)n中央处理器中央处理器是计算机系统的核心资源,为了是计算机系统的核心资源,为了提高提高CPU的利用率,操作系统一般都支持的利用率,操作系统一般都支持同时运行若干个程序,并采用一定的算法使这若干个程序宏观上都进入到运行状态。191. 任务管理任务管理n活动窗口和非活动窗口活动窗口和非活动窗口n多个任务同时运行时,接受用户输入信息的多个任务同时运行时,接受用户输入信息的窗口只能有一个,称为窗口只能有一个,称为活动窗口活动窗口。其对应的。其对应的任务称为任务称为前台任务前台任务。 活动窗口标题栏的颜活动窗口标题栏的颜色与非活动窗口标题
12、栏的色与非活动窗口标题栏的颜色不同颜色不同。n并行处理并行处理nWindows操作系统采用操作系统采用并发并发(concurrency)的多任务方式)的多任务方式实现多任务实现多任务的执行。(前台任务和后台任务的执行。(前台任务和后台任务都都能分配到能分配到CPU的使用权)的使用权)201. 任务管理任务管理nCPU的调度策略的调度策略分时处理分时处理n操作系统中有一个处理器调度程序把操作系统中有一个处理器调度程序把CPU分分配给各个任务,一般采用按配给各个任务,一般采用按时间片(时间片(20ms20ms)轮转轮转的策略,使每个任务都能轮流得到一个的策略,使每个任务都能轮流得到一个时间片的时间
13、片的CPU时间,时间片结束以后调度程时间,时间片结束以后调度程序把序把CPU交给下一个任务。交给下一个任务。n抢占式(抢占式(Preemptive)多任务方式)多任务方式n只要时间片结束,正在执行的任务被强行终只要时间片结束,正在执行的任务被强行终止,调度程序收回止,调度程序收回CPU控制权。控制权。n该方式提高了操作系统运行的稳定性。该方式提高了操作系统运行的稳定性。212. 存储管理存储管理n存储管理:管理存储管理:管理内存资源内存资源的高效、合理使用。的高效、合理使用。n存储管理的作用存储管理的作用n合理地为计算机中的数据和程序分配内存空间,做合理地为计算机中的数据和程序分配内存空间,做
14、到用户存放在内存中的程序和数据既能到用户存放在内存中的程序和数据既能彼此隔离、彼此隔离、互不侵扰,又能在一定条件下共享互不侵扰,又能在一定条件下共享。n当内存不够用时,还要解决内存扩充问题,把内存当内存不够用时,还要解决内存扩充问题,把内存和外存结合起来管理,为用户提供一个容量比实际和外存结合起来管理,为用户提供一个容量比实际内存大得多的内存大得多的“虚拟存储器虚拟存储器”。222. 存储管理存储管理n虚拟存储技术虚拟存储技术n假设假设硬盘硬盘为一个容量极大的虚拟内存,将程序(及为一个容量极大的虚拟内存,将程序(及其数据)划分成一个个其数据)划分成一个个“页面页面”,每页为固定大小每页为固定大
15、小。运行程序时将当前要执行的部分程序和数据装入运行程序时将当前要执行的部分程序和数据装入物物理内存理内存,其余部分装入,其余部分装入虚拟内存虚拟内存。当遇到需要执行。当遇到需要执行的指令或数据不在物理内存中(缺页)时,根据一的指令或数据不在物理内存中(缺页)时,根据一定的算法将物理内存中暂时不用的页面调出到虚拟定的算法将物理内存中暂时不用的页面调出到虚拟内存,而将虚拟内存中需要的页面调入到物理内存内存,而将虚拟内存中需要的页面调入到物理内存中,然后继续运行程序。中,然后继续运行程序。232. 存储管理存储管理n在在Windows操作系统中,操作系统中,虚拟存储器虚拟存储器是是由计算机的由计算机
16、的物理内存物理内存(主板上的(主板上的RAM)和和硬盘上的虚拟内存硬盘上的虚拟内存(数据交换文件)(数据交换文件)联合组成的。联合组成的。n对于用户来说,使用虚拟内存技术可以对于用户来说,使用虚拟内存技术可以使得计算机系统的使得计算机系统的内存容量理论上与硬内存容量理论上与硬盘一样大盘一样大。243. 文件管理文件管理n在外存储器上,数据在外存储器上,数据以文件为单位以文件为单位进行存放和管理。进行存放和管理。n文件文件n存储在磁盘上、具有符号名的一组相关信息的集合。存储在磁盘上、具有符号名的一组相关信息的集合。n文件目录(文件夹)文件目录(文件夹)n计算机中有数以万计的文件,为了分门别类的有
17、序存放,操计算机中有数以万计的文件,为了分门别类的有序存放,操作系统把他们组织在文件目录中。许多操作系统采用作系统把他们组织在文件目录中。许多操作系统采用树型目树型目录结构录结构来进行管理。来进行管理。 nWindows中文件目录也称为文件夹,它采用中文件目录也称为文件夹,它采用多级层次多级层次式结构式结构(也叫(也叫树状结构树状结构)。)。253. 文件管理文件管理n文件的组成文件的组成:文件中除了:文件中除了程序和数据程序和数据之之外,还包含了一些外,还包含了一些说明信息说明信息,包括文件,包括文件名,文件类型,文件的物理位置,文件名,文件类型,文件的物理位置,文件大小,文件时间(创建时间
18、,最近修改大小,文件时间(创建时间,最近修改时间,最近访问时间等),文件的创建时间,最近访问时间等),文件的创建者,文件属性等。者,文件属性等。n文件的组成结构文件的组成结构: 文件说明信息文件内容263. 文件管理文件管理n文件的属性文件的属性:决定了文件的操作性和可:决定了文件的操作性和可视性。视性。n系统文件系统文件n构造操作系统本身的文件,删除时会提出警告,构造操作系统本身的文件,删除时会提出警告,一般隐藏不见。一般隐藏不见。n隐藏文件隐藏文件n一般不可见。一般不可见。n存档文件存档文件n普通文件,可以被读取、修改和保存。普通文件,可以被读取、修改和保存。n只读文件只读文件n文件只能阅
19、读,不能进行修改。文件只能阅读,不能进行修改。274. 设备管理设备管理n设备管理设备管理n对计算机系统中对计算机系统中除了除了CPUCPU和内存以外和内存以外的所有的所有I/O设备设备的管理。进而言之,设备管理的对象除了进行实际的管理。进而言之,设备管理的对象除了进行实际I/O操作的设备外,还包括诸如操作的设备外,还包括诸如控制器、通道控制器、通道等支等支持设备。持设备。n设备管理任务设备管理任务n外部设备的外部设备的分配分配、启动启动和和故障处理故障处理,用户不必详细,用户不必详细了解设备及接口的技术细节,就可以了解设备及接口的技术细节,就可以利用利用驱动程序驱动程序对相应的设备进行操作。
20、对相应的设备进行操作。n采用技术采用技术n中断中断技术、技术、通道通道技术、技术、虚拟设备虚拟设备技术和技术和缓冲缓冲技术技术285. 作业管理作业管理n作业管理的任务作业管理的任务是为用户提供一个使用系统的是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流良好环境,使用户能有效地组织自己的工作流程。程。n用户要求计算机处理某项工作称为一个用户要求计算机处理某项工作称为一个作业作业,一个作业包括一个作业包括程序程序、数据数据以及以及解题的控制步骤解题的控制步骤。n用户一方面使用作业管理提供用户一方面使用作业管理提供“作业控制语言作业控制语言”来来书写自己控制作业执行的操作说明书
21、;书写自己控制作业执行的操作说明书;n另一方面使用作业管理提供的另一方面使用作业管理提供的“命令语言命令语言”与计算与计算机资源进行交互活动,请求系统服务。机资源进行交互活动,请求系统服务。292.2操作系统的功能操作系统的功能n【2007真题真题】虚拟存储技术是将虚拟存储技术是将上的一部分作为内存来使用。上的一部分作为内存来使用。nA硬盘硬盘B缓存缓存C光盘光盘内内存条存条n【2007真题真题】在计算机系统中,对计算在计算机系统中,对计算机各类资源进行统一管理和调度的软件机各类资源进行统一管理和调度的软件是。是。nA语言处理程序语言处理程序B应用软件应用软件nC操作系统操作系统数据库管理系数
22、据库管理系统统30操作系统的类型操作系统的类型n批处理系统批处理系统n操作人员将待处理的计算任务(成批地装入操作人员将待处理的计算任务(成批地装入计算机,由操作系统将作业按规定的格式组计算机,由操作系统将作业按规定的格式组织好存入磁盘的指定区域,然后按照某种调织好存入磁盘的指定区域,然后按照某种调度策略选择一个或几个搭配得当的作业调入度策略选择一个或几个搭配得当的作业调入内存加以处理。内存加以处理。31操作系统的类型操作系统的类型n批处理优点:批处理优点:n提高系统资源利用率提高系统资源利用率n增大作业吞吐量增大作业吞吐量n实现作业流程的自动化实现作业流程的自动化32操作系统的类型操作系统的类
23、型n分时处理系统分时处理系统n允许多个用户同时联机使用计算机。允许多个用户同时联机使用计算机。n采用采用时间片轮转时间片轮转的方式处理用户的服务请求,的方式处理用户的服务请求,使每个用户得以完成自己的任务。使每个用户得以完成自己的任务。n主要目标主要目标:对用户响应的及时性。:对用户响应的及时性。33操作系统的类型操作系统的类型n实时系统实时系统n操作系统能够操作系统能够及时响应及时响应随机发生的外部事件,随机发生的外部事件,并在规定的时间范围内完成对该事件的处理。并在规定的时间范围内完成对该事件的处理。n实时系统的分类:实时系统的分类:n实时控制系统实时控制系统n实时信息处理系统实时信息处理
24、系统34操作系统的类型操作系统的类型n个人计算机操作系统个人计算机操作系统n为个人计算机安装的操作系统是一种为个人计算机安装的操作系统是一种联机交联机交互的单用户操作系统互的单用户操作系统。n目前提供的此类系统都支持目前提供的此类系统都支持多任务处理多任务处理35操作系统的类型操作系统的类型n高性能计算机操作系统高性能计算机操作系统n要求在任务管理、存储管理和设备管理上具要求在任务管理、存储管理和设备管理上具有有比一般操作系统更强大的功能比一般操作系统更强大的功能。此外,还。此外,还应增强下列功能:应增强下列功能:n保障系统的安全性。保障系统的安全性。n记帐功能记帐功能,记录各类用户作业占用,
25、记录各类用户作业占用CPU的时间,的时间,以便核算用户使用计算机的费用。以便核算用户使用计算机的费用。n运行运行特殊的通信程序控制访问特殊的通信程序控制访问。36操作系统的类型操作系统的类型n网络操作系统网络操作系统n在原来各自计算机的操作系统上,按照网络在原来各自计算机的操作系统上,按照网络体系结构的各个协议标准扩充其功能,包括体系结构的各个协议标准扩充其功能,包括网络管理,通信,资源共享网络管理,通信,资源共享,系统安全和多系统安全和多种网络应用服务等。种网络应用服务等。n网络操作系统一般包括两个部分网络操作系统一般包括两个部分:n服务器部分服务器部分n客户机部分客户机部分37操作系统的类
26、型操作系统的类型n分布式操作系统分布式操作系统n用来管理分布式系统中的所有资源用来管理分布式系统中的所有资源n至于用户操作被指定在哪一台计算机上执行至于用户操作被指定在哪一台计算机上执行或使用哪一台计算机的资源,则是由操作系或使用哪一台计算机的资源,则是由操作系统完成的。统完成的。n分布式系统更强调分布式系统更强调分布式计算和处理分布式计算和处理,因此,因此对于多机合作和系统重构、健壮性和容错能对于多机合作和系统重构、健壮性和容错能力有更高的指标力有更高的指标382.3操作系统的介绍操作系统的介绍n1. DOS操作系统操作系统n2. Windows操作系统操作系统n3. UNIX操作系统操作系
27、统n4. Linux操作系统操作系统39DOS操作系统操作系统nDOS是是Disk Operation System(磁盘操作(磁盘操作系统)系统)n一个基于一个基于磁盘管理磁盘管理的操作系统。的操作系统。n是命令行形式的,靠输入命令来进行人机对话,并是命令行形式的,靠输入命令来进行人机对话,并通过通过命令命令的形式把指令传给计算机,让计算机实现的形式把指令传给计算机,让计算机实现操作的。操作的。n常见的常见的DOS有两种:有两种:IBM公司的公司的PC-DOS和微软公和微软公司的司的MS-DOS。n DOS分为分为核心启动程序核心启动程序和和命令程序命令程序两个部分。两个部分。40DOS操作
28、系统操作系统nDOS的核心启动程序的核心启动程序nBoot系统引导程序、系统引导程序、IO.SYS、MSDOS.SYS和和COMMAND.COMnDOS命令命令n分为分为内部命令内部命令和和外部命令外部命令。n内部命令内部命令是一些常用而所占空间不大的命令程序,是一些常用而所占空间不大的命令程序,如如dir、cd等,存在于等,存在于COMMAND.COM文件中,文件中,会会在系统启动时加载到内存在系统启动时加载到内存中,以方便调用。中,以方便调用。n外部命令外部命令则以单独的可执行文件存在,在使用时才则以单独的可执行文件存在,在使用时才被调入内存。被调入内存。41Windows操作系统操作系统
29、n从从Windows 95开始,开始,Windows均是均是机器字长机器字长32位的位的单用户单用户、多任务多任务的操作的操作系统。系统。n单用户:一台计算机一次只允许单用户:一台计算机一次只允许一个用户一个用户使使用。用。n多任务:允许一个用户同时运行多任务:允许一个用户同时运行多个应用程多个应用程序序42Windows操作系统操作系统nWindows 9x特点特点n(1)支持)支持图形用户图形用户界面界面n(2)支持)支持“即插即用即插即用”的系统配置方法的系统配置方法n(3)提供)提供通信软件通信软件,使用户的计算机系统,使用户的计算机系统联接到联接到Internet上上43Window
30、s操作系统操作系统nWindows NT(New Technology)和)和NT工工作站作站n一个一个网络操作系统网络操作系统。网络中运行。网络中运行Windows NT的计的计算机作为算机作为服务器服务器,它存储着诸多共享资源网络中除,它存储着诸多共享资源网络中除服务器外,还有供用户使用的服务器外,还有供用户使用的客户机客户机部分。客户机部分。客户机可以是一般的可以是一般的PC机,其上可以运行机,其上可以运行NT客户机软件,客户机软件,也可运行也可运行Windows 95或或Windows 98。44Windows操作系统操作系统nWindows NT(New Technology)和)和
31、NT工工作站作站nWindows NT含有含有内置的网络功能内置的网络功能,支持许多,支持许多通讯通讯协议协议,并且具有一个集中的安全系统,以监测各种,并且具有一个集中的安全系统,以监测各种系统资源。系统资源。n与与NT操作系统服务器版本操作系统服务器版本相对应的是相对应的是NT的工作站的工作站标准版标准版,称为,称为NT Workstation,它主要运行在,它主要运行在点点对点对点环境中,这个版本可提供多种管理软件和工具环境中,这个版本可提供多种管理软件和工具软件。软件。 45Windows操作系统操作系统nWindows 2000与与2000工作站工作站nWindows 2000在在使用
32、使用Windows NT的的内核内核的同的同时增加了许多新的功能。如在即插即用方面,它支时增加了许多新的功能。如在即插即用方面,它支持持USB设备设备,支持功率的调节和各种硬件编程接口,支持功率的调节和各种硬件编程接口等。在实用性、安全性和稳定性方面都有所超越。等。在实用性、安全性和稳定性方面都有所超越。 nWindows 2000Windows 2000有以下几种不同的版本有以下几种不同的版本 nWindows 2000 ProfessionalnWindows 2000 ServernWindows 2000 Advanced ServernWindows 2000 Datacenter
33、Server 46Windows操作系统操作系统nWindows XP和和Windows.NET(Windows 2003)nWindows XP是基于是基于NT的内核,集成了其的内核,集成了其稳定性、安全性及多媒体和网络功能,使微稳定性、安全性及多媒体和网络功能,使微软的前台软的前台OS不再采用不再采用9X9X系列的内核系列的内核。nWindows.NET servern以以XML标准标准作为信息交换格式,具有无线接作为信息交换格式,具有无线接入、语言支持的入、语言支持的OS新版本、其可靠性、安新版本、其可靠性、安全性和易操作性方面有了进一步提高。全性和易操作性方面有了进一步提高。47UNI
34、X操作系统操作系统nUNIX操作系统是(美)操作系统是(美)Bell实验室开发的一实验室开发的一种通用多用户交互式分时操作系统。种通用多用户交互式分时操作系统。nUNIX系统已成为国际上目前使用最广泛、影系统已成为国际上目前使用最广泛、影响最大的主流操作系统之一。响最大的主流操作系统之一。nUNIX系统的体系结构可分为两大部分系统的体系结构可分为两大部分n内核部分内核部分,负责利用硬件所提供的基本操作,向外,负责利用硬件所提供的基本操作,向外层提供全部应用程序所需的服务;层提供全部应用程序所需的服务;n外层应用子系统外层应用子系统,包括,包括UNIX系统的系统的命令解释程序命令解释程序(she
35、ll)、)、文本处理程序文本处理程序、邮件通信程序邮件通信程序及及源代码源代码控制系统控制系统等,用户可用等,用户可用“系统调用系统调用”对其进行调用。对其进行调用。48UNIX操作系统的特色操作系统的特色n结构简练。以结构简练。以树形目录结构树形目录结构的文件系统的文件系统为基础,且将各种设备都定义为特殊文为基础,且将各种设备都定义为特殊文件,统一处理。件,统一处理。n功能强大功能强大n易移植性好。该系统易移植性好。该系统90%以上的代码以上的代码使用使用C语言编写的。语言编写的。49UNIX操作系统的特色操作系统的特色n可伸缩性和互操作性强。可伸缩性和互操作性强。n可伸缩性可伸缩性是指系统
36、在性能范围很宽的配置硬件上是指系统在性能范围很宽的配置硬件上运行的能力运行的能力n互操作性互操作性是指在不同厂家的机器上运行和通信的是指在不同厂家的机器上运行和通信的能力。这两点是开放系统所应具有的基本特征。能力。这两点是开放系统所应具有的基本特征。UNIX系统可以从笔记本电脑直到巨型计算机上系统可以从笔记本电脑直到巨型计算机上都能运行。都能运行。n容纳新技术的能力强。网络中服务器安装的容纳新技术的能力强。网络中服务器安装的操作系统的首选。操作系统的首选。n网络通信功能强。著名的网络通信功能强。著名的TCP/IP网络协议网络协议是在是在UNIX上开发成功的。上开发成功的。50Linux操作系统
37、操作系统nLinux操作系统的优势反映在操作系统的优势反映在网络服务器网络服务器方面,方面,其内核中包含许多网络协议,已其内核中包含许多网络协议,已成为网络上最成为网络上最普遍的服务器架构模式普遍的服务器架构模式。nLinux操作系统作为一个操作系统作为一个多用户、多任务的操多用户、多任务的操作系统作系统,支持,支持多工作平台和多处理器多工作平台和多处理器。它不仅。它不仅可提供多达可提供多达4TB的文件系统,同时还可支持多的文件系统,同时还可支持多种其他的文件系统。种其他的文件系统。51Linux操作系统操作系统nLinux系统是一种系统是一种“自由软件自由软件”。它属于一种。它属于一种GPL
38、(General Public License)软件。其)软件。其源源代码代码向世人向世人公开公开,吸引对该系统感兴趣的人们,吸引对该系统感兴趣的人们共同工作。共同工作。523. 1 程序设计语言分类程序设计语言分类n程序设计语言按其级别可以划分为程序设计语言按其级别可以划分为n机器语言机器语言、汇编语言汇编语言和和高级语言高级语言三大类。三大类。n机器语言机器语言n使用使用计算机指令系统计算机指令系统的程序语言。的程序语言。n汇编语言汇编语言n用用助记符助记符来代替机器指令的操作码和操作数来代替机器指令的操作码和操作数 n高级语言高级语言n又称又称算法语言算法语言,其表示方法接近解决问题的表
39、示方,其表示方法接近解决问题的表示方法,而且具有法,而且具有通用性通用性,在一定程度上与机器无关。,在一定程度上与机器无关。 53高级程序语言基本成分高级程序语言基本成分n数据成分数据成分:描述程序所处理的数据对象:描述程序所处理的数据对象n(数据类型、数据结构)(数据类型、数据结构)n运算成分运算成分:描述程序所包含的运算:描述程序所包含的运算n(算术表达式、逻辑表达式)(算术表达式、逻辑表达式)n控制成分控制成分:表达程序中的控制构造:表达程序中的控制构造n(条件判断、循环判断)(条件判断、循环判断)n传输成分传输成分:表达程序中的数据传输:表达程序中的数据传输n(输入(输入/输出)输出)
40、54语言处理系统语言处理系统n把用软件语言(包括汇编语言和高级语言)编把用软件语言(包括汇编语言和高级语言)编写的各种程序变换成可在计算机上执行的程序,写的各种程序变换成可在计算机上执行的程序,或最终的计算结果,或其他中间形式。或最终的计算结果,或其他中间形式。n语言处理系统包括:语言处理系统包括:n翻译程序翻译程序n正文编辑程序:用于建立和修改源程序文件正文编辑程序:用于建立和修改源程序文件n联接编辑程序:将多个分别编译或汇编过的目标程联接编辑程序:将多个分别编译或汇编过的目标程序和库文件进行组合序和库文件进行组合n装入程序:将目标程序装入内存并启动执行装入程序:将目标程序装入内存并启动执行
41、55翻译程序翻译程序n程序语言处理系统随被处理的语言及其程序语言处理系统随被处理的语言及其处理方法和处理过程的不同而异。处理方法和处理过程的不同而异。n任何一个语言处理系统通常都包含一个任何一个语言处理系统通常都包含一个翻译程序,它把一种语言的程序翻译成翻译程序,它把一种语言的程序翻译成等价的另一种语言的程序。等价的另一种语言的程序。56翻译程序翻译程序n按照不同的翻译处理方法,可把翻译程按照不同的翻译处理方法,可把翻译程序分为以下三类:序分为以下三类:n汇编程序(汇编程序(assembler)n解释程序(解释程序(Interpreter)n编译程序编译程序(Compiler)57汇编程序汇编
42、程序n汇编程序(汇编程序(assembler):):n从汇编语言到机器语言的翻译程序。58解释程序解释程序n解释程序(解释程序(Interpreter):逐条翻译并):逐条翻译并立即执行相应功能的处理程序。立即执行相应功能的处理程序。n优点:优点:实现算法简单,易于在解释过程中灵活方实现算法简单,易于在解释过程中灵活方便地插入所需要的修改和调试措施。便地插入所需要的修改和调试措施。n缺点缺点:运行效率低。应用:解释程序通常适合于:运行效率低。应用:解释程序通常适合于交互方式工作的、或调试状态下运行的、或运行交互方式工作的、或调试状态下运行的、或运行时间与解释时间相差不大的语言时间与解释时间相差
43、不大的语言59编译程序编译程序n编译程序编译程序(Compiler):n从高级语言到机器语言或汇编语言的翻译程序。对从高级语言到机器语言或汇编语言的翻译程序。对源程序扫描一遍或几遍,最终形成一个可在具体计源程序扫描一遍或几遍,最终形成一个可在具体计算机上执行的算机上执行的目标程序目标程序。n优点优点:通过编译程序的处理可以一次性地产生高效:通过编译程序的处理可以一次性地产生高效运行的目标程序,并把它保存在磁盘上,以备多次运行的目标程序,并把它保存在磁盘上,以备多次执行。执行。n缺点缺点:实现算法较为复杂。:实现算法较为复杂。n应用应用:编译程序适合于翻译那些规模大,结构复杂,:编译程序适合于翻
44、译那些规模大,结构复杂,运行时间长的大型应用程序。运行时间长的大型应用程序。603.2 常用高级程序设计语言常用高级程序设计语言n1. FORTRAN语言语言n主要用于数值计算的面向过程的程序设计语主要用于数值计算的面向过程的程序设计语言言n是进行大型科学和工程计算的有力工具是进行大型科学和工程计算的有力工具n2. ALGOL语言语言n开拓了程序设计语言的研究领域,为软件自开拓了程序设计语言的研究领域,为软件自动化和可靠性研究奠定了基础。动化和可靠性研究奠定了基础。 613.2 常用高级程序设计语言常用高级程序设计语言n3. PASCAL语言语言nPASCAL语言是语言是ALGOL60的后继语
45、言之一的后继语言之一n第一个结构化程序设计语言第一个结构化程序设计语言 n4. Java语言语言n由由SUN Micro System公司于公司于1995年年5月月正式对外公布的一种正式对外公布的一种面向对象面向对象的、用于的、用于网络网络环境环境的程序设计语言。的程序设计语言。n特点:适用于特点:适用于网络分布环境网络分布环境,需要,需要Java虚虚拟机拟机解释执行。解释执行。623.2 常用高级程序设计语言常用高级程序设计语言n5. C语言和语言和C+语言语言n1972年至年至1973间由间由ATT公司公司Bell实验室的实验室的D.M.Ritchie 在在BCPL语言基础上设计而成的。语
46、言基础上设计而成的。n C+语言是对语言是对C语言的扩充。由于语言的扩充。由于C+语言既有语言既有数据抽象数据抽象和和面向对象面向对象能力,运行性能高,又能能力,运行性能高,又能与与C语言相兼容语言相兼容,使得数量巨大的,使得数量巨大的C语言程序能方便地语言程序能方便地在在C+语言环境中重用。因而近年来语言环境中重用。因而近年来C+语言已语言已经成为当前经成为当前面向对象程序设计面向对象程序设计的主流语言。的主流语言。n6. BASIC和和VB语言语言n微软公司基于微软公司基于BASIC开发的一种程序设计语言,可开发的一种程序设计语言,可以方便的使用以方便的使用Windows图形用户界面图形用
47、户界面,且可调用,且可调用Windows的其它资源。的其它资源。 63n【2007真题真题】下列关于机器语言程序与高级下列关于机器语言程序与高级语言程序的说法中,错误的是语言程序的说法中,错误的是 。nA机器语言程序比高级语言程序执行速度机器语言程序比高级语言程序执行速度慢慢nB机器语言程序比高级语言程序可移植性机器语言程序比高级语言程序可移植性强强nC机器语言程序比高级语言程序可读性差机器语言程序比高级语言程序可读性差nD有了高级语言程序,机器语言程序就无存在的有了高级语言程序,机器语言程序就无存在的必要了必要了3.2 常用高级程序设计语言常用高级程序设计语言643.2 常用高级程序设计语言
48、常用高级程序设计语言n【2007真题真题】以下常用的高级程序设计以下常用的高级程序设计语言中,主要用于数值计算的是。语言中,主要用于数值计算的是。nAFORTRAN BBASIC CJava Cn【2007真题真题】C+语言是以语言是以C语言为基语言为基础发展起来的,已成为当前面向础发展起来的,已成为当前面向 对象对象 程序设计的主流语言之一。程序设计的主流语言之一。653.3算法与数据结构算法与数据结构n著名的瑞士计算机科学家著名的瑞士计算机科学家尼克劳斯尼克劳斯.沃思沃思提出:提出:n数据结构算法数据结构算法=程序程序663.3算法与数据结构算法与数据结构n算法算法n在有限步骤内求解某一问
49、题所使用的在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就一组定义明确的规则。通俗点说,就是是计算机解题的过程计算机解题的过程。673.3算法与数据结构算法与数据结构n算法的五个重要特征算法的五个重要特征:n有穷性有穷性: 一个算法必须保证执行有限步之后结束一个算法必须保证执行有限步之后结束n确切性确切性: 算法的每一步骤必须有算法的每一步骤必须有确切的定义确切的定义n输入输入:一个算法有:一个算法有0个或多个个或多个输入,以刻画运算对输入,以刻画运算对象的初始情况象的初始情况n输出输出:一个算法有:一个算法有一个或多个一个或多个输出,以反映对输入输出,以反映对输入数据加工后的
50、结果。没有输出的算法是毫无意义的;数据加工后的结果。没有输出的算法是毫无意义的; n可行性可行性: 算法原则上能够精确地运行,而且人们用算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。笔和纸做有限次运算后即可完成。 683.3算法与数据结构算法与数据结构n分析一个算法的好坏,除其正确性外,分析一个算法的好坏,除其正确性外,还应考虑以下因素:还应考虑以下因素: n占用的计算机资源占用的计算机资源n是否易理解、易调试和易测试等是否易理解、易调试和易测试等693.3算法与数据结构算法与数据结构n占用的计算机资源占用的计算机资源n时间代价:用时间代价:用时间复杂度时间复杂度来表示,衡