欢迎来到天天文库
浏览记录
ID:59808326
大小:170.50 KB
页数:13页
时间:2020-11-25
《计算机原理第057讲课稿.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机原理第057操作顺序冲突有3个进程:get,copy和put,它们对4个存储区域f、s、t和g进行操作。有6种可能的操作顺序,只有一种结果是正确的。进程的交互关系:可以按照相互感知的程度来分类互斥,指多个进程不能同时使用同一个资源;死锁,指多个进程互不相让,都得不到足够的资源;饥饿,指一个进程一直得不到资源(其他进程可能轮流占用资源)同步机制应遵循的准则空闲则入:其他进程均不处于临界区;忙则等待:已有进程处于其临界区;有限等待:等待进入临界区的进程不能"死等";让权等待:不能进入临界区的进程,应释放CPU(如转换到阻塞状态
2、)进程互斥的软件方法有两个进程Pi,Pj,其中的Pi算法1:单标志设立一个公用整型变量turn:描述允许进入临界区的进程标识在进入区循环检查是否允许本进程进入:turn为i时,进程Pi可进入;在退出区修改允许进入进程标识:进程Pi退出时,改turn为进程Pj的标识j;缺点:强制轮流进入临界区,没有考虑进程的实际需要。容易造成资源利用不充分:在Pi出让临界区之后,Pj使用临界区之前,Pi不可能再次使用临界区;算法2:双标志、先检查设立一个标志数组flag[]:描述进程是否在临界区,初值均为FALSE。先检查,后修改:在进入区检查另
3、一个进程是否在临界区,不在时修改本进程在临界区的标志;在退出区修改本进程在临界区的标志;优点:不用交替进入,可连续使用;缺点:Pi和Pj可能同时进入临界区。按下面序列执行时,会同时进入:"PiPjPiPj"。即在检查对方flag之后和切换自己flag之前有一段时间,结果都检查通过。这里的问题出在检查和修改操作不能连续进行。算法3:双标志、后检查类似于算法2,与互斥算法2的区别在于先修改后检查。可防止两个进程同时进入临界区。缺点:Pi和Pj可能都进入不了临界区。按下面序列执行时,会都进不了临界区:"Pi4、>PjPiPj"。即在切换自己flag之后和检查对方flag之前有一段时间,结果都切换flag,都检查不通过。算法4(Peterson’sAlgorithm):先修改、后检查、后修改者等待结合算法1和算法3,是正确的算法turn=j;描述可进入的进程(同时修改标志时)在进入区先修改后检查,并检查并发修改的先后:检查对方flag,如果不在临界区则自己进入--空闲则入否则再检查turn:保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入--先到先入,后到等待此课件下载可自行编辑修改,仅供参考!感谢您的支持5、,我们努力做得更好!谢谢
4、>PjPiPj"。即在切换自己flag之后和检查对方flag之前有一段时间,结果都切换flag,都检查不通过。算法4(Peterson’sAlgorithm):先修改、后检查、后修改者等待结合算法1和算法3,是正确的算法turn=j;描述可进入的进程(同时修改标志时)在进入区先修改后检查,并检查并发修改的先后:检查对方flag,如果不在临界区则自己进入--空闲则入否则再检查turn:保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入--先到先入,后到等待此课件下载可自行编辑修改,仅供参考!感谢您的支持
5、,我们努力做得更好!谢谢
此文档下载收益归作者所有