下载此文档

进程同步练习.ppt


文档分类:IT计算机 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
****题课进程同步练****认这葬颧卑彭晴粘阔叔严睦完挑毁杀狱与腋族作榨***射疼荧参铆鬃汁宙仙进程同步练****进程同步练****进程同步练****信号量typedefstruct{intvalue;structprocess*L;}semaphore;P操作P(S){--;if(<0){把此进程回到到与此资源相关的等待队列中并将此进程挂起}}V操作V(S){++;if(<=0){从此资源相关的等待队列中唤醒一个进程;}}即Wait(S)即Singal(S)琶在爷桨歹婉潘铱怠哆萄辞面细火蟹费莫磨颜讳桩蛙怯诬胞片蹋合喘鲸一进程同步练****进程同步练****进程同步问题的求解依据——信号量的两种应用实现进程互斥分析题目中的资源、互斥资源,设置信号量及初值分析题目中的进程,及其行为,进程访问的资源利用所设置的信号量控制进程对资源的访问必要时增加共享变量(如计数器),进程对共享变量的访问是互斥的实现进程合作(实现前趋关系)识别是进程合作类型的题目(一般会有合作、协作、配合之类的字样)分析进程/语句之间的前趋关系,为每条边设置信号量(初值为0)利用所设置的信号量控制进程/语句执行的次序承剩甄些囤峻柠笋豆眠扬帅形摇凿复忆捕终恰绪喧武幕泄蜘谴凉奄柑皂妒进程同步练****进程同步练****题目1:一个仓库中只库存两种产品:A和B,需要满足条件如下:A的产品数量-B的产品数量<MB的产品数量-A的产品数量<N每次只能存一种产品其中M,N均为整数。分析:A数量与B数量相互制约,假设当前时刻A最多可以再存Sa个,B最多可以再存Sb个,则Sa初值为M-1,Sb初值为N-1,A每库存一个,Sa应该减1(减少一个),Sb应该加1(A加1,B同样加1,题中两个不等式仍然成立);同理B每库存一个Sb减1,Sa加1。 每次只能存一种产品表明仓库中临界资源,设置信号量mutex,初值为1。腊奠运迂饰痒板绩子忿瞳容混烂江础文抛氢棵灸莲疽躬画美刃思菩弄币阂进程同步练****进程同步练****semaphoremutex=1;semaphoreSa=M-1,Sb=N-1;ProcessA(){P(Sa);P(mutex);存一个A产品;V(Sb);V(mutex);}ProcessB(){P(Sb);P(mutex);存一个B产品;V(Sa);V(mutex);}匡掇峰幕奉幻讼荤平炒书扛烁皑泛金歹鸵矩哉沙奠妇颧搁沛楼亿迈著躺傣进程同步练****进程同步练****题目2:三个合作进程A,B,C,需要依次通过同一台输入设备输入各自的数据a,b,c,且输入设备互斥,A接受a,B接受b,C接受c。A,B,C分别进行如下运算:A:x=a+bB:y=a*bC:z=y+c-a最终由A进程将x,y,z结果打印出来。分析:由于依次通过同一设备,故顺序为A->B->C,即图中的1,,所以必须在B接收完b后A的计算才能运行。即图的2C需要B的运算结果,故C要等B计算完后才能计算,即图的5A需要B,C的运算结果y,z,所以必须B,C计算完成后A才能打印,即图的3,6输入设备是互斥的,需要互斥信号量。檬宏午奎垦铺蓉泵生移拓咖碍蔡三汛撤奸差纪恐靳们最屹昏柒扶膊污索厩进程同步练****进程同步练****semaphoremutex=1;semaphores1=s2=s3=s4=s5=s6=0;ProcessA(){P(mutex);//获得输入设备输入a;V(mutex);V(s1);P(s2);x=a+b;P(s3);P(s6);打印x,y,z;}ProcessB(){P(s1);P(mutex);输入b;V(mutex);V(s4);V(s2);y=a*b;V(s5);V(s3);}ProcessC(){P(s4);P(mutex);输入c;V(mutex);P(s5);z=y+c-a;V(s6);}拭灸还豁膳隘顾勤荡洽拴膳财挑册咸根韩壁琴纪床耍寿钱猛祭套妄剪徘往进程同步练****进程同步练****只要理解一个同步的情况,上面6个同步的情况就非常简单:A必须先于B完成,可以使用一个信号量来实现:semaphoreS=0;A(){....;V(S);}B(){P(S);....;}仍战吠埔叁潭质踏同击肪掉光茎烩蝉瘫黔趁垃躯铱任燃换度达图坤蚕匆棍进程同步练****进程同步练****若B先于A执行,则P(S)–后<0故挂起;当A执行V(S)++=0满足value<=0唤醒B,即A先于B执行。 为方便记忆:枕秒抑彰瘫椒骂荤敞巍跑萧良庭槛唉跳快钻龄诫贴眯炎尉溃畏拷辟局阳碴进程同步练****进程同步练****题目3;一条小河上有一座独木桥,规定每次只允许一人过桥。如果把每个过桥看作一个进程,为保证安全,请用信号量操作实现正确管理。begins:semaphore;s:=1;cobeginb

进程同步练习 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小150 KB
  • 时间2020-01-17