第二章进程管理
基本内容
(一)进程与线程
进程概念
进程的状态与转换
进程控制
进程组织
进程通信:
共享存储系统;消息传递系统;管道通信。
线程概念与多线程模型
基本内容
(二)进程同步
进程同步的基本概念
实现临界区互斥的基本方法
软件实现方法
硬件实现方法
信号量
管程
经典同步问题
生产者-消费者问题
读者-写者问题
哲学家进餐问题
程序的顺序执行及特征
一、程序执行有固定的时序。(图2-1)
二、顺序执行的特征:
顺序性、封闭性、可再现性
程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。
I1
C1
P1
I2
C2
P2
前趋图(Precedence Graph) 用于描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系。
前趋图是一个有向无循环图DAG(Directed Acyclic Graph)。
表示方式:
结点:表示一条语句、一个程序段或一个进程
P1,p2
有向边:
--->={(p1,p2)| p1 必须在p2开始前完成}
P1为初始结点,P9为终止结点
该前趋图,存在下面的前趋关系:
P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9
例:九个结点的前趋图
程序的并发执行
一、多个程序的并发执行(可能性分析)
I1
I2
I3
I4
C1
C2
C3
C4
P1
P2
P3
P4
t
程序的并发执行(2)
二、特征
间断性
失去封闭性:主要由共享资源引起
不可再现性:例子:
有2个循环程序A和B,它们共享一个变量N
程序A每执行一次时,都要做N:=N+1;
B则每次要执行Print(N), 然后再做N:=0.
设N的初值为n。若程序A,B以不同的速度运行有以下三种不同的结果
程序的并发执行(3)
N:=N+1在print(N)和N:=0之前,则N值分别为n+1,n+1,0.
N:=N+1在print(N)和N:=0之后,则N值分别为n,0,1.
N:=N+1在print(N)和N:=0之间,则N值分别为n,n+1,0.
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
1进程概念 2进程控制 来自淘豆网m.daumloan.com转载请标明出处.