第二章 进程的描述和控制第二章进程的描述和控制2.1前趋图和程序执行2.2进程的描述2.3进程控制2.4进程同步2.5经典进程的同步问题2.6进程通信2.7线程的基本概念
第二章 进程的描述和控制 第二章 进程的描述和控制 2.1 前趋图和程序执行 2.2 进程的描述 2.3 进程控制 2.4 进程同步 2.5 经典进程的同步问题 2.6 进程通信 2.7 线程的基本概念
第二章进程的描述和控制2.1前趋图和程序执行2.1.1 前趋图前趋图:有向无循环图,可以描述进程之间执行的前后关系。说明:每个结点可用于描述一个程序段或进程或一条语句;结点间的一用于表示两个结点之间存在的前趋关系“一”P一P:称P;是P;的直接前趋而称P是P的直接后继没有前趋的结点称为初始结点没有后继的结点称为终止结点
第二章 进程的描述和控制 2.1.1 前趋图 前趋图:有向无循环图,可以描述进程之间执行的前后 关系。 说明: ➢ 每个结点可用于描述一个程序段或进程或一条语句; ➢ 结点间的→用于表示两个结点之间存在的前趋关系“ → ” ➢ Pi→Pj:称Pi是Pj的直接前趋,而称Pj是Pi的直接后继 ➢ 没有前趋的结点称为初始结点 ➢ 没有后继的结点称为终止结点 2.1 前趋图和程序执行
第二章进程的描述和控制(a)具有九个结点的前趋图(b)具有循环的前趋图
第二章 进程的描述和控制 P1 P3 P8 P9 P4 P2 P5 P6 P7 S1 S2 S3 (a) 具有九个结点的前趋图 (b) 具有循环的前趋图
第二章进程的描述和控制前趋图表示:D-(P,E)P={P1, P2, P3, P4, P5, P6, P7, P8, P9)E=[<P1, P2>,<P1, P3><P1, P4>,<P2, Ps>,< P3, Ps>,<P4, P6>,<P4, P>,<P5, Pg><P6, P>,<P7, P9>,<P8, P9>)一→=[ <P1, P2>,<P1, P3><P1, P4>, <P2, Ps>, <P3, Ps>, <P4P6>,<P4, P>,<P5, P><P6, Pg>,<P7, P>,<P8, P>}Pi→P2,Pi→P3,Pi→P4,P2-→P5,P3→P5,P4-→P6, P4-→P7Ps-P, P6Pg, Pr-Pg, P→Pg
第二章 进程的描述和控制 前趋图表示: ◆ D=(P,E) P={P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9} E={<P1 , P2>, < P1 , P3> < P1 , P4>, < P2 , P5>, < P3 , P5>, < P4 , P6>, < P4 , P7>, < P5 , P8> ,< P6 , P8>, < P7 , P9>, < P8 , P9>} ◆ →={ <P1 , P2>, < P1 , P3> < P1 , P4>, < P2 , P5>, < P3 , P5>, < P4 , P6>, < P4 , P7>, < P5 , P8> ,< P6 , P8>, < P7 , P9>, < P8 , P9>} ◆P1→P2 , P1→P3 , P1→P4 , P2→P5 , P3→P5 , P4→P6 , P4→P7 , P5→P8 , P6→P8 , P7→P9 , P8→P9
第二章进程的描述和控制2.1.2程序的顺序执行及其特征1.程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作√例1:进行计算时,先输入用户的程序和数据,然后进行计算,最后打印计算结果V 例2: S: a=x+y,S2: b=a-5;S3: c=b+1;
第二章 进程的描述和控制 2.1.2 程序的顺序执行及其特征 1. 程序的顺序执行 ◆ 仅当前一操作(程序段)执行完后,才能执行后继操作。 ✓ 例2: S1 : a=x+y; S2 : b=a-5; S3 : c=b+1; ✓ 例1: 进行计算时,先输入用户的程序和数据,然后进 行计算,最后打印计算结果