《进程管理分享1.ppt》由会员分享,可在线阅读,更多相关《进程管理分享1.ppt(22页珍藏版)》请在启牛文库网上搜索。
1、,2.1前趋图和程序的执行方式2.1.1前趋图的定义 前趋图(procedence graph)是一个有向无环图DAG(directed acyclic graph)。图中的每个结点可表示一条语句、一个程序段或进程,每条边 表示两结点之间的偏序(partial order)或前趋关系(procedence relation)。无前趋的顶点为初始顶结点,无后继的结点称为终止顶点,每个结点还有一个权值(weight),它表示结点执行所需的时间。,存在以下前趋关系:12,13,14,25,35,46,57,67,2.1.2程序的顺序执行:程序执行时,必须按某种先后次序,只有前一操作完成后才能执行后继
2、操作.如:S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;,程序顺序执行的特征:顺序性 严格按照规定的顺序执行,每一操作必须在下一操作开始前结束;封闭性 独占计算机的所有资源,执行过程和结果不受其它 程序的影响;可再现性(结果的确定性)只要初始状态相同,程序多次重复运行,结果都应相同。,2.1.3程序的并发执行多个程序同处于开始运行但尚未结束的状态。宏观上同时处于运行状态微观上各程序交替地间断运行。例如:用I,C,P分别表示输入程序,计算程序和打印程序.,举例说明:假如系统中有两道程序AA和BB:program AA;program BB;begin begin AN BN N:=
3、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,程序,A,AN,AA+1,NA,程序,B,BN,BB+1,NB,N的值 1 1 2 2 2 3,(a)顺序执行,时间 T0 T1 T2 T3 T4 T5,程序,A,程序,B,N的值 1 1 1 1 2 2,(b)交叉执行,时间 T0 T1 T2 T3 T4 T5,程序,A,程序,B,N的值 1 1 1 1 2 2,(c)交叉执行,NB
4、,BB+1,BN,AN,AA+1,NA,AN,NA,AA+1,NB,BB+1,BN,程序并发执行的特征:间断性 执行停执行失去封闭性 资源共享,执行过程受其它程序的影响不可再现性 并发程序执行的结果不可再现,与其执行的相对速度有关,是不确定的,2.1.4进程的三种基本状态及其转换 运行态(Running):进程占有CPU,并在CPU上运行。就绪态(Ready):进程已经具备运行条件,但由于CPU忙而暂时不能运行的状态(当调度给其CPU时,便可立即运行)。阻塞态(Blocked):等待态 进程因等待某种事件的发生而暂时不能运行的状态。(即使CPU空闲,该进程也不可运行)。,状态转换的原因:就绪运
5、行 调度程序选择一个新的进程执行运行就绪 时间片用完运行阻塞 发出I/O请求或等待某种资源阻塞就绪 I/O完成或等待的资源变为可用,2.1.5进程控制块(Process Control Block)为描述和控制进程的运行,系统为每个进程定义一个数据结构进程控制块PCB,它是操作系统中最重要的结构体.进程与PCB一一对应。在进程的整个生命期内,PCB随进程的创建而产生随进程的终止而消失,系统利用PCB来控制和管理进程,系统根据PCB感知进程的存在,所以PCB是进程存在的唯一标志。,PCB中的内容:1)进程标识符:a.内部标识符 b.外部标识符2)处理机状态a.通用寄存器 b.指令寄存器 c.程序状态字(PSW)d.用户栈指针3)进程调度信息a.进程状态(如运行,阻塞,就绪)b.进程优先级 c.等待发生的事件(阻塞原因)d.其它信息,5)进程控制信息 a.程序和数据的首地址 b.进程同步和通信机制 c.资源清单和资源使用情况(例如,打开的文件,I/O设备.(CPU,I/O.)的时间使用史)d.链接指针,指向下一个进程的PCB,PCB的组织方式1)链接方式 2)索引方式,执行指针,就绪表指针,PCB1,PCB2,PCB3,就绪索引表,阻塞表指针,阻塞索引表,PCB4,PCB5,PCB6,PCB7,作业:P68 4,6,7,8,