进程并发制约关系及临界区.pdf
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程并发制约关系及临界区北京交通大学
计算机学院
翟高寿
并发进程间制约关系
❑资源共享关系−间接制约
多个进程彼此无关,完全不知道或只能间接感知其它进程的存在
系统须保证诸进程能互斥地访问临界资源
系统资源应统一分配,而不允许用户进程直接用❑相互合作关系−直接制约
系统应保证相互合作的诸进程在执行次序上的协调和防止与时间有关的差错
临界资源
❑一段时间内只允许一个进程访问的资源
许多物理设备、变量及表格
❑举例
两个进程A、B共享变量n(初值为0)
A[循环]: 生产数据B[循环]: 生产数据
if (n 放数据到Buf[n]; 放数据到Buf[n]; n:=n+1;n:=n+1; 共享变量n不互斥访问的后果:(1) AB两个进程把数据放到同一缓冲数组元素,冲掉前一个数据; (2) n值和数据量不一致;(3) 缓冲满时强放数据 临界区 ❑每个进程中访问临界资源的那段代码称为临界区 ❑保证诸进程互斥地进入自己的临界区是实现它们对临界资源的互斥访问的充要条件 访问临界资源的循环进程描述 进程P i begin repeat …… 进入区 临界区 退出区 …… until false; end 主程序描述框架 begin parbegin P i ; P j ; parend end 知行合一, 开拓进取! 进程并发制约关系与临界区■