1 / 35
文档名称:

进程的同步与互斥.ppt

格式:ppt   页数:35
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

进程的同步与互斥.ppt

上传人:紫岑旖旎 2012/7/17 文件大小:0 KB

下载得到文件列表

进程的同步与互斥.ppt

文档介绍

文档介绍:进程的同步与互斥
多进程的系统中避免不了进程间的相互关系。
一方面,某些进程相互协作,以便正确地运行用户作业;
另一方面,它们又互相竞争使用系统的有限资源。
本节主要介绍进程间的两种主要关系---同步和互斥两个方面。
互斥关系(间接制约关系):
由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。
(如两个不同的进程同时要求使用打印机)
源于资源的共享
在现实生活中,同步的例子是俯拾皆是的,例如,在一辆公共汽车上,司机的职责是驾驶车辆;售票员的工作是售票、开关车门,各有各的职责范围。但两者的工作又需要相互配合、协调。当汽车到站时,驾驶员将车辆停稳后,售票员才能将车门打开让乘客上下车,然后关车门,只有在得到车门已经关好的信号后,驾驶员才能开动汽车继续前进。所以,在驾驶员停止、启动汽车和售票员开关门之间有两个同步的过程。
同步关系(直接制约关系):指系统中多个进程中发生的事件存在某种时序关系,需要互相合作,共同完成一项任务。
源于进程的合作
同步与互斥的比较:
临界资源? 一次仅允许一个进程使用的资源。
例如:进程p1,p2都需要使用打印机,如果让它们同时使用,则两个进程的输出交织在一起,打印出的结果无法使用。为了解决这一问题,进程使用之前先要提出申请,一旦系统将打印机分配给它,就一直由它独占使用,其它申请使用打印机的进程则必须等待。

临界资源
打印机
只能排它使用的变量、表格、队列。
非临界资源:磁盘
临界区? 在并发进程中,每个进程中访问临界资源的那段程序代码叫临界区。(概念上的分离)
在使用临界区的时候,必须遵守以下原则:
有空让进
等待:每次至多有一个进程处于临界区。
多中择一:当若干进程同时要求进入它们的临界区时,应在有限时间内使一进程进入临界区,它们不应相互堵塞而致使彼此不能进入临界区。
有限等待:进程仅在临界区内逗留有限的时间。
让权等待:
例一、
假设一个飞机定票系统有两个终端,分别运行进程T1和T2,T1和T2是两个可同时运行的并发进程。
其中Cobegin和Coend表示在它们之间的程序是并发执行的,交叉调用。
Cobegin
Repeat T1(x);
Repeat T2(x);
Coend
procedure T1(x)
var x:integer;
begin
read(x);
if x>=1
then x:=x-1;
write(x);
end;
临界区