- 26
- 0
- 约3.91千字
- 约 5页
- 2016-09-09 发布于重庆
- 举报
互斥与同步的解决方法
互斥与同步的解决方法
=硬件方法
---采用软件方法实现进程互斥使用临界资源是很困难的,他们通常能实现两个进程的互斥,很难控制多个进程的互斥。
---算法设计需要非常小心,否则可能出现死锁,或互斥失败等严重问题。
---软件方法始终不能解决忙等现象,降低系统效率,
---硬件发放包括屏蔽中断和专用机器指令。
+屏蔽中断
---由于进程切换需要依赖中断来实现,如果屏蔽中断则不会出现进程切换。
---因此,为了实现对临界资源的互斥使用,可以在进程进入临界区之前,屏蔽中断,当进程退出临界区时,打开系统中断。
---中断被屏蔽以后,系统时钟中断也被屏蔽。处理机将不会被切换到其它进程。
---于是,一旦屏蔽中断,进程就可以检查和修改共享内存区中的数据,而不必担心其他进程介入,其伪代码如下:
Repeat
<屏蔽中断>;
<临界区>;
<打开中断>;
<其余部分>;
Forever。
---这种方法约束条件太强,付出的代价太大。
---因为中断被屏蔽以后,系统将无法响应任何外部请求,也不会响应当前执行进程的任何异常及系统故障,严重的降低了处理机性能。
---这种方法仅对单处理机系统有效,如果系统有两个或多个共享内存的处理机,屏蔽中断仅仅对执行本指令的处理机有效,其他处理机仍将继续运行,并可以访问共享内存空间。
=专用机器指令
---利用一些专用机器指令也能实现互斥,机器指令在一个指令周期内执行,不会受到其他指令的干扰,也不会被中断。
---Test and Set指令就是较长用的一种机器指令,其定义如下:
·testset指令
Function testset(var i:integer):Boolean;
Begin
If i =0 then
Begin
i:=1;
testset:=true;
end
else testest:=false;
end.
Program mutualexclusion;
Constn n=…;/*进程数*/
Var bolt:integer;
Procedure P(i:integer);
Begin
Repeat
Repeat {nothing}until testset(bolt);
<临界区>;
Bolt:=0;
<其余部分>
Forever
End;
Begin/*主程序*/
Bolt:=0;
parbegain
P(1);
P(2);
…
P(n)
Parend
End.
·exchange指令
Procedure exchange(var r:register;var m:memory);
Var temp;
Begin
Temp:=m
m:=r;
r:=temp;
end.
Program mutualexclusion;
Constn n=…;/*进程数*/
Var bolt:integer;
Procedure P(i:integer);
Var key:integer;
Begin
Repeat
Key:=1
Repeat exchange(key,bolt)until key=0;
<临界区>;
exchange(key,bolt);
<其余部分>
Forever
End;
Begin/*主程序*/
Bolt:=0;
parbegain
P(1);
P(2);
…
P(n)
Parend
End.
+机器指令优点
---非常简单,易于证明;
---同时适用于单处理机系统和共享内存的多处理机系统中多个进程互斥;
---可以分别为临界区设置属于他自己的变量,以实现对多个临界区的互斥访问。
+机器指令缺点
---忙等现象仍然存在,进程都需要循环检测,等待时机进入临界区。但是,由于采用了机器指令,这种忙等消耗的机器时间比软件方法小,属于“可接受的忙等”。
---可能出现饥饿现象。当临界区空闲时,执行循环检测的若干个等待进程能进入临界区的几率是相等的,有的进程可能运气非常不好,很难有机会进入临界区,而饥饿。
---还有可能导致死锁
---例如,进程P1的优先级低于P2的优先级,若P1通过执行专
您可能关注的文档
- 买食用油最好的5对策.doc
- 事业单位产生的特殊背景.doc
- 事业单位考试公共基础知识地理常识之太阳活动.doc
- 事业单位的概念和分类.doc
- 二1《水能溶解一些物质》学案.doc
- 二值图像边缘形态学处理的方法.doc
- 二季度化学监督季总结.doc
- 二年级举一反三第9讲天平平衡.doc
- 二十种扎头发的方法.doc
- 二次函数的平移规律.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)