2—B进程同步全解.pptxVIP

  • 1
  • 0
  • 约1.24万字
  • 约 87页
  • 2022-11-02 发布于四川
  • 举报
进程同步进程的同步关系进程的同步原则信号量程序(间)并发执行的特征:程序运行时独占资源资源非封闭N = 3;K = 5;51print(K)print(N)62K = K + 17N = N + 13print(K)print(N)84程序a程序b顺序执行 a b打印结果:3 4 5 6并发执行 a b1537打印结果:3 5 4 62648进程的同步进程同步问题的提出进程异步推进可能造成混乱混乱可能导致不可再现进程同步目标进程执行异步(断续)维持进程并发性以提高系统效率结果不可再现资源的非封闭(共享)进程间相互合作进程同步结果可再现资源有效共享进程的同步关系进程同步的基本概念(※)进程间的两种主要关系临界资源与临界区进程同步必须遵循的原则 进程间的两种主要关系进程间的关系与进程间的独立性进程间的关系是在进程间相对独立的前提下发展的独立获得资源独立调度进程间的同步关系(一)司机售票员正常行车售票合作到站停车开车门检查车况维持秩序合作开车关车门进程间的同步关系(二)打印进程2打印进程1获得打印数据获得打印数据打印打印互斥进程间的同步关系(三)计算进程完成数据计算打印进程计算结果送到Buffer互斥通知计算进程送下一个数Buffer合作通知打印进程打印从Buffer中取数打印进程间的同步关系相互合作司机与售票员计算者与打印者竞争资源多个打印者?其他例子流水线生产仓库 两个队篮球比赛两种形式的制约关系间接相互制约关系 ---------源于资源共享,产生互斥问题直接相互制约关系 ----------源于进程间合作,产生同步问题否到站停车是否关车门是司机售票员正常行车售票同步到站停车开车门检查车况维持秩序同步开车关车门同步实现初探(二)否打印机可用?否打印机可用?是是设置打印机为不可用设置打印机为不可用打印进程 2打印进程 1获得打印数据获得打印数据打印打印互斥同步实现初探(三)计算进程打印进程完成数据计算是Buffer空?否互斥Buffer空?否Buffer是计算结果送到Buffer从Buffer中取数互斥打印向打印进程发信号通知其从Buffer里取数合作向计算进程发信号通知其向Buffer送数进程间的同步关系进程同步时面临的两种主要关系相互合作司机与售票员计算者与打印者竞争资源多个打印者事件、设备等抽象为资源对进程间关系的处理变为对资源的访问方式 生产者 消费者产品仓 库临界资源临界资源一次只允许一个进程访问的资源资源状态为临界:0 或 1最简单的资源生产者-消费者的同步问题 生产者把产品生产出来,送入仓库。给消费者发信号,消费者得到信号后,到仓库取产品,取走产品后给生产者发信号……临界资源 如果生产者和消费者共享的缓冲池容量为可以存放n件物品(n1)。 由于缓冲器可存n件物品,因此,必须指出缓冲器中什么位置已有物品可供消费,什么位置尚无物品可供生产者存放物品。可以用输入指针in和输出指针out分别指示生产者往缓冲器存物品和消费者从缓冲器取物品的相对位置,它们的初值为0,生产者和消费者按位置的顺序去存物品和取物品,缓冲池被循环使用。 每当生产进程生产并投放一个产品后,输入指针加1,由于缓冲池循环使用,可表示为:in:=(in+1)mod n ; 每当消费者进程取走一个产品后,输出指针加1,由于缓冲池循环使用,可表示为:out:=(out+1)mod n ; 当(in+1)mod n =out 时,表示缓冲池满; 当in = out 时 ,表示缓冲池空; 整型变量counter表示缓冲池中产品的个数,初值为0; no-op是一条空操作指令,while condition do no-op语句表示重复测试条件(condicition),直至条件为false(假)。 局部变量nextp:生产者用于暂时存放刚生产出的产品; 局部变量nextc:消费者暂时存放要消费的产品;Var n , integer ;type item=…var buffer : array[0,1,…,n-1] of itemin , out : 0, 1 , …, n-1;counter : 0, 1, … , n ;producer: repeat…produce an item in nextp;…while counter = n do no-op;buffer[in] : =nextp;in : =(in+1)mod n ;counter : =counter+1 ;until false;consumer: repeatwhile counter = 0 do no-op;nextc : =buffer[out] ;out : =(out+1)mod n ;counter : =counter-1 ;consumer the item in

文档评论(0)

1亿VIP精品文档

相关文档