进程描述与控制.ppt
《进程描述与控制.ppt》由会员分享,可在线阅读,更多相关《进程描述与控制.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 进程描述与控制进程描述与控制 认识进程认识进程前趋图和程序设计前趋图和程序设计 进程进程 进程间的相互作用进程间的相互作用 进程间的通信进程间的通信 进程调度(进程调度(CPU调度)调度)线程线程认识进程(认识进程(Unix/Linux中的进程)中的进程)进程标识符进程标识符PID PID(Process Process IDentifierIDentifier):):系统中每个进程的一个系统中每个进程的一个编号编号两个基本的系统调用:两个基本的系统调用:fork()fork()和和getpidgetpid()()Fork()Fork()返回值:返回值返回值:返回值0 0表示子进
2、程,表示子进程,否则把子进程的标识符返回给父进程否则把子进程的标识符返回给父进程GetpidGetpid:获得进程标识符获得进程标识符认识进程(简单程序)认识进程(简单程序)include include#include#include Main()Main()printf(“PID before fork():%dn”,(int)getpid);printf(“PID before fork():%dn”,(int)getpid);if(fork()if(fork()printf(“Parent PID:%dn”,(int)getpid)printf(“Parent PID:%dn”,(in
3、t)getpid)else else printf(“Child PID:%dn”,(int)getpid)printf(“Child PID:%dn”,(int)getpid)认识进程(输出结果)认识进程(输出结果)一种可能的输出结果:一种可能的输出结果:$forktest$forktestPID before fork():490PID before fork():490Parnet PID:490Parnet PID:490Child PID:491Child PID:4912.1 前趋图和程序设计前趋图和程序设计 前趋图的定义前趋图的定义 程序顺序执行程序顺序执行 并发程序执行并发程序
4、执行 多道程序设计多道程序设计2.1.1 前趋图的定义前趋图的定义 前趋图前趋图(procedence graph)是一个有向无环图是一个有向无环图DAG(directed acyclic graph)。图中的每一个顶点可。图中的每一个顶点可表示一条语句、一个程序段或进程表示一条语句、一个程序段或进程,弧则表示两顶弧则表示两顶点之间的偏序点之间的偏序(partial order)或前趋关系或前趋关系(procedence relation)。无前趋的顶点为初始顶点。无前趋的顶点为初始顶点,无后继的顶点称为终止顶点无后继的顶点称为终止顶点,每个顶点还有一个权每个顶点还有一个权值值,它表示顶点执行
5、所需的时间。如它表示顶点执行所需的时间。如1352467 它的每一种拓扑排序都是顺序执行时正确得到结它的每一种拓扑排序都是顺序执行时正确得到结果的顺序果的顺序,有路经的两顶点必须按前趋关系顺序执行有路经的两顶点必须按前趋关系顺序执行,无路经的两顶点则可以并发执行无路经的两顶点则可以并发执行2.1.2 程序顺序执行程序顺序执行程序顺序执行:程序顺序执行:程序执行时程序执行时,必须按某种先后次序必须按某种先后次序,只有当前操作只有当前操作完成后才能执行后继操作完成后才能执行后继操作,它体现了某种算法。如:它体现了某种算法。如:S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;各程序段与此
6、相同各程序段与此相同,以以 I C P分别代表输入计算和输出分别代表输入计算和输出,则前趋图:则前趋图:前趋图S1S2S3I1C1P1I2C2P2程序顺序执行的程序顺序执行的特征:特征:程序执行的顺序性程序执行的顺序性:严格按所规定的顺序执行严格按所规定的顺序执行 程序执行的封闭性程序执行的封闭性 独占资源独占资源,执行过程和结果不受其它程序的影响执行过程和结果不受其它程序的影响 程序结果的可再现性程序结果的可再现性(结果的确定性结果的确定性)只要初始状态相同只要初始状态相同,程序多次重复运行程序多次重复运行,其结果其结果与程序执行速度无关与程序执行速度无关(连续或间断连续或间断),),结果都
7、应相同。结果都应相同。2.1.3 程序并发执行程序并发执行多个程序并发执行:多个程序并发执行:在一定时间内物理机器上有两个或两个以上在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的。宏观上同时处于运行状态次序不是事先确定的。宏观上同时处于运行状态微观上各程序交替地间断运行。微观上各程序交替地间断运行。I1I2I3I4C1C2C3C4P1P2P3P4前趋关系前趋关系:IiCi,PiPi+1 CiPi,IiIi+1 CiCi+1Ii+1,Ci,Pi-1是重叠的是重叠的 举例说明举例说明:假如系统中有两道程序
8、假如系统中有两道程序AA和和BB:program AA;program BB;begin begin AN BN N:=N+1;AA+1 N:=N+1;BB+1 NA NB End;end;int N=1;是是AA和和BB都能访问的外部公共变量都能访问的外部公共变量,这两这两个程序在并发执行个程序在并发执行,N:=N+1;可分解为可分解为3条机器指令条机器指令,它们的执行顺序不同有可能导致它们的执行顺序不同有可能导致N的值结果不同。的值结果不同。时间时间 T0 T1 T2 T3 T4 T5 T0 T1 T2 T3 T4 T5程序程序A AA AN NA AA+1A+1N NA A程序程序B B
9、B BN NB BB+1B+1N NB BN N的值的值 1 1 2 2 2 3 1 1 2 2 2 3(a)顺序顺序执行执行时间时间 T0 T1 T2 T3 T4 T5 T0 T1 T2 T3 T4 T5程序程序A A程序程序B BN N的值的值 1 1 1 1 2 2 1 1 1 1 2 2(b)交叉交叉执行执行时间时间 T0 T1 T2 T3 T4 T5 T0 T1 T2 T3 T4 T5程序程序A A程序程序B BN N的值的值 1 1 1 1 2 2 1 1 1 1 2 2(c)交叉交叉执行执行N NB BB BB+1B+1B BN NA AN NA AA+1A+1N NA AA A
10、N NN NA AA AA+1A+1N NB BB BB+1B+1B BN N并发执行特征:并发执行特征:(1)在并发环境下程序的执行是间断性的)在并发环境下程序的执行是间断性的 执行执行停停执行执行(2)失去封闭性)失去封闭性资源共享资源共享,执行过程和结果受其它程序的影响执行过程和结果受其它程序的影响(3)程序结果的不可再现性)程序结果的不可再现性 并发程序执行的结果不可再现并发程序执行的结果不可再现,与其执行的相对与其执行的相对速度有关,是不确定的速度有关,是不确定的(4)相互作用和制约性)相互作用和制约性 进程之间可相互作用(相互制约)进程之间可相互作用(相互制约)可分为直接作用和间接
11、作用可分为直接作用和间接作用(5)程序与程序与CPU执行的活动之间不再一一对应执行的活动之间不再一一对应 程序与程序与CPU执行的活动执行的活动,这是两个不同的概念这是两个不同的概念;程程序是完成某一特定功能的指令序列序是完成某一特定功能的指令序列,是静态的概念是静态的概念;而而CPU执行的活动是一个动态概念执行的活动是一个动态概念,它是程序的执行过它是程序的执行过程。程序在顺序执行程。程序在顺序执行(即单道运行即单道运行)时时,程序与程序与CPU执行执行的活动是一一对应的的活动是一一对应的,而在程序并行执行而在程序并行执行(即多道程序即多道程序)时时,这种关系不再存在。这种关系不再存在。2.
12、2 进程进程 进程的概念进程的概念 进程的状态及其转换进程的状态及其转换 进程控制块(进程控制块(Process Control Block)进程的特征进程的特征2.2.1 进程的概念进程的概念1)进程是程序的一次执行进程是程序的一次执行2)进程是可以和别的计算并发执行的计算进程是可以和别的计算并发执行的计算3)进程是一个数据结构及能在其上进行操作的程序进程是一个数据结构及能在其上进行操作的程序4)进程是某程序及其数据在处理机上顺序执行的过程进程是某程序及其数据在处理机上顺序执行的过程5)进程是程序在某一数据集合上的运行过程进程是程序在某一数据集合上的运行过程进程的定义:进程的定义:Proce
13、ss 进程是可以并发执行的程序在某个数据集合上的运进程是可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源行过程,是系统进行资源分配分配和和调度调度的独立单位的独立单位2.2.1 进程的概念进程的概念动态性动态性 进程是程序的执行过程进程是程序的执行过程,它由创建而产生它由创建而产生,由调度由调度而执行而执行,因某事件而暂停因某事件而暂停,由撤销而消亡。在生命周期由撤销而消亡。在生命周期内内,进程在三种基本状态之间动态转换进程在三种基本状态之间动态转换并发性并发性 多个进程同时存于内存中多个进程同时存于内存中,一起向前推进一起向前推进,并发执并发执行行独立性独立性 进程是独立获得资源
14、和独立调度的基本单位进程是独立获得资源和独立调度的基本单位异步性异步性 各进程都各自独立的不可预知的速度向前推进各进程都各自独立的不可预知的速度向前推进 结构性:结构性:由由程序程序+数据数据+进程控制块进程控制块组成组成,称之为称之为进程映像进程映像进程的特征进程的特征程序与进程之间的区别:程序与进程之间的区别:进程更能真实地描述并发,而程序不能进程更能真实地描述并发,而程序不能 进程是由程序、数据和进程控制块三部分组成的进程是由程序、数据和进程控制块三部分组成的 程序是静态的,进程是动态的程序是静态的,进程是动态的 进程有生命周期,有诞生有消亡,短暂的;而程进程有生命周期,有诞生有消亡,短
15、暂的;而程序是相对长久的序是相对长久的 一个程序可对应多个进程,反之亦然一个程序可对应多个进程,反之亦然 进程具有创建其他进程的功能,而程序没有进程具有创建其他进程的功能,而程序没有进程的基本状态及其转换进程的基本状态及其转换进程的三种基本状态:进程的三种基本状态:运行态运行态(Running):进程占有进程占有CPU,并在并在CPU上运行。上运行。就绪态就绪态(Ready):进程已经具备运行条件进程已经具备运行条件,但由于但由于CPU忙而暂时不忙而暂时不能运行的状态能运行的状态(当调度给其当调度给其CPU时时,立即可以运行立即可以运行)。阻塞态阻塞态(Blocked):等待态、封锁态、冻结态
16、等待态、封锁态、冻结态 进程因等待某种事件的发生而暂时不能运行的状进程因等待某种事件的发生而暂时不能运行的状态。态。(即使即使CPU空闲空闲,该进程也不可运行该进程也不可运行)。进程在生命期内处于且仅处于三种基本状态之一进程在生命期内处于且仅处于三种基本状态之一 不同系统设置的进程状态数目不同。不同系统设置的进程状态数目不同。运行运行就绪就绪阻塞阻塞状态转换状态转换就绪就绪 运行运行调度程序选择一个新的进程运行调度程序选择一个新的进程运行运行运行 就绪就绪运行进程用完了时间片运行进程用完了时间片,运行进程被中断运行进程被中断,在抢占在抢占调度方式中调度方式中,因为一高优先级进程进入就绪状态因为
17、一高优先级进程进入就绪状态运行运行 阻塞阻塞当一进程发生当一进程发生I/O请求或等待某事件时请求或等待某事件时阻塞阻塞 就绪就绪当当I/O完成或所等待的事件发生时完成或所等待的事件发生时2.2.3 进程控制块进程控制块1.进程控制块的作用:进程控制块的作用:系统为管理进程设置一个专门的数据结构系统为管理进程设置一个专门的数据结构进程控制块进程控制块(Process Control Block),用它来记用它来记录进程的外部特征,描述进程的运动变化过程录进程的外部特征,描述进程的运动变化过程(从结构的观点上看从结构的观点上看,程序与进程的区别就在于程序与进程的区别就在于有没有有没有PCB)。进程
18、与进程与PCB一一对应一一对应,在进程的整个生命期在进程的整个生命期内内,PCB随进程的创建而产生随进程的终止而消随进程的创建而产生随进程的终止而消失失,系统利用系统利用PCB来控制和管理进程来控制和管理进程,系统根据系统根据PCB感知进程的存在感知进程的存在,所以所以PCB是进程存在的是进程存在的唯唯一标志。一标志。存放控制进程所需的数据存放控制进程所需的数据(进程属性进程属性)。2.PCB中的信息:中的信息:进程标识信息进程标识信息处理器状态信息处理器状态信息(现场信息现场信息)进程调度信息进程调度信息进程控制信息进程控制信息 记录了进程的全貌,作为进程调度和进程记录了进程的全貌,作为进程
19、调度和进程控制的依据和操作对象。控制的依据和操作对象。1)进程标识符进程标识符(在在PCB中中)进程标识符用于唯一地标识一个进程进程标识符用于唯一地标识一个进程外部标识符外部标识符由创建者提供,由字符、数字组成由创建者提供,由字符、数字组成内部标识符内部标识符为了方便系统而设置,为了方便系统而设置,OS中,每个进程中,每个进程有唯一的标识符(有唯一的标识符(PID)2)处理器状态信息处理器状态信息(现场信息现场信息)进程走走停停必须保存处理器的状态信息即进程走走停停必须保存处理器的状态信息即处理器现状处理器现状,它由处理器寄存器内容组成。它由处理器寄存器内容组成。通用寄存器通用寄存器(8 32
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 描述 控制
限制150内