操作系统海第4讲.pptVIP

  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文档。上传文档
查看更多
操作系统海第4讲

操作系统概念 第四讲 进程互斥与同步 上章回顾 进程与程序的区别? 什么是PCB?与进程上下文的区别? 本课总体纲要 进程互斥( Mutual Exclusion on Processes) 临界区准则(Critical Section Rule) 加锁实现互斥(Mutual Exclusion) 信号量实现互斥(semaphore) 两种互斥方式的区别 进程同步(Synchronization) P,V原语实现同步 生产者消费者问题 读-写问题 哲学家就餐问题 进程互斥 互斥:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。 不允许两个以上的共享该资源的进程同时进入临界区 临界区: (Critical Section) 把不允许多个并发进程交叉执行的一段程序称作临界区。 并发进程互斥协调准则 不能假设各并发程序的相对执行速度,各并发进程享有平等、独立的竞争公共资源的权利 并发进程中某个进程不在临界区时,它不阻止其他进程进入临界区 并发进程中的若干各进程申请进入临界区时,只能允许一个进程进入 并发进程中某个进程申请进入临界区,应该在有限的时间内进入 本课总体纲要 进程互斥( Mutual Exclusion on Processes) 临界区准则(Critical Section Rule) 加锁实现互斥(Mutual Exclusion) 信号量实现互斥(semaphore) 两种互斥方式的区别 进程同步(Synchronization) P,V原语实现同步 生产者消费者问题 读-写问题 哲学家就餐问题 加锁实现互斥(1)-单标志法 P0: While turn!=0 do{nothing} 临界区 Turn:=1 P1: While turn!=1 do{nothing} 临界区 Turn:=0 加锁实现互斥(2)-双标志法 P0: While flag[1] do{nothing} Flag[0]:=true; 临界区 Flag[0]:=false; P1: While flag[0] do{nothing} Flag[1]:=true; 临界区 Flag[1]:=false; 加锁实现互斥(3)-双标志法改进版 P0: Flag[0]:=true; While flag[1] do{nothing} 临界区 Flag[0]:=false; P1: Flag[1]:=true; While flag[0] do{nothing} 临界区 Flag[1]:=false; 加锁实现互斥(4)-双标志法改进版 P0: Flag[0]:=true; While Flag[1] do{ Flag[0]:=false; 延迟一段时间 Flag[0]:=true; } 临界区 Flag[0]:=false; P1: Flag[1]:=true; While Flag[0] do{ Flag[1]:=false; 延迟一段时间 Flag[1]:=true; } 临界区 Flag[1]:=false; 本课总体纲要 进程互斥( Mutual Exclusion on Processes) 临界区准则(Critical Section Rule) 加锁实现互斥(Mutual Exclusion) 信号量实现互斥(semaphore) 两种互斥方式的区别 进程同步(Synchronization) P,V原语实现同步 生产者消费者问题 读-写问题 哲学家就餐问题 信号量(semaphore) P0: A:lock(w) CS Unlock(w) Goto A P1: A:lock(w) CS Unlock(w) Goto A 信号量(sem): 在操作系统中,信号量一般是一整数, 当sem=0:可供并发进程使用的资源实体数。 当sem0:表示正在等待进入临界区的进程数。 sem的初始化值为1。 P,V原语 P原语操作 V原语操作 P,V原语实现进程互斥 描述P0,P1并发进程互斥: 设sem取值(1,0,-1) Sem=1表示p0,p1都未进入临界区 sem=0表示p0或p1进入临界区 Sem=-1表示在p0和p1进程中,一个进程已经进入临界区,另一个处于等待进入临界区状态。 P0: P(sem) CS V(sem) P1: P(sem) CS V(sem) … 本课总体纲要 进程互斥( Mutual Exclusion on Processes) 临界区准则(Critical Section Rule) 加锁实现互斥(Mutual Exclusion) 信号量实现互斥(semaphore) 两种互斥方式的区别 进程同步(Synchronization)

文档评论(0)

186****0772 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档