chapter-2-进程的描述与控制解析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《chapter-2-进程的描述与控制解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chapter 进程 描述 控制 解析 课件
- 资源描述:
-
1、计算机科学与技术系计算机科学与技术系2022-12-31内容概述内容概述进程管理的主要功能主要功能是把处理机分配给进程,并对处理器运行进行有效地控制和管理,以及协调各个进程之间的相互关系。2.1 2.1 前驱图和程序执行前驱图和程序执行 2.2 2.2 进程的描述进程的描述2.3 2.3 进程控制进程控制2.4 2.4 进程同步进程同步2.5 2.5 经典进程的同步问题经典进程的同步问题2.6 2.6 进程通信进程通信2.7 2.7 线程的基本概念线程的基本概念2.8 2.8 线程的实现线程的实现计算机科学与技术系计算机科学与技术系2022-12-322.1.1 2.1.1 前趋图前趋图2.1
2、.2 2.1.2 程序顺序执行程序顺序执行2.1.3 2.1.3 程序并发执行程序并发执行计算机科学与技术系计算机科学与技术系2022-12-332.1.1 2.1.1 前趋图前趋图前趋图是一个有向前趋图是一个有向无循环无循环图,记为图,记为DAG。用于描述进程之间。用于描述进程之间执行的前后关系。执行的前后关系。图中的每个图中的每个结点结点可用于描述一个程序段或进程,乃至一条语可用于描述一个程序段或进程,乃至一条语句;结点间的句;结点间的有向边有向边则用于表示两个结点之间存在的则用于表示两个结点之间存在的偏序偏序或或前前趋关系趋关系“”。=(Pi,Pj)|Pi must complete b
3、efore Pj may start,如果如果(Pi,Pj),可写成可写成PiPj:称称Pi是是Pj的的直接前趋直接前趋,而称,而称Pj是是Pi的的直接后继直接后继。把没有前趋的结点称为把没有前趋的结点称为初始结点初始结点(Initial Node),把没有后继,把没有后继的结点称为的结点称为终止结点终止结点(Final Node)。计算机科学与技术系计算机科学与技术系2022-12-34 每个结点还具有一个每个结点还具有一个重量重量(Weight),用于表示该结点,用于表示该结点所含有的所含有的程序量程序量或结点的或结点的执行时间执行时间。图图2-1 2-1 前趋图前趋图 直接前趋直接前趋直
4、接后继直接后继初始结点初始结点终止结点终止结点计算机科学与技术系计算机科学与技术系2022-12-35对于图对于图 2-1(a)所示的前趋图所示的前趋图,存在下述前趋关系存在下述前趋关系P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9或表示为或表示为:P=P1,P2,P3,P4,P5,P6,P7,P8,P9=(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)应当注意应当注意,前趋图中必须前趋图中必须不存在不存在循
5、环循环,但在图但在图2-1(b)中却有着下述的前趋关中却有着下述的前趋关系系:S2S3,S3S2 2022-12-362.1.1 2.1.1 前趋图前趋图2.1.2 2.1.2 程序顺序执行程序顺序执行2.1.3 2.1.3 程序并发执行程序并发执行计算机科学与技术系计算机科学与技术系2022-12-37图图2-2 2-2 程序的顺序执行程序的顺序执行 1.程序的顺序执行程序的顺序执行仅当前一操作仅当前一操作(程序段程序段)执行完后,才能执行后继操作。执行完后,才能执行后继操作。例如例如,在进行计算时,总须先输入用户的程序和数据,然后进行在进行计算时,总须先输入用户的程序和数据,然后进行计算,
6、最后才能打印计算结果。计算,最后才能打印计算结果。S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;2.1.2 2.1.2 程序顺序执行程序顺序执行计算机科学与技术系计算机科学与技术系2022-12-382.2.程序顺序执行时的特征程序顺序执行时的特征(1)(1)顺序性顺序性:处理机的操作严格按照程序所规定的顺序执行处理机的操作严格按照程序所规定的顺序执行,只有当上一个操作完成后只有当上一个操作完成后,下一个操作才能执行。下一个操作才能执行。(2)(2)封闭性封闭性:程序运行在一个封闭的环境中程序运行在一个封闭的环境中,即程序运行时独即程序运行时独占系统的全部资源占系统的全部资源,这
7、些资源的状态只能因程序的执行而改这些资源的状态只能因程序的执行而改变变,不受任何外界因素的影响。不受任何外界因素的影响。(3)(3)可再现性可再现性:由于程序顺序执行的封闭性由于程序顺序执行的封闭性,只要程序顺序执只要程序顺序执行的行的初始条件和环境相同初始条件和环境相同,则不论何时执行则不论何时执行,也不论程序执也不论程序执行期间是否存在停顿行期间是否存在停顿,程序所得的程序所得的结果结果也也相同相同。结论结论:正由于程序顺序执行的特点正由于程序顺序执行的特点,程序员可以检测和重现程序员可以检测和重现程序的错误程序的错误,可以调试和校正程序。可以调试和校正程序。2022-12-392.1.1
8、 2.1.1 前趋图前趋图2.1.2 2.1.2 程序顺序执行程序顺序执行2.1.3 2.1.3 程序并发执行程序并发执行计算机科学与技术系计算机科学与技术系2022-12-3102.1.3 2.1.3 程序并发执行程序并发执行1.1.程序的并发执行程序的并发执行 图图2-3 2-3 并发执行时的前趋图并发执行时的前趋图 并发并发输入程序输入程序I I计算程序计算程序C C输出程序输出程序P P计算机科学与技术系计算机科学与技术系2022-12-311下述四条语句的程序段下述四条语句的程序段:S1:a:=x+2 S2:b:=y+4 S3:c:=a+b S4:d:=c+6 图图2-4 2-4 四
9、条语句的前趋关系四条语句的前趋关系S1S2S3S4什么样的程序可以并发执行?什么样的程序可以并发执行?计算机科学与技术系计算机科学与技术系2022-12-3122.2.程序并发执行时的特征程序并发执行时的特征 (1)(1)间断性间断性 相互制约导致并发程序具有相互制约导致并发程序具有“执行执行-暂停暂停-执行执行”的间断性活动规律。的间断性活动规律。(2)(2)失去封闭性失去封闭性 系统中多道程序系统中多道程序共享共享资源,资源的状态由多个程资源,资源的状态由多个程序来改变,必然失去了程序的封闭性。序来改变,必然失去了程序的封闭性。(3)(3)不可再现性不可再现性 失去封闭性失去封闭性 失去可
10、再现性,外界环境在程序的失去可再现性,外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。两次执行期间发生变化,失去原有的可重复特征。例如例如,有两个程序有两个程序A和和B,它们共享一个变量它们共享一个变量N(初始值为初始值为x)。A:N:=N+1 B:Print(N);N:=0;程序A和B并发执行,可出现以下三种情况:(1)N:=N+1在Print(N)和N:=0之前,此时得到的N值分别为x+1,x+1,0。(2)N:=N+1在Print(N)和N:=0之后,此时得到的N值分别为x,0,1。(3)N:=N+1在Print(N)和N:=0之间,此时得到的N值分别为x,x+1,0。202
11、2-12-3132022-12-3142.2.1 2.2.1 进程的定义和特征进程的定义和特征2.2.2 2.2.2 进程的基本状态及转换进程的基本状态及转换2.2.3 2.2.3 挂起状态和进程状态的转换挂起状态和进程状态的转换2.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构计算机科学与技术系计算机科学与技术系2022-12-3151.1.进程的定义进程的定义进程是进程实体的运行过程进程是进程实体的运行过程,是系统进行资源分配和调度是系统进行资源分配和调度的一个独立单位。的一个独立单位。2.2.进程实体的构成进程实体的构成(1)(1)程序程序(段段):进程要进行的操作。进程要
12、进行的操作。(2)(2)数据段数据段:包括操作的数据和程序自己的变量。:包括操作的数据和程序自己的变量。(3)(3)进程控制块进程控制块PCB(Process Control Block)PCB(Process Control Block):存放进程:存放进程标识符、进程运行的当前状态、程序和数据的地址、程序标识符、进程运行的当前状态、程序和数据的地址、程序运行时的运行时的CPUCPU环境等。环境等。2.2.1 2.2.1 进程的定义和特征进程的定义和特征 计算机科学与技术系计算机科学与技术系2022-12-3162.2.1 2.2.1 进程的定义和特征进程的定义和特征 2.2.进程的特征进程
13、的特征 动态性动态性:进程是一个动态的概念,实质上是程序的一次执行过程。进程是一个动态的概念,实质上是程序的一次执行过程。进程具有生命期:它因进程具有生命期:它因“创建创建”而产生,因而产生,因“调度调度”而执行,执行而执行,执行时还走走停停,因时还走走停停,因“撤消撤消”而灭亡。而灭亡。并发性并发性:多个进程实体同存于内存中:多个进程实体同存于内存中,且能在一段时间内同时运行且能在一段时间内同时运行,共享系统资源共享系统资源;引入进程实体的目的就是并发执行。引入进程实体的目的就是并发执行。独立性独立性:进程是一个能:进程是一个能独立运行独立运行的基本单位,也是系统进行资源分的基本单位,也是系
14、统进行资源分配和调度的基本单位。配和调度的基本单位。异步性异步性:各进程按各自独立的、不可预知的速度向前推进。:各进程按各自独立的、不可预知的速度向前推进。3.进程与程序的区别进程与程序的区别 进程是动态的,程序是静态的进程是动态的,程序是静态的:程序是有序代码的集合,它可以复制;进程是程序在数据集上的一次执行。进程是暂时的进程是暂时的,程序是永久的程序是永久的:进程是一个状态变化的过程,有它的撤销,程序可长久保存。进程具有结构特征进程具有结构特征:由程序段、数据段和进程控制块三者组成,而程序仅是指令的有序集合,是进程的组成部分之一。进程与程序的对应关系进程与程序的对应关系:通过多次执行,一个
15、程序可对应多个进程。2022-12-3172.2.1 2.2.1 进程的定义和特征进程的定义和特征 2022-12-3182.2.1 2.2.1 进程的定义和特征进程的定义和特征2.2.2 2.2.2 进程的基本状态及转换进程的基本状态及转换2.2.3 2.2.3 挂起状态和进程状态的转换(略)挂起状态和进程状态的转换(略)2.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构计算机科学与技术系计算机科学与技术系2022-12-3191.进程的三种基本状态进程的三种基本状态 就绪就绪(Ready)(Ready)状态:进程已获得除处理机外的所需资源,等待分配处状态:进程已获得除处理机外
16、的所需资源,等待分配处理机资源;只要分配理机资源;只要分配CPUCPU就可执行。就可执行。执行执行(Running)(Running)状态:处于就绪状态的进程一旦获得了处理机,进程状态:处于就绪状态的进程一旦获得了处理机,进程状态就处于执行状态。状态就处于执行状态。阻塞阻塞(Blocked)(Blocked)状态状态(“等待等待”或或“睡眠睡眠”):由于进程等待某种事件:由于进程等待某种事件(如如I/OI/O操作或进程同步操作或进程同步),在事件发生之前无法继续执行。该事件发,在事件发生之前无法继续执行。该事件发生前即使把处理机分配给该进程生前即使把处理机分配给该进程,也无法运行。如也无法运行
17、。如:请求请求I/OI/O操作,申操作,申请缓冲空间等。请缓冲空间等。2.2.2 2.2.2 进程的基本状态及转换进程的基本状态及转换 计算机科学与技术系计算机科学与技术系2022-12-320图图2-5 2-5 进程的三种基本状态及其转换进程的三种基本状态及其转换 1.1.时间片用完时间片用完2.2.有优先级高的进程到来有优先级高的进程到来终止终止2.进程的三种基本状态的转换进程的三种基本状态的转换3.创建状态和终止状态创建状态和终止状态 创建状态创建状态:当一个新进程刚刚建立,还未将其放入就绪队列时的状态,称为新状态。终止状态终止状态:当一个进程已经正常结束或异常结束,操作系统已将其从系统
18、队列中移出,但尚未撤消,这时称为终止状态。2022-12-321计算机科学与技术系计算机科学与技术系2022-12-322图图2-6 2-6 进程的五种基本状态及其转换进程的五种基本状态及其转换 释放释放2022-12-3232.2.1 2.2.1 进程的定义和特征进程的定义和特征2.2.2 2.2.2 进程的基本状态及转换进程的基本状态及转换2.2.3 2.2.3 挂起状态和进程状态的转换挂起状态和进程状态的转换2.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构计算机科学与技术系计算机科学与技术系2022-12-324 挂起操作的引入挂起操作的引入v终端用户的请求终端用户的请求
19、v父进程请求父进程请求v负荷调节的需要负荷调节的需要v操作系统的需要操作系统的需要2.2.3 2.2.3 挂起操作和进程状态的转换挂起操作和进程状态的转换图图2-7 2-7 具有挂起状态的进程状态图具有挂起状态的进程状态图 2022-12-3252.2.1 2.2.1 进程的定义和特征进程的定义和特征2.2.2 2.2.2 进程的基本状态及转换进程的基本状态及转换2.2.3 2.2.3 挂起状态和进程状态的转换挂起状态和进程状态的转换2.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构计算机科学与技术系计算机科学与技术系2022-12-3262.2.4 2.2.4 进程管理中的数据
20、结构进程管理中的数据结构 1.1.操作系统中用于管理控制的数据结构操作系统中用于管理控制的数据结构 对于每个资源和每个进程都设置了一个数据结构。对于每个资源和每个进程都设置了一个数据结构。资源信息表、进程信息表(称为资源信息表、进程信息表(称为PCBPCB)计算机科学与技术系计算机科学与技术系2022-12-3272.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构 2.2.进程控制块的作用进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能进程控制块的作用是使一个在多道程序环境下不能独立运行的程序独立运行的程序(含数据含数据),成为一个能独立运行的基本,成为一个能独立运
21、行的基本单位,一个能与其它进程并发执行的进程。单位,一个能与其它进程并发执行的进程。或者说,或者说,OSOS是根据是根据PCBPCB来对并发执行的进程进行控制和管理的。来对并发执行的进程进行控制和管理的。记录了操作系统所需的记录了操作系统所需的,用于描述进程情况及控制进用于描述进程情况及控制进程运行所需的程运行所需的全部信息全部信息。PCBPCB是进程存在的唯一标志。是进程存在的唯一标志。计算机科学与技术系计算机科学与技术系2022-12-3282.2.4 2.2.4 进程管理中的数据结构进程管理中的数据结构 2.2.进程控制块的作用进程控制块的作用 具体作用:具体作用:作为独立运行基本单位的
22、标志作为独立运行基本单位的标志能实现间断性运行方式能实现间断性运行方式提供进程管理所需的信息提供进程管理所需的信息提供进程调度所需的信息提供进程调度所需的信息实现与其它进程的同步与通信实现与其它进程的同步与通信计算机科学与技术系计算机科学与技术系2022-12-3293.3.进程控制块中的信息进程控制块中的信息 进程标识符进程标识符 内部标识符和外部标识符。内部标识符和外部标识符。处理机状态处理机状态通用寄存器通用寄存器指令计数器指令计数器PC程序状态字程序状态字PSW用户栈指针用户栈指针 进程调度信息进程调度信息进程状态进程状态进程优先级进程优先级进程调度所需的其它信息进程调度所需的其它信息
23、事件事件 进程控制信息进程控制信息程序和数据的地址程序和数据的地址进程同步和通信机制进程同步和通信机制资源清单资源清单链接指针链接指针struct pcb int id;/进程序号进程序号 int ra;/所需资源所需资源A的数量的数量 int rb;/所需资源所需资源B的数量的数量 int rc;/所需资源所需资源C的数量的数量 int ntime;/所需的时间片个数所需的时间片个数 int rtime;/已经运行的时间片个数已经运行的时间片个数 char state;/进程状态进程状态 struct pcb*next;计算机科学与技术系计算机科学与技术系2022-12-330图图2-11
24、PCB2-11 PCB链接队列示意图链接队列示意图 4.4.进程控制块的组织方式进程控制块的组织方式(1)(1)线性方式线性方式(2)(2)链接方式链接方式 (3)(3)索引方式索引方式计算机科学与技术系计算机科学与技术系2022-12-331图图2-12 2-12 按索引方式组织按索引方式组织PCB PCB 4.4.进程控制块的组织方式进程控制块的组织方式(1)(1)线性方式线性方式(2)(2)链接方式链接方式 (3)(3)索引方式索引方式内容概述2022-12-3322.1 2.1 前驱图和程序执行前驱图和程序执行 2.2 2.2 进程的描述进程的描述2.3 2.3 进程控制进程控制2.4
25、 2.4 进程同步进程同步2.5 2.5 经典进程的同步问题经典进程的同步问题2.6 2.6 进程通信进程通信2.7 2.7 线程的基本概念线程的基本概念2.8 2.8 线程的实现线程的实现计算机科学与技术系计算机科学与技术系2.3 进 程 控 制主要内容l 操作系统内核l 进程的创建l 进程的终止l 进程的阻塞与唤醒l 进程的挂起与激活计算机科学与技术系计算机科学与技术系操作系统内核l 问题:现代操作系统中通常将一些与硬件紧密相关的模块,问题:现代操作系统中通常将一些与硬件紧密相关的模块,各种常用的设备的驱动程序以及运行频率较高的模块都安各种常用的设备的驱动程序以及运行频率较高的模块都安排在
展开阅读全文