操作系统第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文档。上传文档
查看更多
操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 1、模型 Pc Pp repeat wait(Bufempty); 计算; Buf-计算结果; Bufempty-false; signal(Buffull); Until false repeat wait(Buffull); 打印缓冲区中的数据; Buffull-false; signal(Bufempty); Until false 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 2、说明 (1) 设置了两个消息Bufempty和Buffull,分别表示buffer空和满 (2) 初始化Bufempty=true,Buffull=false (3) wait(消息名):表示进程等待合作进程发来的消息 (4) signal(消息名):表示合作进程发送消息 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 三、使用信号量实现同步 1、私有信号量(Private Semaphore) 只与制约进程及被制约进程相关,而与整组并发进程无关。 相对实现互斥的信号量也称为公用信号量。 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 2、同步的实现步骤 (1) 定义私有信号量 (2) 为私有信号量赋初值 (3) 利用P/V原语规定进程的执行顺序 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 例如:进程Pa和进程Pb通过缓冲区队列传递数据。Pa为发送进程;Pb为接收进程。数据的接收和发送满足下面的条件:(1)缓冲区空时,Pb不能从中取数据;(2)Pa往缓冲区写数据时,缓冲区必须有一块为空;(3)缓冲区中的缓冲块按先进先出(FIFO)的方式排列。 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 解: (1)设置私有信号量并赋初值Bufempty=n,Buffull=0; (2)Pa进程的发送过程的实现(deposit(data)) 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 (3) Pb进程的接收过程的实现(remove(data)) 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 四、生产者——消费者问题 1、生产者——消费者问题 有m个生产者和k个消费者,连接在一个有n个单位缓冲区的有界缓冲上。其中,pi和cj都是并发进程,只要缓冲区未满,生产者pi生产的产品就可投入缓冲区;只要缓冲区不空,消费者进程cj就可从缓冲区取走并消耗产品。 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 m个生产者 k个消费者 n个单位缓冲区 2、生产者——消费者模型 把系统中使用某类资源的进程称为消费者; 把释放同类资源的进程称为生产者。 操作系统(Operating Systems) 授课:赵俊生 版权所有:内蒙古工业大学信息工程学院 计算机系操作系统课程组 计算机专业核心课程 3.6 进程同步 3、信号量解决生产者——消费者问题 1)设置公有信号量mutex,以实现互斥; 2)设置私有信号量empty和full,以实现同步; 3)赋初值:empty=k, full=0, mutex=1; 4)实现deposit(data)和remove(data)操作 操作系统(Operating Systems) 授课:赵俊生 版权所有

文档评论(0)

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

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

1亿VIP精品文档

相关文档