- 16
- 0
- 约5.69千字
- 约 23页
- 2020-09-14 发布于广西
- 举报
3.2 临界区管理
互斥与临界区
临界区管理的尝试
软件算法
硬件设施
互斥与临界区
临界区管理的尝试
软件算法
硬件设施
3.2.1 互斥与临界区
• 飞机票售票系统之所以会产生错误,原因在于多个售票进程
交叉访问了共享变量 Aj
• 并发进程中与共享变量有关的程序段叫 “临界区”
(Critical Section),共享变量代表的资源叫 “临界资源”
(Critical Resource)
3.2.1 互斥与临界区 (续)
• 与同一变量有关的临界区分散在各进程的程序段中,而
各进程的执行速度不可预知
• 如果能保证进程在临界区执行时,不让另一个进程进入
临界区,即各进程对共享变量的访问是互斥的,就不会
造成与时间有关的错误
3.2.1 互斥与临界区 (续)
• Dijkstra在1965年首先提出临界区的概念。可以用与一
个共享变量相关的临界区的语句结构来书写交互的并发
进程
shared variable
region variable do statement
• 临界区的嵌套使用
region x do [ … region y do [ … ] …]
region y do [ … region x do [ … ] …]
• 一个进程执行到临界区的语句时,不管该进程目前是否
正在运行,都说它是在临界区内
3.2.1:临界区的调度原则
• 一次至多允许一个进程进入临界区内;
• 如果已有进程在临界区中,试图进入此临界区的其他进
程应等待;
• 进入临界区的进程应在有限时间内退出,以便让等待队
列中的一个进程进入
• 临界区调度原则可总结成四句话:
1. 空闲让进:临界资源空闲时一定要让进程进入,不发生 “互
斥礼让”行为。
2. 忙则等待:临界资源正在使用时外面的进程等待。
3. 有限等待:进程等待进入临界区的时间是有限的,不会发生
“饿死”的情况。
4. 让权等待:进程等待进入临界区时应该放弃CPU的使用。
互斥与临界区
临界区管理的尝试
软件算法
硬件设施
3.2.2 临界区管理的尝试
• 为在具有一个处理器或共享主存的多处理器上执行的并
发进程实现的。方法假定对主存中同一个单元的同时访
问必定由存储器进行仲裁,使其串行化
3.2.2:尝试一
inside 1= false
inside2= false
process P 1 process P2
1. while inside2 do begin end;
2. while inside 1 do begin end;
3. inside 1 := true;
4. inside2 = true;
5. 临界区;
6. 临界区;
7. inside 1 := false;
8. inside2 := false;
9. end; end;
进程 、 同时进入了临界区
P1 P2
3.2.2:尝试一
inside 1= false
inside2= false
process P 1 process P2
1. while inside2 do begin end;
2. while inside 1 do beg
您可能关注的文档
最近下载
- 金字塔原理完整版ppt课件.pptx VIP
- 黑龙江省牡丹江市高职单招2025-2026学年综合素质练习题含答案.pdf VIP
- 战略管理:概念与案例---课件PPT-中文641页.ppt VIP
- 医学影像学诊断报告书写规范(CT_MRI 版).docx VIP
- 黑龙江省实验中学2026届高三学年3月联合模拟考试政治+答案.pdf
- 2026年监理工程师职业资格考试预测卷(一).docx VIP
- 2021“华为杯”第十八届研究生数学建模D题.pdf VIP
- 2026年(五个方面)组织生活会个人对照检查分析4篇.docx VIP
- 《汤普森现代钢琴教程_(一)》.pdf VIP
- 2025年徐州生物工程职业技术学院单招语文测试试卷完整版.docx VIP
原创力文档

文档评论(0)