《操作系统原理》算法-m.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

信号量机制(semaphore)2025/5/13进程同步互斥11965年,由荷兰学者Dijkstra提出(P、V分别是荷兰语的test(proberen)和increment(verhogen))01一种卓有成效的进程同步机制02最初提出的是二元信号量(互斥)推广到一般信号量(多值)(同步)03P、V操作是原语04

整型信号量2025/5/13进程同步互斥2定义一个整数S,仅能通过两个原子操作来访问:wait(S):whileS=0thendono-opS:=S–1;Signal(S):S:=S+1;很明显,不满足让权等待。

记录型信号量2025/5/13进程同步互斥3是一个数据结构01定义如下:02structsemaphore03{04intvalue;05pointer_PCBqueue;06}07信号量说明:08semaphores;09

Wait(P操作)2025/5/13进程同步互斥401wait(s)02{03s.value=s.value-1;04if(s.value0)05{block(S.L);06// 该进程状态置为等待状态07//将PCB插入相应的等待队列s.queue;08}09}

Signal(V操作)2025/5/13进程同步互斥501signal(s)02{03s.value=s.value+1;04if(s.value=0)05{wakeup(S.L);06//唤醒相应等待队列s.queue中等待的一个进程07//改变其状态为就绪态并将其插入就绪队列08}09}

信号量的使用2025/5/13进程同步互斥6初值不能为负数贰必须置一次且只能置一次初值壹只能执行P、V操作叁

用P、V操作解决进程间互斥问题2025/5/13进程同步互斥7P(mutex)P(mutex)V(mutex)V(mutex)P1互斥区P2P(mutex)P3V(mutex)

信号量及P、V操作讨论2025/5/13进程同步互斥8对于两个并发进程,互斥信号量的值仅取1、0和-1三个值1若MUTEX=1表示没有进程进入临界区2若MUTEX=0表示有一个进程进入临界区3若MUTEX=-1表示一个进程进入临界区,另一个进程等待进入。4

信号量的物理含义:0表示有S个资源可用S=0表示无资源可用S0则|S|表示S等待队列中的进程个数P(S):表示申请一个资源V(S):表示释放一个资源。信号量的初值应该大于等于0

AP.V操作必须成对出现,有一个P操作就一定有一个V操作B当为互斥操作时,它们同处于同一进程C当为同步操作时,则不在同一进程中出现D如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要。E一个同步P操作与一个互斥P操作在一起时同步P操作在互斥P操作前F而两个V操作无关紧要

用信号量实现临界区互斥:进程互斥2025/5/13进程同步互斥112020设置一信号量,信号量初值唯一,012021进入临界区以前对信号量执行P操作,022022退出临界区后对信号量执行V操作.03

同步问题可分为两类:进程同步2025/5/13进程同步互斥121保证一组合作进程按确定的次序执行2保证共享缓冲区的合作进程的同步。

合作进程的执行次序2025/5/13进程同步互斥13若干个进程为了完成一个共同任务而并发执行,在这些进程中,有些进程之间有次序的要求,有些进程之间没有次序的要求,为了描述方便,可以用一个图来表示进程集合的执行次序。如图

例如图,试用信号量实现这三个进程的同步。?设有两个信号量SB、SC,初值均为0Pa:Pb:Pc:…P(SB);P(SC)V(SB);……V(SC);

【思考题1】2025/5/13进程同步互斥15如图,试用信号量实现这三个进程的同步。

解设有两个信号量S1、S2,初值均为0P1:P2:P3:……P(S1)V(S1);V(S2);P(S2)…

【思考题2】2025/5/13进程同步互斥17如图,试用信号量实现这6个进程的同步

解设有5个信号量S2、S3、S4、S5、S6,初值均为0P1:P2:P3:…P(S2);P(S3)V(S2);……V(S3);V(S4);V(S6);V(S5)P4:

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档