CH并发进程.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH3 并发进程 3.1并发进程 3.2临界区管理 3.3信号量与PV操作 3.4管程 3.5进程通信 3.6死锁 3.7实例研究:Windows2000/XP同步和通信机制 3.8实例研究:Linux信号量机制 3.1并发进程 3.1.1顺序程序设计 3.1.2进程的并发性 3.1.3与时间有关的错误 3.1.4进程的交互(Interaction Among Processes):协作和竞争 进程的顺序性 一个进程在顺序处理器上的执行是严格按序的 一个进程只有当一个操作结束后,才能开始后继操作 顺序程序设计(1) 顺序程序设计是把一个程序设计成一个顺序执行的程序模块,顺序的含义不但指一个程序模块内部,也指两个程序模块之间。 顺序程序设计具有如下的特点: 程序执行的顺序性 程序环境的封闭性 程序执行结果的确定性 计算过程的可再现性 顺序程序设计(3) 顺序程序设计的例 while(1) { input,process,output } 顺序程序设计(4) 顺序程序设计的优缺点 顺序程序设计的顺序性、封闭性、确定性和再现性给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。 进程的并发性(1) 进程执行的并发性:一组进程的执行在时间上是重叠的 并发的实质是一个处理器在几个进程之间的多路复用,并发是对有限的物理资源强制行使多用户共享,消除计算机部件之间的互等现象,以提高系统资源利用率。 进程的并发性(2) 从宏观上看,并发性反映一个时间段中几个进程都在同一处理器上,处于运行还未运行结束状态, 从微观上看,任一时刻仅有一个进程在处理器上运行。 无关的并发进程(1) 并发进程分类:无关的,交往的。 无关的并发进程:一组并发进程分别在不同的变量集合上操作,一个进程的执行与其他并发进程的进展无关。 并发进程的无关性是进程的执行与时间无关的一个充分条件,又称为Bernstein条件。 无关的并发进程(2) Bernstein条件: R(pi)={a1,a2,…an},程序pi在执行期间引用的变量集 W(pi)={b1,b2,…bm},程序pi在执行期间改变的变量集 若两个程序的变量集交集之和为空集: R(p1)∩W(p2)∪R(p2)∩W(p1)∪W(p1)∩W(p2)={ } 则并发进程的执行与时间无关。 无关的并发进程(3) 例如,有如下四条语句: S1: a := x + y S2: b := z + 1 S3: c := a – b S4: w := c + 1 于是有:R(S1)={x,y} ,R(S2)={z},R(S3)={a,b},R(S4)={c};W(S1)={a}, W(S2)={b},W(S3)={c},W(S4)={w}。 S1和S2可并发执行,满足Bernstein条件。其他语句并发执行可能会产生与时间有关的错误。 无关的并发进程(4) 两个无关的进程并发执行的例 交往的并发进程(1) 交往的并发进程:一组并发进程共享某些变量,一个进程的执行可能影响其他并发进程的结果。 交往的并发进程(2) 并发程序设计的例子 while(1) { input,send } while(1) { receive,process,send } while(1) { receive,output } 交往的并发进程(3) 并行工作 交往的并发进程(4) 并发程序设计 并发程序设计是:把一个程序设计成若干个可同时执行的程序模块的方法。 并发程序设计的特征: 并行性、 共享性、 制约性、 交互性。 交往的并发进程(5) 并发程序设计的优点 ?对于单处理器系统,可让处理器和各I/O设备同时工作,发挥硬部件的并行能力。 ?对于多处理器系统,可让各进程在不同处理器上物理地并行,加快计算速度。 ?简化了程序设计任务。 交往的并发进程(6) 采用并发程序设计的目的 充分发挥硬件的并行性,提高系统效率。硬件能并行工作仅有了提高效率的可能性,硬部件并行性的实现需要软件技术去利用和发挥,这种软件技术就是并发程序设计。 并发程序设计是多道程序设计的基础,多道程序的实质就是把并发程序设计引入到系统中。 交往的并发进程(7) 与时间有关的错误 对于一组交往的并发进程,执行的相对速度无法相互控制,各种与时间有关的错误就可能出现。 与时间有关错误的表现形式: 结果不唯一 永远等待 交往的并发进程(8) (结果不唯一)机票问题 process Ti ( i = 1,

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档