[理学]计算机操作系统 第二章 进程管理2.pptVIP

[理学]计算机操作系统 第二章 进程管理2.ppt

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

第二章 进程管理(2) 2.3 进程同步 多进程并发执行时,由于资源共享或进程合作,使进程间形成间接相互制约和直接相互制约关系,这需要用进程互斥与同步机制来协调两种制约关系。 进程同步的主要任务:协调进程执行次序,使并发执行的诸进程间能有效地共享资源和相互合作,使程序的执行具有可再现性。 2.3.1 进程同步的基本概念 1.进程间关系 (1)间接相互制约关系:源于资源共享。 (2)直接相互制约关系:源于进程间的合作 并发的进程间相互竞争资源,当一个进程通过操作系统分配到该资源后,其余的进程就必须等待,直到该进程释放资源。这就形成了间接的相互制约。 进程的互斥(间接作用) 进程的互斥(Mutual Exclusion)是解决进程间竞争关系的手段。 若干个进程共享使用同一临界资源时,任何时刻最多允许一个进程去使用,其它要使用该资源的进程必须等待,直到占有资源的进程释放该资源。互斥进程不允许交叉执行。 进程的同步 进程的同步(Synchronization)是解决进程间协作关系的手段。指多个进程间存在某种时序关系,它们必须协同动作、相互配合,以共同完成一个任务。具体地说,一个进程的执行依赖于另一个进程的消息,当一个进程没有得到来自于另一个进程的消息时则等待,直到消息到达才被唤醒。 2.临界资源(critical resouce) P48页:生产—消费者问题,是典型的进程同步问题。 例1:进程P1、P2公用一个变量COUNT,初始值为0。 进程P1 进程P2 r1=count; r2=count; r1++; r2--; count=r1; count=r2; P1、P2两个进程的执行顺序是随机的,P1、P2可能顺序执行或交错执行。不同的执行顺序,COUNT值会不同,这是不允许的。 例2:系统堆栈s内存放空的数据块地址,进程PA和PB向系统请求空数据块。请求时从栈项取出,释放时将释放块地址压入栈项。 Getspace(): g=stack[top]; (1) ?????????? top--; (2) return g; release(ad):top++; (3) ??????????? stack[top]=ad; (4) 若按3—1—2—4的顺序执行,就可能出错。 解决问题的关键是应将共享的变量或区域作为临界资源处理,让各进程互斥地访问各资源。 3.临界区 临界资源:一次只能供一个进程使用,使用完毕后归还系统,才能供其他进程使用的资源。使用临界资源的进程必须互斥进行。 临界区(critical section):每个进程中访问临界资源的那段代码。临界区代码不允许多个并发进程交叉执行。 进程间的互斥可以描述为禁止两个或两个以上的进程同时进入访问同一临界资源的临界区。 临界区互斥访问 进入区:进程进入临界区前的一段检查代码,用于控制进程是否能进入其后的临界区。如果可以进入临界区,要设置相应的“正在访问”标志。 退出区:临界区后面附加的一段代码,用于释放该临界区的被访问标志。 4.同步机制应遵循的规则 (1)空闲让进:当无进程处于临界区内时,必须让一个要求进入临界区的进程立即进入。 (2)忙则等待:当已有进程处于临界区内时,其它试图进入临界区的进程必须等待,以保证互斥。 (3)有限等待:对要求进入临界区的进程,应保证能在有限时间内使之进入,以免陷入“死等”。 (4)让权等待:处于等待状态的进程应释放处理机,以免进程“忙等”。也使其他进程能得到CPU的使用权。 5.进程互斥的软件方法 软件方法的基本思路是在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志 其中的主要问题是设置什么标志和如何检查标志。 软件解法的缺点: 1. 忙等待 2. 实现过于复杂 3. 需要高的编程技巧 6.进程互斥的硬件方法 当一个进程进入临界区,就屏蔽所有中断。 用一条指令完成读和写两个操作,保证读与写操作成为一个整体不被打断。 6.进程互斥的硬件方法 优点: (1)适用范围广,适用于任何数目的互斥进程,用在单处理器和多处理器环境中完全相同 (2)简单:硬件方法标志设置简单,含义明确,容易验证其正确性 (3)支持多个临界区:只需要为每个临界区设置一个布尔标志 缺点: (1)进程在等待进入临界区时也要耗费处理器时间,不能实现“让权等待” (2)可能出现进程“饥饿” 2.3.2 信号量机制 新的同步工具——信号量和P、V操作。 信号量:是一种数据结构,代表可用资源实体的数目。 信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档