2.1 前趋图和程序执行
2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信
2.7 线程的基本概念
2.8 线程的实现(不讲)
重点与难点
重点
理解进程的含义
理解和掌握同步的概念及经典进程同步问题 ,是本课程的重点之一
难点
会写进程同步问题的算法
知识点
进程、线程、进程的特征、PCB、进程控制、进程状态转换、 进程同步、进程通信
前趋图和程序执行
前趋图
程序顺序执行
程序并发执行
程序执行的两种方式:
顺序执行:单道批处理系统的执行方式
并发执行:目的是为了提高资源利用率
前趋图
前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“→”, →={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)
每个结点还具有一个重量(Weight, 权值),用于表示该结点所含有的程序量或结点的执行时间
前趋图
存在如下前趋关系:
P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9.
对于上图所示的前趋图, 前趋关系也可表示为: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)}程序顺序执行
把一个程序分成若干段,仅当前一操作(程序段)执行完后,才能执行后继操作。
例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。
如下程序段:
S1: a:=x+y;
S2: b:=a-5;
S3: c:=b+1;
语句s1,s2,s3必须按顺序执行
Ii→Ci→Pi和S1→S2→S3
程序顺序执行的特征
顺序性:按照程序结构所指定的次序(可能有分支或循环)即每一操作都必须在上一个操作结束之后开始。
封闭性:独占全部资源,计算机的状态只由该程序的控制逻辑所决定,程序一旦开始运行,其执行结果不受外界因素影响。
可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系,只要执行时的环
03-14
1782
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交