- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章进程管理2.5管程机制
第二章???进程管理(2)
第二章???进程管理 ( 2 )
2.4 进程同步
2.5 管程机制
2.6 进程通信
2.4 进程的同步
在多道程序系统中,由于资源共享或进程合作,使进程间形成间接相互制约和直接相互制约关系,这需要用进程互斥与同步机制来协调两种制约关系。
进程同步的主要任务是使并发执行的进程间有效的共享资源和相互合作,
进程的同步机制──信号量及P.V操作(解决进程同步互斥问题)
直接作用(相互合作):
进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间
间接作用(资源共享):
进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间
1. 进程间的关系
相互感知程度
交互关系
一个进程对其他进程的影响
相互不感知(完全不了解其它进程的存在)
竞争(competition)
一个进程的操作对其他进程的结果无影响
间接感知(双方都与第三方交互,如共享资源)
通过共享进行协作
一个进程的结果依赖于从其他进程获得的信息
直接感知(双方直接交互,如通信)
通过通信进行协作
一个进程的结果依赖于从其他进程获得的信息
2. 进程的同步(直接作用)
指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪状态
由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。
临界资源:
系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量
3. 进程的互斥(间接作用)
4. 基本概念
进程互斥:指在多道程序环境下,每次只允许一个进程对临界资源进行访问。
进程同步:指多个相关进程在执行次序上的协调。
临界资源:一次仅供一个进程使用的资源。
在进程中涉及到临界资源的程序段叫临界区
多个进程的临界区称为相关临界区
5.使用互斥区的原则
空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入
忙则等待:不允许两个以上的进程同时进入互斥区
有限等待:任何进入互斥区的要求应在有限的时间内得到满足
让权等待:处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权
使用互斥区的原则:
前提:任何进程无权停止其它进程的运行
进程之间相对运行速度无硬性规定
进程互斥的解决有两种做法:
由竞争各方平等协商
引入进程管理者,由管理者来协调竞争各方对互斥资源的使用
具体方法:
硬件(当一个进程进入临界区,就屏蔽所有中断,但成本高)
软件(用编程解决,但常常忙等待)
6.进程互斥的软件方法
通过平等协商方式实现进程互斥的最初方法是软件方法
其基本思路是在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志
其中的主要问题是设置什么标志和如何检查标志
软件解法的缺点:
1. 忙等待
2. 实现过于复杂
3. 需要高的编程技巧
软件解法 (1)
free: 表示临界区标志 true: 有进程在临界区 false:无进程在临界区(初值) ....
while (free); free = false;
临界区
free = true;
软件解法 (2)
turn: true P进入临界区
false Q进入临界区
....
P: while (not turn);
临界区
turn = false;
Q: while (turn);
临界区
turn = true;
软件解法(3)
pturn,qturn: 初值为false
P进入临界区的条件: pturn∧ not qturn
Q进入临界区的条件: not pturn∧ qturn
P .... Q .....
pturn = true; pturn = true;
while (qturn); while (pturn);
临界区 临界区
pturn = false; qturn = false; ... ...
硬件解法 (1) “测试并设置”指令
boolean TS (boolean *lock)
您可能关注的文档
最近下载
- 《广告策划与创意》课件(全).pptx VIP
- 企业财务管理制度十二篇.docx VIP
- 工业行业市场前景及投资研究报告:解析Palantir.pdf VIP
- 检验科标本接收拒收制度标本验收标准.pdf VIP
- 卫生部手术分级目录(2025年版).doc VIP
- 电子束曝光技术.ppt VIP
- 第二单元《燕赵大地连津门》第2课时《津冀之声》课件 人教版二年级音乐上册.pptx VIP
- (2025)全国保密教育线上培训知识考试题库及参考答案.pdf
- 房地产制度与标准 - 绿城项目运营手册之交付后工作操作指引 .docx VIP
- 2024年9月28日福建省事业单位统考《行政职业能力测试》笔试试题.docx VIP
文档评论(0)