版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 同步、通讯与死锁2020年10月第三章 并发进程3.1 并发进程3.2 临界区管理3.3 信号量与PV操作3.4 管程3.5 进程通讯3.6 死锁3.7 Linux同步机制和通讯机制3.8 Windows 2003同步机制和通讯机制3.1并发进程3.1.1顺序程序设计 3.1.2进程的并发性 3.1.3进程的交互:协作和竞争 进程的顺序性v一个进程在顺序处置器上的执行是严厉按序的,一个进程只需当一个操作终了后,才干开场后继操作v顺序程序设计是把一个程序设计成一个顺序执行的程序模块,顺序的含义不但指一个程序模块内部,也指两个程序模块之间。顺序程序设计特点 程序执行的顺序性 程序环境的封锁
2、性 程序执行结果确实定性 计算过程的可再现性进程的并发性1v进程执行的并发性:一组进程的执行在时间上是重叠的。v并发性举例:有两个进程Aa1、a2、a3和Bb1、b2、b3并发执行。 v从宏观上看,并发性反映一个时间段中几个进程都在同一处置器上,处于运转还未运转终了形状。v从微观上看,任一时辰仅有一个进程在处置器上运转。进程的并发性2 进程i1 i1p1p1i ip po oo1o1i2i2p2p2o2o2i3i3p3p3o3o3t1 t1t2t2t3t3时间时间并行任务并行任务i4i4t4t4i5i5P4P4进程的并发性3v并发的本质是一个处置器在几个进程之间的多路复用,并发是对有限的物理资
3、源强迫行使多用户共享,消除计算机部件之间的互等景象,以提高系统资源利用率。无关的并发进程v并发进程分类:无关的,交往的。v无关的并发进程:一组并发进程分别在不同的变量集合上操作,一个进程的执行与其他并发进程的进展无关。v并发进程的无关性是进程的执行与时间 无 关 的 一 个 充 沛 条 件 , 又 称 为Bernstein条件。v Bernstein条件 R Rpipi=a1,a2,an=a1,a2,an,程序,程序pipi在执行在执行期间援用的变量集期间援用的变量集 W Wpipi=b1,b2,bm=b1,b2,bm,程序,程序pipi在执在执行期间改动的变量集行期间改动的变量集 假设两个程
4、序的变量集交集之和为空集:假设两个程序的变量集交集之和为空集: R Rp1p1WWp2p2RRp2p2WWp1p1WWp1p1WWp2p2= = 那么并发进程的执行与时间无关。那么并发进程的执行与时间无关。Bernstein条件举例 例如,有如下四条语句: S1: a := x + y S2: b := z + 1 S3: c := a b S4: w := c + 1 于是有:RS1=x,y ,RS2=z,RS3=a,b,RS4=c;WS1=a, WS2=b,WS3=c,WS4=w。 S1和S2可并发执行,满足Bernstein条件。其他语句并发执行能够会产生与时间有关的错误。交往的并发进程
5、v交往的并发进程:一组并发进程共享某些变量,一个进程的执行能够影响其他并发进程的结果。并发程序设计的优点对于单处置器系统对于单处置器系统, ,可让处置器和可让处置器和各各I/OI/O设备同时任务设备同时任务, ,发扬硬部件发扬硬部件的并行才干。的并行才干。对于多处置器系统对于多处置器系统, ,可让各进程在可让各进程在不同处置器上物理地并行,加快不同处置器上物理地并行,加快计算速度。计算速度。简化了程序设计义务。简化了程序设计义务。 采用并发程序设计的目的v充沛发扬硬件的并行性,提高系统效率。硬件能并行任务仅有了提高效率的能够性,硬部件并行性的实现需求软件技术去利用和发扬,这种软件技术就是并发程
6、序设计。v并发程序设计是多道程序设计的根底,多道程序的本质就是把并发程序设计引入到系统中。与时间有关的错误v对于一组交往的并发进程,执行的相对速度无法相互控制,各种与时间有关的错误就能够呈现。v与时间有关错误的表现方式:v结果不独一v永远等待 结果不独一机票问题 /飞机票售票问题飞机票售票问题void T1 void T2 按旅客订票要求找到按旅客订票要求找到Aj; 按旅客订票要求找到按旅客订票要求找到Aj; int X1=Aj; int X2=Aj; ifX1=1 ifX2=1 X1-; X2-; Aj=X1; Aj=X2; 输出一张票输出一张票; 输出一张票输出一张票; else else
7、 输出信息输出信息票已售完票已售完; 输出信息输出信息票已售完票已售完; 永远等待主存管理问题 恳求和归还主存资源问题恳求和归还主存资源问题int X=memory; /memory为初始主存容量为初始主存容量void borrowint B void returnint B whileBX X=X+B; 进程进入等待主存资源队列进程进入等待主存资源队列; 修正主存分配表修正主存分配表; X=X-B ; 释放等主存资源进程释放等主存资源进程; 修正主存分配表,进程获得主存资源修正主存分配表,进程获得主存资源; 进程的交往:竞争与协作1第一种是竞争关系 v系统中的多个进程之间彼此无关v系统中的多
8、个进程之间彼此相关 v 资源竞争的两个控制问题:v 一个是死锁Deadlock问题, v 一个是饥饿Starvation问题,既要处置饥饿问题,又要处置死锁问题。进程的交往:竞争与协作2进程互斥Mutual Exclusion 进程互斥是指假设干个进程因相互争夺独占型资源时所产生的竞争制约关系。进程的交往:竞争与协作3第二种是协作关系1 某些进程为完成同一义务需求分工协作。 进程同步指为完成共同义务的并发进程基于某个条件来协调它们的活动,由于需求在某些位置上排定执行的先后次序而等待、传送信号或音讯所产生的协作制约关系。进程的交往:竞争与协作4第二种是协作关系2 进程同步指两个以上进程基于某个条件来协调它们的活
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初级中学教师资格考试综合素质写作立意测试题及答案
- 2026年高考甲卷理综数学考试卷及答案
- 2026年保密知识答题活动真题卷
- 2026年湖南中小学教师招聘考试试题题库及答案
- 2026年湖南省邵阳市中小学教师招聘考试题库及答案
- 2025年辽宁抚顺市中考物理真题试题(含答案)
- 北师大版2 直角三角形第2课时教学设计
- 地理人教版 (2019)第三节 河流地貌的发育教案设计
- 七 蚂蚁与白蚁教学设计小学综合实践活动粤教版三年级下册-粤教版(2016版)
- 危险化学品作业安全技术实际操作考场建设规
- 三效蒸发器操作规程
- 酒店英语面试问题及回答
- 装表接电实训 装表接电概述 课件
- 历史专业英语词汇
- 设计构成PPT完整全套教学课件
- 水文学课件ppt版 课件第七章
- 新教材选择性必修三有机化学基础全册课件
- GB/T 77-2007内六角平端紧定螺钉
- GB/T 28021-2011饰品有害元素的测定光谱法
- GA/T 992-2012停车库(场)出入口控制设备技术要求
- 医学统计学二项分布 课件
评论
0/150
提交评论