《操作系统教程完整版教学课件全书电子讲义(最新).ppt》由会员分享,可在线阅读,更多相关《操作系统教程完整版教学课件全书电子讲义(最新).ppt(505页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1章 操作系统概述 操作系统教程操作系统教程主编主编 第 1章 操作系统概述 1.1 操作系统的定义、作用和目标操作系统的定义、作用和目标1.1.1 操作系统的定义操作系统的定义 要想了解什么是操作系统,必须先了解计算机系要想了解什么是操作系统,必须先了解计算机系统的组成和操作系统在整个计算机系统中的地位。统的组成和操作系统在整个计算机系统中的地位。计算机系统包括计算机硬件系统和计算机软件系计算机系统包括计算机硬件系统和计算机软件系统。操作系统(统。操作系统(Operating System,简称,简称OS)是系统)是系统软件中的一种,而且是系统软件的核心。软件中的一种,而且是系统软件的核
2、心。第 1章 操作系统概述 操作系统定义操作系统定义 对计算机系统的软硬件资源进行全面统一的控制和管对计算机系统的软硬件资源进行全面统一的控制和管理,协调计算机系统的各种动作,并提供方便用户使用的理,协调计算机系统的各种动作,并提供方便用户使用的用户界面的大型系统软件。用户界面的大型系统软件。操作系统向用户提供各种服务功能,使得用户能够灵操作系统向用户提供各种服务功能,使得用户能够灵活、方便和有效地使用计算机,使整个计算机系统能高效活、方便和有效地使用计算机,使整个计算机系统能高效地运行。地运行。图1 计算机系统层次结构第 1章 操作系统概述 1.1.2 操作系统的作用操作系统的作用1.1.管
3、理和控制系统资源管理和控制系统资源n管理硬件、软件资源管理硬件、软件资源n合理组织工作流程合理组织工作流程n保证程序安全性和共享性保证程序安全性和共享性2.2.提供良好的用户界面提供良好的用户界面n命令接口命令接口nGUIGUI图形接口图形接口n程序接口程序接口3.3.提供软件的开发与运行环境提供软件的开发与运行环境第 1章 操作系统概述 1.1.3 操作系统的目标操作系统的目标 1方便性方便性n直接使用命令或图形界面完成各种操作直接使用命令或图形界面完成各种操作n设计程序让计算机完成各种操作设计程序让计算机完成各种操作 2有效性有效性n 提高系统资源的利用率提高系统资源的利用率n增加系统的吞
4、吐量增加系统的吞吐量 第 1章 操作系统概述 3可扩充性可扩充性 在设计操作系统的体系结构时,要采用合理的结在设计操作系统的体系结构时,要采用合理的结构使其能够不断地扩充和完善。构使其能够不断地扩充和完善。4开放性开放性n可移植性可移植性n互操作性互操作性第 1章 操作系统概述 1.2 操作系统的历史操作系统的历史1.2.1 推动操作系统发展的动力推动操作系统发展的动力1不断提高资源利用率的需要不断提高资源利用率的需要 在计算机发展的初期,计算机系统特别昂贵,人在计算机发展的初期,计算机系统特别昂贵,人们必须千方百计地提高计算机系统中各种资源的利用们必须千方百计地提高计算机系统中各种资源的利用
5、率,这就推动了人们不断发展操作系统的功能,由此率,这就推动了人们不断发展操作系统的功能,由此产生了批处理系统。它能自动地对一批作业进行处理。产生了批处理系统。它能自动地对一批作业进行处理。第 1章 操作系统概述 2方便用户操作方便用户操作 当资源利用率不高的问题得到解决以后,用户在上机操当资源利用率不高的问题得到解决以后,用户在上机操作、调试程序上的不方便就成为主要矛盾。于是,人们就想作、调试程序上的不方便就成为主要矛盾。于是,人们就想方设法改善用户的上机和调试程序的环境,随之便形成了允方设法改善用户的上机和调试程序的环境,随之便形成了允许人机交互的分时系统,或称为多用户系统。许人机交互的分时
6、系统,或称为多用户系统。随之交互界面又从单一的命令行方式进化到丰富多彩随之交互界面又从单一的命令行方式进化到丰富多彩的的GUIGUI图形用户界面。图形用户界面。第 1章 操作系统概述 3硬件的不断更新换代硬件的不断更新换代 由于计算机硬件的更新换代,使得计算机的性能不断提由于计算机硬件的更新换代,使得计算机的性能不断提高,同时硬件成本的不断下降促使人们的购买力也在不断增高,同时硬件成本的不断下降促使人们的购买力也在不断增强,这些因素都在很大程度上推动了操作系统的性能和功能强,这些因素都在很大程度上推动了操作系统的性能和功能的不断发展。的不断发展。4计算机体系结构的发展计算机体系结构的发展 计计
7、算机由单处理器系统发展为多处理器系统时,操作系算机由单处理器系统发展为多处理器系统时,操作系统也从单处理器操作系统发展为多处理器操作系统。随着计统也从单处理器操作系统发展为多处理器操作系统。随着计算机网络的出现和发展,出现了分布式操作系统和网络操作算机网络的出现和发展,出现了分布式操作系统和网络操作系统。随着信息家电的发展,又出现了嵌入式操作系统。系统。随着信息家电的发展,又出现了嵌入式操作系统。第 1章 操作系统概述 1.2.2 操作系统的发展操作系统的发展1无操作系统无操作系统 (1)人工操作方式)人工操作方式n 时间:第一台计算机(时间:第一台计算机(19461946年)年)5050年代
8、中期年代中期n工作方式:工作方式:用户:用户既是程序员、操作员,还是计算机用户:用户既是程序员、操作员,还是计算机专业人员;专业人员;编程语言:为机器语言;编程语言:为机器语言;输入输出:纸带或卡片;输入输出:纸带或卡片;n特点:系统资源利用率低特点:系统资源利用率低第 1章 操作系统概述 (2)脱机输入输出方式)脱机输入输出方式 为了解决计算机主机与为了解决计算机主机与I/O设备之间速度不匹配矛盾,设备之间速度不匹配矛盾,引入了脱机输入输出方式引入了脱机输入输出方式。脱机输入输出方式是指程序和数据的输入输出是在外围脱机输入输出方式是指程序和数据的输入输出是在外围机的控制下,而不是在主机的控制
9、下完成的。机的控制下,而不是在主机的控制下完成的。图图2 脱机输入输出方式脱机输入输出方式第 1章 操作系统概述 n工作原理工作原理 脱机输入输出技术脱机输入输出技术是指事先将装有用户程序和数据的纸是指事先将装有用户程序和数据的纸带(或卡片)装入纸带(或卡片)输入机,在一台外围机带(或卡片)装入纸带(或卡片)输入机,在一台外围机的控制下把纸带(卡片)上的数据(程序)输入到磁盘的控制下把纸带(卡片)上的数据(程序)输入到磁盘(带)上。当计算机主机需要这些程序和数据时,再从磁(带)上。当计算机主机需要这些程序和数据时,再从磁盘(带)上高速地调入主存。类似地,当计算机主机需要盘(带)上高速地调入主存
10、。类似地,当计算机主机需要输出时,可以由计算机主机直接高速地把数据从主存送到输出时,可以由计算机主机直接高速地把数据从主存送到磁盘(带)上,然后再在另一台外围机的控制下,将磁盘磁盘(带)上,然后再在另一台外围机的控制下,将磁盘(带)上的结果通过相应的输出设备输出。(带)上的结果通过相应的输出设备输出。n特点特点 提高提高CPUCPU执行效率执行效率第 1章 操作系统概述 2批处理系统批处理系统 批处理技术是计算机系统对一批作业自动进行处理的批处理技术是计算机系统对一批作业自动进行处理的一种技术。批处理系统分为一种技术。批处理系统分为单道批处理系统单道批处理系统和多和多道批处理道批处理系统系统两
11、种形式。两种形式。(1)单道批处理系统)单道批处理系统n时间:时间:20世纪世纪50年代年代n应用机型应用机型IBM701计算机计算机IBM 1401、IBM7094第 1章 操作系统概述 n工作流程工作流程1 1.用户将自己的作业编在纸带或卡片上,交给计算机用户将自己的作业编在纸带或卡片上,交给计算机管理员。管理员。2 2.管理员在收到一定数量的用户作业后,将纸带和卡管理员在收到一定数量的用户作业后,将纸带和卡片上的作业通过片上的作业通过计算机计算机读入,并写到磁带上。读入,并写到磁带上。3 3.计算机操作员将这盘磁带加载到计算机操作员将这盘磁带加载到IBM7094IBM7094上,逐个上,
12、逐个运行用户作业,运行的结果写在另一个磁带上。运行用户作业,运行的结果写在另一个磁带上。4 4.当所有作业运行结束后,将存有结果的磁带取下来,当所有作业运行结束后,将存有结果的磁带取下来,连接到连接到IBM1401IBM1401计算器上打印结果。计算器上打印结果。5 5.最后,将打印结果交给各个用户。最后,将打印结果交给各个用户。第 1章 操作系统概述 n特点特点 1 1.自动性。磁盘(带)上的一批作业能自动地依次逐个自动性。磁盘(带)上的一批作业能自动地依次逐个执行,而无需人工干预。执行,而无需人工干预。2 2.顺序性。磁盘(带)上的作业是顺序地进入主存的,顺序性。磁盘(带)上的作业是顺序地
13、进入主存的,先调入主存的作业先完成。先调入主存的作业先完成。3 3.单道性。只能有一个程序调入主存并运行单道性。只能有一个程序调入主存并运行。第 1章 操作系统概述(2)多道批处理系统)多道批处理系统 在单道批处理系统中引入了多道程序设计在单道批处理系统中引入了多道程序设计技术,形成了多道批处理系统技术,形成了多道批处理系统。n时间:时间:20世纪世纪60年代年代n概念概念 多道程序设计技术多道程序设计技术:是指同时把多个作业放入主存并是指同时把多个作业放入主存并且允许它们交替执行,共享系统中的各类资源且允许它们交替执行,共享系统中的各类资源。第 1章 操作系统概述 n工作原理工作原理 用户提
14、交的作业先在外存上排成一个队列,称用户提交的作业先在外存上排成一个队列,称为为“后备作业队列后备作业队列”。主存储器可以同时存放多道。主存储器可以同时存放多道作业,处理机调用一道作业执行,如发现作业因输作业,处理机调用一道作业执行,如发现作业因输入输出产生等待,监督程序就引导处理机去执行在入输出产生等待,监督程序就引导处理机去执行在内存的另一道程序,这样就使处理机总是处于工作内存的另一道程序,这样就使处理机总是处于工作状态。状态。n特点特点多道性、无序性、调度性。多道性、无序性、调度性。第 1章 操作系统概述 n优点优点1.1.资源利用率高资源利用率高2.2.系统吞吐量大系统吞吐量大n 不足不
15、足1.1.作业平均周转时间长作业平均周转时间长2.2.无交互能力无交互能力第 1章 操作系统概述(3)分时操作分时操作系统系统 批处理系统虽然批处理系统虽然提高了系统资源的利用率和系统提高了系统资源的利用率和系统的的吞吐量吞吐量,但是,但是对用户对用户而言与计算机无交互性而言与计算机无交互性极不方便极不方便,这时这时,分时系统产生分时系统产生。n时间:时间:20世纪世纪60年代年代n概念概念n分时技术分时技术:处理器的运行时间分成很短的时间片,处理器的运行时间分成很短的时间片,根据时间片轮流把处理器分配给各联机作业使用根据时间片轮流把处理器分配给各联机作业使用。n分时操作系统:分时操作系统:指
16、采用了分时技术的操作系统。指采用了分时技术的操作系统。第 1章 操作系统概述 n工作原理工作原理 在分时系统中,一台计算机可以和许多终端相连,每在分时系统中,一台计算机可以和许多终端相连,每个用户通过终端向系统发出命令,请求完成某项工作。而个用户通过终端向系统发出命令,请求完成某项工作。而系统则分析从终端发来的命令,完成用户提出的要求。然系统则分析从终端发来的命令,完成用户提出的要求。然后,用户可以根据系统提供的运行结果,向系统提出进一后,用户可以根据系统提供的运行结果,向系统提出进一步的要求,这样重复上述交互过程,直到用户完成预计的步的要求,这样重复上述交互过程,直到用户完成预计的全部工作。
17、全部工作。n实现方式实现方式 单道分时系统、多道分时系统、单道分时系统、多道分时系统、具有具有“前台前台”和和“后台后台”的分时系统的分时系统第 1章 操作系统概述 n典型代表典型代表UNIXUNIX、MULTICSMULTICSn特点特点1 1.多路性多路性2.2.独立性独立性3.3.及时性:较弱,以人们能够接收的响应时间确定,及时性:较弱,以人们能够接收的响应时间确定,通常通常2-32-3秒。秒。4.4.交互性:交互性较强。交互性:交互性较强。第 1章 操作系统概述(4)实时操作实时操作系统系统 有些有些领域需要的是能够立即响应、利用中断驱动、领域需要的是能够立即响应、利用中断驱动、执行专
18、门的处理程序和具有高可靠性的系统,于是,实执行专门的处理程序和具有高可靠性的系统,于是,实时系统就产生了时系统就产生了。n实时系统是指系统能及时响应外部事件的请求,在规实时系统是指系统能及时响应外部事件的请求,在规定的时间内,完成对该事件的处理,并且控制所有实定的时间内,完成对该事件的处理,并且控制所有实时任务协调一致地运行。时任务协调一致地运行。n 实时控制系统,又称为硬实时系统实时控制系统,又称为硬实时系统。n 实时信息处理系统,又称为软实时系统,或弱实时系实时信息处理系统,又称为软实时系统,或弱实时系统统第 1章 操作系统概述 n特征特征n即时响应即时响应n高可靠性和安全性高可靠性和安全
19、性n弱交互性弱交互性n实时系统与分时系统的区别实时系统与分时系统的区别n系统的设计目标不同系统的设计目标不同n响应时间的长短不同响应时间的长短不同n交互性的强弱不同交互性的强弱不同n商业实时系统典型代表商业实时系统典型代表VxWorks EMC的的DART系统系统第 1章 操作系统概述(5)微机操作微机操作系统系统n概念概念 微机操作系统是指配置在微机上的操作系统。微机操作系统是指配置在微机上的操作系统。最早出现的微机操作系统是最早出现的微机操作系统是CP/M操作系统操作系统。n分类分类n单用户单任务系统:单用户单任务系统:CP/M、MS-DOSn单用户多任务系统:单用户多任务系统:Windo
20、ws9xn多用户多任务系统:多用户多任务系统:UNIX第 1章 操作系统概述(6)网络操作网络操作系统系统n概念概念网络操作系统网络操作系统是网络的心脏和灵魂,是向网络计是网络的心脏和灵魂,是向网络计算机提供网络通信和网络资源共享功能的特殊的算机提供网络通信和网络资源共享功能的特殊的操作系统。操作系统。n模式模式n客户机客户机/服务器模式(服务器模式(C/SC/S模式)模式)2020世纪世纪8080年代发展起来年代发展起来目前使用最广泛目前使用最广泛n对等模式对等模式第 1章 操作系统概述 n网络操作系统主流网络操作系统主流nUNIX类类nNetware类类nWindowsnLinux第 1章
21、 操作系统概述(7)分布式操作分布式操作系统系统n概念概念n所谓所谓分布式处理系统分布式处理系统是指由多个分散的处理单元是指由多个分散的处理单元经互联网的连接而形成的系统。经互联网的连接而形成的系统。n在分布式系统上配置的操作系统称为分布式操作在分布式系统上配置的操作系统称为分布式操作系统。系统。n特点特点n分布性、透明性分布性、透明性n并行性、健壮性并行性、健壮性第 1章 操作系统概述 n分布式系统与网络操作系统的区别分布式系统与网络操作系统的区别n能否适用不同的操作系统。网络操作系统可以构能否适用不同的操作系统。网络操作系统可以构架于不同的操作系统之上架于不同的操作系统之上;而分布式操作系
22、统是而分布式操作系统是由一种操作系统构架的由一种操作系统构架的。n对资源的访问方式不同。网络操作系统在访问系对资源的访问方式不同。网络操作系统在访问系统资源时,需要指明资源的位置和类型,对本地统资源时,需要指明资源的位置和类型,对本地资源和异地资源的访问要区别对待;而分布式操资源和异地资源的访问要区别对待;而分布式操作系统对所有资源,包括本地资源和异地资源,作系统对所有资源,包括本地资源和异地资源,都用同一方式进行管理和访问,用户不必关心资都用同一方式进行管理和访问,用户不必关心资源在哪里,或资源是怎样存储的。源在哪里,或资源是怎样存储的。第 1章 操作系统概述(8)嵌入式操作嵌入式操作系统系
23、统n概念概念 是一种完全嵌入受控器件内部,为特定应用而设是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统计的专用计算机系统。n特点特点n可装卸性可装卸性n强实时性强实时性n操作方便简单、界面友好操作方便简单、界面友好n接口统一接口统一n固化代码固化代码n良好的移植性良好的移植性第 1章 操作系统概述 1.3 操作系统的功能与特征操作系统的功能与特征1.3.1 操作系统的特征操作系统的特征 不同操作系统的特征各不相同。批处理操作系统主要不同操作系统的特征各不相同。批处理操作系统主要突出成批处理的特点,分时操作系统主要突出交互性的特突出成批处理的特点,分时操作系统主要突出交互性的特点,
24、实时操作系统主要突出及时处理的特点。但是,这几点,实时操作系统主要突出及时处理的特点。但是,这几种操作系统都具有以下基本特征。种操作系统都具有以下基本特征。第 1章 操作系统概述 n并发性并发性宏观并发,微观交替宏观并发,微观交替n共享性共享性 根据资源的属性,把共享分为互斥共享和同时共享根据资源的属性,把共享分为互斥共享和同时共享n虚拟性虚拟性通过某种技术把一个物理实体变成若干个逻辑实体。通过某种技术把一个物理实体变成若干个逻辑实体。n异步性异步性进程的执行不是进程的执行不是“一气呵成一气呵成”的,是的,是“走走停停走走停停”的。的。第 1章 操作系统概述 1.3.2操作系统的功能操作系统的
25、功能n处理器管理处理器管理n存储器管理存储器管理n设备管理设备管理n文件管理文件管理n作业管理作业管理第 1章 操作系统概述 1.4 现代主要操作系统简介现代主要操作系统简介1.4.1 Windows操作系统操作系统 Windows,即窗户、视窗的意思。,即窗户、视窗的意思。Windows操作系统采用操作系统采用了了GUI图形化操作模式,比起从前的指令操作系统图形化操作模式,比起从前的指令操作系统DOS具有具有界面直观、操作方便、人性化等特点。界面直观、操作方便、人性化等特点。Windows操作系统是目前世界上使用最广泛的操作系统,操作系统是目前世界上使用最广泛的操作系统,根据根据 2013年
26、年1月最新的调查数据显示,微软的月最新的调查数据显示,微软的Windows家族家族占据全球占据全球PC操作系统市场份额的操作系统市场份额的91.49%,位列,位列PC行业首位。行业首位。第 1章 操作系统概述 n主要特点主要特点n图形界面、操作直观图形界面、操作直观n新的内存管理方式(实现虚拟存储)新的内存管理方式(实现虚拟存储)n提供各种系统管理工具提供各种系统管理工具n提供数据库接口、网络通信接口提供数据库接口、网络通信接口n允许装入和运行允许装入和运行DOS下开发的程序下开发的程序第 1章 操作系统概述 n 发展历程发展历程第 1章 操作系统概述 1.4.2 Linux操作系统操作系统
27、Linux是由芬兰藉科学家是由芬兰藉科学家Linus Torvalds于于1991年编写完成年编写完成的一个操作系统内核,当时他还是芬兰首都赫尔辛基大学的的一个操作系统内核,当时他还是芬兰首都赫尔辛基大学的学生。学生。Linus把这个系统放在把这个系统放在Internet上,允许自由下载,许上,允许自由下载,许多人对这个系统进行改进、扩充、完善。多人对这个系统进行改进、扩充、完善。n主要特点:高效性、灵活性主要特点:高效性、灵活性n发行版本发行版本nRedHat、Ubuntu、Fedora、OpenSUSE、Debian、Mandriva第 1章 操作系统概述 1.4.3 Macintosh操
28、作系统操作系统 1986年,美国年,美国Apple公司推出公司推出Macintosh计算机操作系统。计算机操作系统。MAC是全图形化界面和操作方式的鼻祖。是全图形化界面和操作方式的鼻祖。n主要特点主要特点采用面向对象技术;采用面向对象技术;全图形化界面;全图形化界面;虚拟存储管理虚拟存储管理技术;技术;应用程序间的相互通信;应用程序间的相互通信;强有力的多媒体功强有力的多媒体功能;能;简便的分布式网络支持;简便的分布式网络支持;丰富的应用软件。丰富的应用软件。n主要应用领域主要应用领域n桌面彩色印刷系统、广告和市场经营、教育、财会和营销桌面彩色印刷系统、广告和市场经营、教育、财会和营销第 1章
29、 操作系统概述 1.4.4 Android操作系统操作系统 Android(安卓)是一种基于(安卓)是一种基于Linux的自由及开放源代码的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,的操作系统,主要使用于移动设备,如智能手机和平板电脑,由由Google公司和开放手机联盟领导及开发。公司和开放手机联盟领导及开发。第 1章 操作系统概述 本章小结本章小结 操作系统是一组控制和管理计算机硬件和软件资源,合操作系统是一组控制和管理计算机硬件和软件资源,合理地调度各类作业,以方便用户使用的程序集合。理地调度各类作业,以方便用户使用的程序集合。通过本章的学习,读者应熟悉和掌握以
30、下基本知识:通过本章的学习,读者应熟悉和掌握以下基本知识:(1)操作系统的作用)操作系统的作用(2)操作系统的设计目标)操作系统的设计目标(3)操作系统的特征)操作系统的特征(4)操作系统的基本功能)操作系统的基本功能第 2章 处理器管理 操作系统教程主编主编 第 2章 处理器管理 第第2章章 处理器管理处理器管理2.1 处理器管理概述处理器管理概述2.2 进程描述进程描述2.3 进程控制进程控制2.4 线程线程2.5 进程同步与互斥进程同步与互斥2.6 进程通信进程通信2.7 进程调度进程调度2.8 进程死锁进程死锁第 2章 处理器管理 2.1 处理器管理概述2.1.1 处理器管理的功能处理
31、器管理的功能 处理器管理的主要任务是对处理器进行分配,并对其运行进行处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。有效的控制和管理。在现代操作系统中,处理器的分配和运行都是以进程为基本单在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。位的,因而对处理器的管理也可以视为对进程的管理。进程是程序的一次执行过程。进程是程序的一次执行过程。处理器管理包括以下功能:处理器管理包括以下功能:1.进程控制。进程控制。在并发运行环境中,要使程序运行,必须先为它在并发运行环境中,要使程序运行,必须先为它创建一个或几个进程,并给它分配
32、必要的资源。程序运行结束时,创建一个或几个进程,并给它分配必要的资源。程序运行结束时,要撤消这些进程,并回收这些进程所占用的各类资源。要撤消这些进程,并回收这些进程所占用的各类资源。进程控制的主要任务就是为程序创建进程,撤消已结束的进程,进程控制的主要任务就是为程序创建进程,撤消已结束的进程,以及控制进程在运行过程中的状态转换。以及控制进程在运行过程中的状态转换。第 2章 处理器管理 2.1.1 处理器管理的功能处理器管理的功能 2.进程同步。进程同步。在并发环境中,进程是以异步方式工作的,并且在并发环境中,进程是以异步方式工作的,并且以不可预知的速度向前推进。为了使多个进程能有条不紊地运行,
33、以不可预知的速度向前推进。为了使多个进程能有条不紊地运行,系统中必须设置进程同步机制。系统中必须设置进程同步机制。进程同步的主要任务是对众多的进程运行进行协调。协调方式进程同步的主要任务是对众多的进程运行进行协调。协调方式有两种:有两种:(1)进程互斥方式。)进程互斥方式。(2)进程同步方式。进程同步方式。第 2章 处理器管理 2.1.1 处理器管理的功能处理器管理的功能 3.进程通信。进程通信。在系统中,经常会有多个进程需要相互配合去完在系统中,经常会有多个进程需要相互配合去完成一个共同的任务,而在这些进程之间,往往需要相互交换信息。成一个共同的任务,而在这些进程之间,往往需要相互交换信息。
34、进程通信的任务就是用来实现相互合作进程之间的信息交换。进进程通信的任务就是用来实现相互合作进程之间的信息交换。进程的通信方式有:程的通信方式有:(1)当相互合作的进程处于同一台计算机系统时,通常采用)当相互合作的进程处于同一台计算机系统时,通常采用直直接通信方式。接通信方式。由源进程利用发送命令直接将消息发送到目标进程由源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从其消息队列中取的消息队列上,然后由目标进程利用接收命令从其消息队列中取出消息。出消息。(2)当相互合作的进程处于不同计算机系统时,通常采用)当相互合作的进程处于不同计算机系统时,通常采用间接间接
35、通信方式。通信方式。由源进程利用发送命令将信息发送到一个专门存放消由源进程利用发送命令将信息发送到一个专门存放消息的中间实体中,然后由目标进程利用接收命令从中间实体中取息的中间实体中,然后由目标进程利用接收命令从中间实体中取出消息。这个中间实体通常称为出消息。这个中间实体通常称为“邮箱邮箱”,相应的通信系统称为,相应的通信系统称为电子邮件系统。电子邮件系统。第 2章 处理器管理 2.1.1 处理器管理的功能处理器管理的功能 4.调度。调度。等待在后备队列上的作业,通常要经过处理器调度才等待在后备队列上的作业,通常要经过处理器调度才能执行。处理器调度包括作业调度(也称为高级调度)、进程调能执行。
36、处理器调度包括作业调度(也称为高级调度)、进程调度(也称为低级调度)和中级调度。度(也称为低级调度)和中级调度。(1)作业调度作业调度的基本任务是从后备队列中按照一定的算法,选的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源,将它们调入主存,然择出若干个作业,为它们分配必要的资源,将它们调入主存,然后为它们建立进程,使之成为可能获得处理器的就绪进程,并按后为它们建立进程,使之成为可能获得处理器的就绪进程,并按照一定的算法将其插入到就绪队列。照一定的算法将其插入到就绪队列。(2)进程调度)进程调度的基本任务是从进程的就绪队列中,按照一定的的基本任务是从进程的就绪队列
37、中,按照一定的调度算法选出一个进程,把处理器分配给它,并为它设置运行现调度算法选出一个进程,把处理器分配给它,并为它设置运行现场,使进程投入运行。本章主要介绍进程调度。场,使进程投入运行。本章主要介绍进程调度。(3)中级调度)中级调度的基本任务是把那些暂时不能运行的进程从主存的基本任务是把那些暂时不能运行的进程从主存移到外存上,释放其所占有的宝贵资源,让其他进程运行。当移移到外存上,释放其所占有的宝贵资源,让其他进程运行。当移到外存上的进程具备运行条件时,再由中级调度把它们重新调入到外存上的进程具备运行条件时,再由中级调度把它们重新调入主存,等待运行。主存,等待运行。第 2章 处理器管理 2.
38、1.2 程序的执行程序的执行 程序执行程序执行是指程序在计算机中的运行过程。程序的执行可以用是指程序在计算机中的运行过程。程序的执行可以用前趋图表示,程序的执行方式有顺序执行和并发执行。前趋图表示,程序的执行方式有顺序执行和并发执行。1.前趋图。前趋图。它是一个有向无循环图。图中的每个结点可用于表它是一个有向无循环图。图中的每个结点可用于表示一条语句、一个程序段等;结点间的有向边表示在两个结点之示一条语句、一个程序段等;结点间的有向边表示在两个结点之间存在的前趋关系。如间存在的前趋关系。如Pi Pj,称,称Pi是是Pj的前趋,而的前趋,而Pj是是Pi的后的后继。继。在前趋图中,没有前趋的结点称
39、为初始结点,没有后继的结点在前趋图中,没有前趋的结点称为初始结点,没有后继的结点称为终止结点。应当注意的是,前趋图中不能存在循环。称为终止结点。应当注意的是,前趋图中不能存在循环。第 2章 处理器管理 2.1.2 程序的执行程序的执行 1.前趋图。前趋图。在下图所示的前趋图中存在下述前趋关系:在下图所示的前趋图中存在下述前趋关系:P1 P2,P1 P3,P2 P5,P3 P4,P4 P5,P5 P6第 2章 处理器管理 2.1.2 程序的执行程序的执行 2.程序的顺序执行。程序的顺序执行。程序在执行时,必须按照某种先后次序逐程序在执行时,必须按照某种先后次序逐个执行操作,只有当前一个操作执行完
40、后,才能执行后一个操作。个执行操作,只有当前一个操作执行完后,才能执行后一个操作。例如:在进行计算时,总是先输入需要的数据,然后才能进行计例如:在进行计算时,总是先输入需要的数据,然后才能进行计算,计算完成后再将结果输出。算,计算完成后再将结果输出。如果用如果用I代表输入,代表输入,C代表计算,代表计算,P代表打印,则上述情况可用代表打印,则上述情况可用下图所示的前趋图表示。下图所示的前趋图表示。第 2章 处理器管理 2.1.2 程序的执行程序的执行 2.程序的顺序执行程序的顺序执行。程序的顺序执行通常表现出如下特征:程序的顺序执行通常表现出如下特征:顺序性。顺序性。严格按照程序所规定的顺序执
41、行。严格按照程序所规定的顺序执行。封闭性。封闭性。程序在封闭的环境下执行。程序在运行时独占所有程序在封闭的环境下执行。程序在运行时独占所有资源,其执行结果不受外界因素的影响。资源,其执行结果不受外界因素的影响。可再现性。可再现性。只要程序执行的环境和初始条件相同,程序无论只要程序执行的环境和初始条件相同,程序无论重复执行多少次,按照何种方式执行,都将获得相同的结果。重复执行多少次,按照何种方式执行,都将获得相同的结果。第 2章 处理器管理 2.1.2 程序的执行程序的执行 3.程序的并发执行。程序的并发执行。是指在一个时间段内执行多个程序。是指在一个时间段内执行多个程序。程序在并发执行的特征:
42、程序在并发执行的特征:间断性。间断性。在程序并发执行时,由于它们之间共享资源或相互在程序并发执行时,由于它们之间共享资源或相互合作,致使它们之间形成了相互制约的关系,导致并发程序在合作,致使它们之间形成了相互制约的关系,导致并发程序在执行中因为受到影响,表现为执行中因为受到影响,表现为“执行执行暂停执行暂停执行执行执行”的间的间断性活动规律。断性活动规律。失去封闭性。失去封闭性。程序并发执行时,多个程序共享系统中的各种程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,程序在
43、执行时,必然会受到其他程运行失去了封闭性。这样,程序在执行时,必然会受到其他程序的影响。序的影响。不可再现性。不可再现性。由于程序执行时失去了封闭性,也将导致失去由于程序执行时失去了封闭性,也将导致失去可再现性。既使并发程序执行的环境和初始条件相同,程序的可再现性。既使并发程序执行的环境和初始条件相同,程序的多次执行或以不同的方式执行,可能获得不相同的结果。多次执行或以不同的方式执行,可能获得不相同的结果。第 2章 处理器管理 2.1.2 程序的执行程序的执行 3.程序的并发执行。程序的并发执行。【例例2-1】程序程序A和程序和程序B为并发执行,它们共享变量为并发执行,它们共享变量M,假设,假
44、设M初值为初值为3;程序;程序A执行执行M=M+1;程序;程序B执行执行print M;M=1。程序。程序A和程序和程序B执行的顺序若不相同,执行的顺序若不相同,M的结果将产生不同的变化。的结果将产生不同的变化。顺序顺序1M=M+1;print M;M=1。M值依次为值依次为4、4、1。顺序顺序2print M;M=M+1;M=1。M值依次为值依次为3、4、1。顺序顺序3print M;M=1;M=M+1。M值依次为值依次为3、1、2。按照顺序按照顺序1执行,执行,M的输出结果为的输出结果为4;按照顺序;按照顺序2执行,执行,M的输的输出结果为出结果为3;按照顺序;按照顺序3执行,执行,M的输
45、出结果为的输出结果为3。所以,当执行的。所以,当执行的条件不同时,并发程序有可能产生不同的执行顺序,也就会得到条件不同时,并发程序有可能产生不同的执行顺序,也就会得到不同的执行结果。这样并发程序就形成了结果的不可再现性。不同的执行结果。这样并发程序就形成了结果的不可再现性。第 2章 处理器管理 2.1.2 程序的执行程序的执行【例例2-2】已知一个求值公式已知一个求值公式(a2+3b)/(b+5a),若,若a、b已赋值,试画已赋值,试画出该公式求值过程的前趋图,并判断哪些求值过程可以并发执行。出该公式求值过程的前趋图,并判断哪些求值过程可以并发执行。【解解】把公式把公式(a2+3b)/(b+5
46、a)按照运算顺序分解,可以产生如下运按照运算顺序分解,可以产生如下运算步骤:算步骤:s1s6,如图(,如图(a)所示;根据分解的运算顺序画出它的前)所示;根据分解的运算顺序画出它的前趋图,如图(趋图,如图(b)所示。)所示。第 2章 处理器管理 2.1.2 程序的执行程序的执行 根据前趋图,可以看出能够并发执行的运算是:根据前趋图,可以看出能够并发执行的运算是:s1与与s2、s1与与s3、s2与与s3、s1与与s5、s2与与s5、s3与与s4、s4与与s5,其余运算不能并发,其余运算不能并发执行。执行。第 2章 处理器管理 2.2 进程描述2.2.1 进程的概念进程的概念 1.进程的定义。进程
47、的定义。“进程进程”这一术语,在这一术语,在20世纪世纪60年代初期,首先出现在麻省理年代初期,首先出现在麻省理工学院的工学院的MULTICS系统和系统和IBM公司的公司的CTSS/360系统中。其后,人系统中。其后,人们对它不断加以改进,从不同的方面对它进行描述。关于进程的们对它不断加以改进,从不同的方面对它进行描述。关于进程的定义有以下一些描述:定义有以下一些描述:进程是程序的一次执行。进程是程序的一次执行。进程可以定义为一个数据结构及能在其上进行操作的一个程序。进程可以定义为一个数据结构及能在其上进行操作的一个程序。进程进程是程序在一个数据集合上的运行过程,是系统资源分配和是程序在一个数
48、据集合上的运行过程,是系统资源分配和调度的一个独立单位。调度的一个独立单位。第 2章 处理器管理 2.2.1 进程的概念进程的概念 2.进程的特征。进程的特征。进程的五个基本特征:进程的五个基本特征:(1)动态性。)动态性。进程的动态性是进程的最基本特征,它表现为进程的动态性是进程的最基本特征,它表现为“进程进程因创建而产生,因调度而执行,因得不到资源而暂停,以及因撤消而消因创建而产生,因调度而执行,因得不到资源而暂停,以及因撤消而消亡亡”。因此,进程具有一定的生命周期,其状态也会不断发生变化,是。因此,进程具有一定的生命周期,其状态也会不断发生变化,是一个动态实体。一个动态实体。(2)并发性
49、。)并发性。进程的并发性是指多个进程在一段时间内同时运行,进程的并发性是指多个进程在一段时间内同时运行,交替使用处理器的情况。并发性是进程也是操作系统的重要特征。交替使用处理器的情况。并发性是进程也是操作系统的重要特征。(3)独立性。)独立性。进程的独立性是指进程实体是一个能独立运行的基本进程的独立性是指进程实体是一个能独立运行的基本单位,同时也是独立获得资源和独立调度的基本单位。没有创建进程的单位,同时也是独立获得资源和独立调度的基本单位。没有创建进程的程序,是不能参加运行的。程序,是不能参加运行的。(4)异步性。)异步性。进程的异步性是指系统中的进程按照各自独立的、不进程的异步性是指系统中
50、的进程按照各自独立的、不可预知的速度向前推进,即进程按照异步方式运行。可预知的速度向前推进,即进程按照异步方式运行。(5)结构性。)结构性。进程的结构性是指在结构上进程实体由程序段、数据进程的结构性是指在结构上进程实体由程序段、数据段和进程控制块组成,这三部分也统称为段和进程控制块组成,这三部分也统称为“进程映像进程映像”。第 2章 处理器管理 2.2.1 进程的概念进程的概念 2.进程的特征。进程的特征。举一个例子来说明程序和进程。例如从北京西站发往长沙的举一个例子来说明程序和进程。例如从北京西站发往长沙的T1次列车,它有自己的运行步骤:始发时间、站台,中间停靠的车次列车,它有自己的运行步骤