《操作系统1.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文档。上传文档
查看更多
《操作系统1

管程的基本概念(2) ※管程的定义 一个数据结构和在该数据结构上能被并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。如下图所示。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 由四部分组成 管程的名称 局部于管程内部的共享数据结构说明 对该数据结构进行操作的一组过程 对局部于管程内部的共享数据设置初始值的语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的基本概念(3) ※管程的结构 TYPE 管程名 = MONITOR 共享变量说明; procedure 过程名(形式参数表); begin 过程体; end; …… procedure 过程名(形式参数表); begin 过程体; end; begin 管程的局部数据初始化语句序列; end; 局部于管程内部的数据结构,只能被局部于管程内部的过程所访问;反之,局部于管程内部的过程也只能访问管程内的数据结构 管程相当于围墙,它把共享变量和对它进行操作的若干过程围了起来,所有进程要访问临界资源时,都必须经过管程才能进入,而管程每次只允许一个进程进入管程,从而实现进程互斥。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的特性 模块化 是一个基本程序单位,可单独编译 抽象数据类型 管程中不仅有数据,而且有对数据的操作 信息隐蔽 数据结构和过程的具体实现外部不可见 管程的基本概念(4) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的基本概念(5) 管程与进程作比较 管程定义的是公用数据结构,而进程定义的是私有数据结构PCB; 管程把共享变量上的同步操作集中起来,而临界区却分散在每个进程中; 管程是为管理共享资源而建立的,进程主要是为占有系统资源和实现系统并发性而引入的; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的基本概念(6) 管程与进程作比较 管程是被要使用共享资源的进程所调用的,管程和调用它的进程不能并发工作,而进程之间能并发工作,并发性是进程的固有特性; 管程是OS中一个资源管理模块,供进程调用;而进程有生命周期,由创建而产生、由撤销而消亡 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的基本概念(7) ※条件变量 在管程机制中,当某进程通过管程请求临界资源未能满足时,管程便调用wait原语使该进程等待,但等待的原因可能有多个,为了加以区别,在P,V操作前,引入条件变量加以说明。 条件变量也是一种抽象数据类型,每个条件变量保存了一个链表,用于记录因该条件变量而阻塞的所有进程。 (1)条件变量的定义格式 var x,y: condition; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管程的基本概念(8) ※条件变量 (2)对条件变量执行的两种操作 wait操作(如x.wait):用来阻塞正在调用管程的进程并将其插入到与条件变量x相应的等待队列上,并释放管程,直到x条件变化。此时其它进程可以使用该管程。 signal操作(如x.signal):用来唤醒与条件变量x相应的等待队列的一

文档评论(0)

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

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

1亿VIP精品文档

相关文档